我在 LinkedIn 上申请并被招聘人员联系。
之后,我收到了一个包含三个问题的在线测试链接。我已经解决了所有三个。
几天后,我收到了一封来自招聘人员的电子邮件,安排了虚拟面试。
招聘人员告诉我,每一轮都是淘汰轮,意思是如果我表现不好,他们就不会进入下一轮。一共计划了三轮。 [2 技术 + 1(技术 + 管理)]。
第 1 轮 [1 小时]: SDE-2 拦截了它。他的沟通和技术能力非常出色。
他首先介绍了自己,然后询问了我的情况。然后他转向面试问题:
- 创建一个单例类。
- 究竟什么是规范化?我们为什么要练习规范化?什么是正常形式?举例说明。
- 详细解释您项目的任何方面。
- 为什么在你的项目中使用了 Kafka?
- 同步和异步通信有什么区别,为什么要使用它?
- 进程和线程的区别
- 用方括号和方括号外的数字解码编码字符串。例如: 3[a2[b]] 是给定的字符串。和输出:abbabbabb
结果:面试非常顺利。我的结果很快就得到了招聘人员的回复。我是在大约 2-3 小时后才发现我通过了面试。
第 2 轮[1 小时]:高级工程师和团队负责人负责此任务。和他交谈很有趣,而且知识渊博。采访从他的介绍开始,然后是我的介绍。
- 他询问了我的项目。
- REST究竟是什么? HTTP 是 REST 的必需协议吗?
- REST 的重点是什么?为什么不使用 SOAP?
- OOP 的原理是什么?
- 举一个多态的例子。
- SOLID 原则究竟是什么?
- 然后他给了我一个编码问题 [https://www.geeksforgeeks.org/word-ladder-length-of-shortest-chain-to-reach-a-target-word/]。
不是返回最短转换序列的长度,而是要求我返回转换序列本身。我以前从未见过这个问题。我花了大约 20 分钟来想出一个解决方案,然后又花了 20 分钟来编写代码(测试用例的试运行 + 向面试官解释所花的时间)。我在 DFS 中编码它,但后来意识到它可以在 BFS 中更好地接近。所以,最后,我只是告诉我的面试官,BFS 会是一个更好的方法,我们讨论了它。
结果:我通过了面试。
第 3 轮 [1 小时]:一位工程经理接受了这个。
- 在采访中,她很亲切,对我的做法也很细心。她询问了我当前的项目,以及采用的技术的内容和原因。然后她让我创建一个带有警报选项的重试机制(如果重试次数超过某个阈值,则应向预先配置的媒体(例如 Slack、电子邮件等)生成警报。重点主要是 LLD部分。
- 我讨论了一些方法并解释了我创建一个单独的重试服务来进行重试、一个单独的重试配置类、使用策略模式来选择警报介质等的想法。她似乎对我的设计很满意,并要求我编写课程。在审查并向她解释后,她对我的设计很满意。她称赞我的设计。
总的来说,我在这一轮之后感觉非常好。
结果:选中