📅  最后修改于: 2023-12-03 15:18:06.464000             🧑  作者: Mango
本篇文章将分享 One97 公司面试经历,是第 3 组面试,岗位为后端 Node.js 开发人员。下面将详细描述整个面试流程,包括准备过程和面试问题。
在面试前,我先了解了 One97 公司的业务和技术栈,并针对职位的要求进行了复习和准备,包括以下知识点:
整个面试分为两轮,分别对应技术面和 HR 面。
面试官先介绍了 One97 公司的业务和技术栈,然后根据我的简历和经验开始提问。
node.js 中的事件循环是什么?它有什么作用?
Node.js 异步编程的方式有哪些?请以 setTimeout 和 Promise 为例说明其原理。
如何设计一个满足 RESTful 风格的 API 接口?举例说明。
请给出一条 MySQL 语句,实现将某个表中字段加一操作的功能。
UPDATE table SET field=field+1 WHERE condition
一道算法题:如何设计一个算法,找出一个链表中的倒数第 k 个结点?请实现该算法。
// 解题思路:使用快慢指针,让快指针先走 k 步,然后两个指针一起走,当快指针到达链表尾部时,慢指针指向的即为结果
function findKthLastNode(head, k) {
if (head === null || k <= 0) {
return null;
}
let fast = head;
let slow = head;
for (let i = 1; i <= k; i++) {
if (fast === null) {
return null;
}
fast = fast.next;
}
while (fast !== null) {
fast = fast.next;
slow = slow.next;
}
return slow;
}
面试官根据我的答案和表现进行了总结和反馈,提出了一些可以改进的地方,并对我的技术水平给予了肯定。
HR 面主要是考察性格和沟通能力,包括个人的职业规划和公司文化的了解等。
面试官根据我的回答和表现进行了总结和反馈,对我的职业规划给予了一些建议,并询问了我的可用时间和期望薪资等方面的信息。
在整个面试过程中,我对自己的知识水平进行了全面的复习和准备,并在技术面中充分展示了自己的技术能力,充分证明了自己的背景和能力与职位的匹配度。同时,在 HR 面中,我思维开放、做事认真负责且能与人沟通协调的优秀品质也逐渐显露出来。最终,我通过了 One97 公司的面试,并加入了这个优秀的团队里。