Skip to content

一. 某在线教育公司

统计信息:字数 7193 阅读15分钟

职位: 全栈工程师

第一面

比较年轻的一个小哥,给人一看就是大佬的感觉,上来看了一下简历,开始做了自我介绍后,进入提问环节。

  1. 说一下对bind,call,apply三个函数的认识,自己实现一下bind方法。
  2. 前端的requestAnimationFrame了解吗?有使用过吗?说一下使用场景。
  3. 对前端性能优化有什么了解?有在之前的工作中解决过性能问题么?一般都通过那几个方面去优化的?
  4. 对前后端跨域可以说一下吗?有碰到过跨域问题吗?如何解决跨域的?
  5. 介绍一下对nodejs的异步IO原理。
  6. 一道简单的算法题,实现输入一个字符串,返回字符串翻转输出。

第二面

进来气场就不一样,年纪差不多35以上,自我介绍了一下,便开始提问环节。

  1. 说一下之前应用服务的部署模式。
  2. 对nodejs的进程维护有了解过么?你们有遇到过nodejs一些内存泄露方面的问题吗?说一下内存泄露。
  3. 之前用redis做缓存中间件是为了解决什么问题?说一下你们关于redis的设计架构。
  4. 说一下你做过最有成长的一个项目,简单总结一下。
  5. 讲一下你对之前项目里使用的消息中间件的理解,为什么引入这个东西,它解决了什么问题。
  6. 他开始介绍他们团队做的事。

二. 某创业公司

职位:全栈工程师

第一面

上来就是做题,心态完全没有调整过来,贼紧张。

  1. 手写一下快速排序算法。

  2. 看你简历有加密算法的内容,简单讲一下关于加密算法相关的内容。

  3. 说一下https的工作原理,里面涉及到的加密算法都有哪些?

  4. 设计一个后台管理系统,从数据库表设计到后端服务提供。

  5. 一道算法题,一个数组中找出所有相同的元素,并且做出分类,在彩笔白板上写完,面试官笑了一下,js写还真方便。

三. 某数据广告公司(500人左右)

在这里是我遇到真正最难的一次面试,被大佬虐的体无完肤,最后还是拿到公司的offer。首先面试的是公司的类似于“基础建设”的部门,应该是只搞技术不做业务的部门,但是需要的比较资深的nodejs大牛,最终不合适,但是大佬推荐到了一个业务部门,这边的又经历了两次面试,最终拿到offer,一共经历了三轮技术面

职位:全栈工程师

第一面

未面试通过,简历被推荐到另一个部门。

  1. 说一下nodejs里对Buffer数据类型的认识,对于初始化的Buffer,可以实现增加长度吗?

  2. 对nodejs的异步IO的认识,异步IO内部的工作原理,以及内部线程池相关内容。

  3. 说一说Linux的几种IO模型,分别描述一下是怎么一回事。

  4. 多进程部署的Nodejs应用有何优缺点,简述一下进程之间的通信方式。

  5. TCP三次握手四次挥手的具体细节。

  6. Nodejs源码层面的一些内容。

第二面

  1. 说一下Vue和React的认识,做一个简单的对比。
  2. React的Dom的diff算法描述一下。
  3. 浏览器cookie和session的认识。
  4. 跨域分哪几种类型,如何解决各个跨域的问题。
  5. nodejs的setTimeOut不准时的原因分析。

第三面

  1. nodejs进程间通信方式。
  2. nodejs高并发怎么理解?为什么不适合运算量大的操作?如果我要用实现运算量大的操作有什么方式?
  3. redis缓存系统的相关内容。
  4. 在之前工作中做的项目中有收获的,系统描述一下收获了什么?
  5. 介绍了一些他们使用的技术栈和正在做的事情。

四. TMD某条大厂

职业:全栈工程师

第一面

首先上来给了一套题,两大业,我拿到后,翻看了一下,汗水直流啊!一边擦汗一边做!题目做完开始按照做的题提问环节。

  1. 关于css3里阴影的一些知识。
  2. div布局相关的知识,涉及双翼齐飞,盒模型等。
  3. javascript同步异步的输出顺序问题。
  4. 关于Promise的then,catch,reject,all,race一些api的用法问题。
  5. 一道关于动态规划的算法题。
  6. 一道概率论关于摇硬币正反面概率的问题。

问完后,接下来又做了一套题...

这一套关于nodejs的,主要涉及流(stream)与Buffer,事件触发器(EventEmitter)等相关模块的认识与使用。这一套基本满分通过,因为之前专门学习过这几个模块,接下来进入二面。

第二面

面试官是一个漂亮的妹子,但是非常犀利,上来做了自我介绍后,直接进入正题。

  1. 可以手写一些Promise么?不是写Promise怎么用哦,让你实现一下Promise。O

  2. nodejs中的异步回调中的错误怎么处理。

  3. 闭包为什么会造成内存泄漏?

  4. javascript的垃圾回收机制讲一下。

  5. 了解express的内部原理么?简单实现一下。

  6. 写一下希尔排序算法,注意空间和时间复杂度。

第三面

由于三面面试官出差,中间隔了一周多。后来约到面试后,一位非常年轻的小哥,大概刚30左右的样子,很儒雅客气。

  1. 从页面输入一个链接到加载成功过程中发生了什么,尽可能详细。
  2. https相关原理,涉及中间人攻击,证书协议,加解密内容。
  3. nodejs的运行原理,有哪些优缺点?对nodejs怎样的看法?
  4. 之前项目中的一些总结。
  5. 聊了一些关于他们正在做的事。

五. 某金融巨头

职位:前端/Nodejs工程师

第一面

  1. 前端模块化,使用过的打包工具有哪些,打包原理,关于webpack多一些。
  2. 简历有做过断点续传的一些内容,问了一些断点续传在实现方面的一些内容。
  3. cookie与session原理,还有token相关的一些内容。
  4. React的使用经验,react-router的内部原理解释。
  5. XSS,CSRF攻击过程,前端怎么去防止这类攻击。
  6. nodejs的事件循环怎么理解?事件循环里各个阶段的认识。

第二面

  1. Nodejs的内部运行机制,异步非阻塞IO与事件循环原理,事件循环中的每个阶段描述。
  2. 前端数据流管理工具用过哪些?解释一下这数据流管理工具出现的原因,解决的问题和它的本质原理。
  3. redux这一类的工具在解决什么问题,它的本质原理详述。

  4. 在使用开源框架的时候有没有发现一些坑,如何去处理这些坑的。

  5. 做过的所有项目简单梳理一遍,有哪些收获和心得描述一下。

总结一下

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想来蚂蚁这边,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。


Last update: November 9, 2024