📅  最后修改于: 2023-12-03 15:15:06.660000             🧑  作者: Mango
Flipkart 是一个印度的电子商务公司,旗下拥有一个电子商务平台,为印度及周边地区的消费者和小型卖家提供售卖和购买产品的平台。在 Flipkart 上,你可以购买各种商品,比如电子产品、家居用品、图书、服装等等。Flipkart 的团队非常强大,是一个技术驱动型的组织,所以在这里工作可以让你接触到许多创新的技术和思想。
本文将分享一位具有 1-10 年经验的 SDE 1 在 Flipkart 面试的经验,包括面试难度、面试流程、面试题目以及答案等。希望能对准备面试的程序员有所帮助。
Flipkart 的面试难度较高,特别是在技术方面。在面试过程中,面试官会用简单的问题来评估你的基本技能,但是后面的问题会越来越具有挑战性。Flipkart 的问题往往会非常细节化,需要考虑各种边界情况。
Flipkart 的面试流程通常包括以下几个环节:
线上评估:这一环节通常是通过在线测验的方式来测试你的编程技能和基本的数据结构、算法知识。这一步包括多项选择题和编程题,时间一般为 2-3 小时。
技术面试:根据你在线上评估的成果, Flipkart 的 HR 会选择符合要求的候选人约面技术面试。面试官会主要测试你的技术深度和面向对象编程能力,以及你的项目经验等。
技术大众面试:这一环节是为了更好地了解你适应团队和公司文化和氛围的能力。它通常会涵盖一个团队的多个面试官,并会问一些行业特定问题,以进行深入挖掘。
HR 面试:在此环节中 HR 会与你进一步了解人员判断和谈判能力,谈论你的个人生活及工作经验。
以下是一些在 Flipkart 面试中可能会被提及的常见问题:
在 JavaScript 中,什么是闭包?如何使用它?请给出一个示例。
如何使用纯 CSS 创建三角形?
什么是事件传播?列出代表事件传播的 DOM 属性和方法。
在 java 中,什么是反射?如何使用它?
假设你正在实现一个路由器,你将如何查找给定 URL 的处理程序?
请解释什么是 CSRF 攻击,并提供如何防止 CSRF 攻击的方法。
这些问题的难度取决于你的技术水平,但无论你的经验水平如何,你都应该准备回答这些问题。
这里提供一些在 Flipkart 面试回答以上问题的参考答案:
闭包是指一个函数可以访问其父作用域中定义的变量。在 JavaScript 中,一个常见的使用案例是保留常量。
示例:
function makeAdder(x) {
return function(y) {
return x + y;
};
}
var addToTen = makeAdder(10);
addToTen(20); // 30
只需使用 CSS 的 border 属性,设置其中三边的颜色/透明度为0并使它们占据页面空间。
示例:
.triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #ccc;
}
事件传播指将事件从其目标元素传播到 DOM 树中的其他元素的过程。DOM 事件传播分为三个阶段:捕获阶段、目标阶段和冒泡阶段。
以下是相关属性和方法:
event.stopPropagation()
阻止事件传播到父级元素。event.stopImmediatePropagation()
立即停止事件的传播,阻止与事件相关的任何其他处理程序运行。event.target
返回被点击的元素。event.currentTarget
返回处理程序附加到的当前元素。反射是指在运行时根据一个类名字符串动态地访问、检查和修改该类的方法、字段和构造函数等。反射可与 Java 中的任何对象一起使用。
示例:
Class c = Class.forName("com.example.MyClass");
Method[] methods = c.getDeclaredMethods();
for (Method m : methods) {
System.out.println(m.getName());
}
实现路由器时,会使用“路由表”,该表将 URL 映射到处理程序代码。对于给定的 URL,我们通常会首先去寻找实现该 URL 处理的代码,然后在该代码中执行。
CSRF 攻击是指攻击者利用用户的登录秘密通过伪装公共服务向用户发出其登录凭据。要防止CSRF攻击,可以实施以下方法:
a) Token 验证: CSRF Tokens 是用于识别客户端和服务器关系的令牌。开发人员可以使用 CSRF Tokens 防止 CSRF 攻击。
b) Referer 验证:请求头字段 Referer 可以用来验证请求是否来自同一域。
c) 请求验证:可以对请求进行验证,在服务器上检查检查每个请求,如果请求中的关键字或方法错误,服务器将忽略它。
希望以上内容会对准备面试的程序员有所帮助。