阿里飞猪三面

(有许多人是用青春的幸福作成功的代价的。——莫扎特)

在这里插入图片描述

背景

该岗位是阿里飞猪的前端部门,岗位名称是node.js高级/专家开发工程师。主要负责用NodeJs作为后端技术,向上层Java,Node等业务服务,提供中间层基础设施,再提供给下游服务接口服务。
目标职级为社招的P6。薪资范围为25-40K。
不过很可惜的是,作者在第三面笔试题后的第二天就收到了不合适的反馈。
以下出现的观点,仅是作者本人的观点,如果有不合适的地方请及时提出,作者会及时进行反馈和解决。

流程

先在Boss上投递了对应岗位,如果简历合适,那么1-2天就会收到电话面试邀约。
整体来说,阿里的面试官态度非常好,在你回答不上的时候会适当给你一些提醒,就算确实回答不了的,多半也会告诉你答案,在面试结尾,通常会给你一些改进的建议等。技术上就更别说了,很是厉害,下一轮的面试官会根据你上一轮的面试结果进行针对性的提问,会尽可能的考察你各个技术维度的边界,快速找到你的技术壁垒和弱项。

一面

对方会通过呼叫系统的呼入座机打给你,整个过程大概40-50分钟。该面试官通常是该岗位的直属领导。

二面

如果一面聊的不错,那么大约在5天左右会受到第二轮的面试邀约。该面试官通常是你直属领导的领导,技术总监级别的人物。面试通过邮件邀约,线上视频的形式进行面试。

三面

如果二面聊的不错,那么会在第二天收到一面面试官的电话邀约,和你约定时间进入线上笔试题阶段,该笔试题系统是阿里内部的探花笔试系统,整个笔试阶段可以不开摄像头,因为面试官会实时查看你写的代码。

四面

如果三面通过,那么会收到四面的邀约(遗憾的是作者没有撑到四面),四面通常是其他业务部门的技术总监来交叉面试

五面

如果四面通过,那么会收到五面的HRBP邀约,主要聊你的职业规划,价值观等

后续

五面全部通过后,会对你进行背调和体检审核,通过后就给你发offer了

阿里飞猪一面

一面的问题我并没有记录,不过大多数问题更接近日常工作应用和线上实际场景,主要考察的是候选人实际工作用到的技术和业务。
一面的面试官是你应聘岗位的直属领导。
以下问题因为没有提前整理,问题可能有疏漏并且不分先后。

  • 自我介绍
  • NodeJs事件循环原理
  • mongodb和mysql区别
  • mongodb数据库的索引结构原理
  • 分库分表方案
  • B+数为什么达到2500行时会出现性能瓶颈
  • docker的优缺点
  • 讲一个你参与或主导的架构,说一下原理和解决的问题
  • typescript的优缺点
  • typescript自定义注解的使用和原理
  • 说一下你用到的nodejs框架以及他们之间的优缺点
  • midway是否有了解
  • eggjs的缺点
  • nestjs的特性
  • 有没有遇到过线上的高cpu和高内存问题,如何排查和解决
  • 如何在node中调用c++,以及如何在node中调用java代码
  • 断网情况下,ping localhost是否能ping通
  • 微服务是否了解,你们如何做的微服务架构设计
  • 详细说明链表,和数组的区别

阿里飞猪二面

一面到二面隔了差不多5天,二面面试官是在周末给我发的面试邀约。面试的问题更偏向基础和底层原理。作者在这里栽了跟头,很多基础和底层原理的问题没有回答好。不过二面接近结束的时候,面试官会给一些技术,业务以及面试上的建议,十分贴心。

  • 面试官描述面试流程,四个阶段,自我介绍,讲项目,问一些基础问题,向面试官提问
  • 自我介绍
  • 讲一下你项目经历中有难度的项目,它的难点在哪里,以及你如何解决
  • uncode和utf-8区别
  • utf-8和utf16区别
  • nodejs事件循环队列原理
  • pm2多进程原理
  • 进程守护的原理
  • cluster的fork和child.process是什么
  • 多个进程如何共享一个端口号
  • https的对称加密和非对称加密都用在哪里
  • https对什么做了加密
  • react_hooks原理
  • 函数式编程
  • 函数式编程纯函数
  • 柯里化函数
  • 进程和线程
  • 线程间如何数据共享
  • 线程间在内存里如何数据共享
  • Java对象内存分配是否安全以及如何解决
  • v8虚拟机如何优化代码
  • v8虚拟机如何对数组进行优化
  • 线上NodeJs服务cpu高的问题如何排查和解决
  • stream模块有没有用过,都用在了哪些地方,有处理过http等请求吗

阿里飞猪三面

三面是一面的面试官给你发探花线上笔试题,会先通过电话给你讲一遍笔试题和预期的结果。
总共只有两道笔试题。

  • 异步并发控制
    • 多个异步任务,需要一个一个的进行串行执行
    • 多个异步任务,需要每两个并行处理
  • 给定一个字符串数组[“{”, “}”, “[”, “]”, “(”, “)”],要求判断数组元素内字符串必须保持连续性,否则出错
    • 比如 "{}[]"是正确的
    • 比如"{}["就是错的

后续

在做完面试题的第二天就收到了不合适的反馈,作者题做的没问题,很大可能是二面的问题没有回答好导致错失了offer。

猜你喜欢

转载自blog.csdn.net/qq_42427109/article/details/131210684