一次被动的前端面试经历

20次阅读

共计 3449 个字符,预计需要花费 9 分钟才能阅读完成。

2018 年,变动的一年,随着 P2P 的雷声不断轰鸣,各企业纷纷开始裁员过冬,“开猿节流”一词正式被创造,很不幸,笔者所在的金融公司也不得不进入“冬眠”,而我也在农历新年前变成了求职大军中的一员。

因为不想回家过年时连工作的没有,然后焦虑的心情每日缠绕于身,压力愈来愈大,随之下决心一定要在年前拿到 offer,就为回家过年也能图个轻松。看了看招聘的一些网站,年前的招人的公司也少的可怜,开始主动在各个渠道投递简历,也主动找人内推,大概经历了一个月之久,最终黄天不负有心人,拿到还算心仪的公司 offer,也是平时一直在心底视之为目标默默努力的公司。

开始新工作也过去了一段时间了,现在回想,也是感慨,塞翁失马焉知非福呢。今天特地整理了一下年初面试过的几个公司的相关的题目,给需要使用的同学参考一下,也告诫大家一定要有目标,有了目标后便有了力量,便有了恒心决心为之努力!

下面整理了一下面试的几家公司的面试题,大家有需要的看看,有问题一起探讨!

一. 某在线教育公司

职位: 全栈工程师

简述: 一共一下午,两面现场技术。

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

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

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

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

后面就是 HR 面试了,两个 HR 问了一些情况后,留了微信便离开了,公司比较偏,找了半天公交站,坐到地铁站,因为心事重重,结果地铁还给坐反了,回家已经晚上 11 点多。

二. 某创业公司

因为我是有点想加入创业团队的,想着自己还年轻,还能加班,况且万一运气好蹭个大佬,从此坐上开挂的列车,走上人生巅峰呢!便去了一个创业公司面试。

职位:全栈工程师

简述:中午 12:30 去面试,不理解为什么在正中午面,大概是为了考验候选人?我去的时候面试大佬正好出来扔外卖盒,看到我背个包喊出了我的名字,心想 ” 我去,还没面试,大佬这就记住我了?so excited”,因为公司就三个人,而且面我的大佬还是其他公司在职的,只是偶尔会过来,所以一共一面技术。

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

手写一下快速排序算法。
看你简历有加密算法的内容,简单讲一下关于加密算法相关的内容。
说一下 https 的工作原理,里面涉及到的加密算法都有哪些?
设计一个后台管理系统,从数据库表设计到后端服务提供。
一道算法题,一个数组中找出所有相同的元素,并且做出分类,在彩笔白板上写完,面试官笑了一下,js 写还真方便。

因为没有 hr,大佬跟我谈了薪资,并且告诉我他们现在已经在盈利了,年终可以分很多 …

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

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

职位:全栈工程师

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

说一下 nodejs 里对 Buffer 数据类型的认识,对于初始化的 Buffer,可以实现增加长度吗?
对 nodejs 的异步 IO 的认识,异步 IO 内部的工作原理,以及内部线程池相关内容。
说一说 Linux 的几种 IO 模型,分别描述一下是怎么一回事。
多进程部署的 Nodejs 应用有何优缺点,简述一下进程之间的通信方式。
TCP 三次握手四次挥手的具体细节。
Nodejs 源码层面的一些内容。
第二面

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

第三面

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

HR 面试也给到了非常不错的薪资,心里觉得先进去,后面再找机会进一面的大佬的团队,随着有了两个 offer 心情也逐渐放松了。

四. TMD 某条大厂

大厂就是大厂,一来就给发个牌带上,面试官很守时也很客气,我被带到了一个会议室,开始了面试之旅,一共三面技术面。

职业:全栈工程师

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

关于 css3 里阴影的一些知识。
div 布局相关的知识,涉及双翼齐飞,盒模型等。
javascript 同步异步的输出顺序问题。
关于 Promise 的 then,catch,reject,all,race 一些 api 的用法问题。
一道关于动态规划的算法题。
一道概率论关于摇硬币正反面概率的问题。
问完后,接下来又做了一套题 …

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

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

可以手写一些 Promise 么?不是写 Promise 怎么用哦,让你实现一下 Promise。^O^
nodejs 中的异步回调中的错误怎么处理。
闭包为什么会造成内存泄漏?
javascript 的垃圾回收机制讲一下。
了解 express 的内部原理么?简单实现一下。
写一下希尔排序算法,注意空间和时间复杂度。
第三面
由于三面面试官出差,中间隔了一周多。后来约到面试后,一位非常年轻的小哥,大概刚 30 左右的样子,很儒雅客气。

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

面试体验很好,HR 也非常 nice,拿到了满意的 offer,最终因为其他原因没有去这边,HR 和三面面试官也非常客气的跟我说,后面想去还可以联系他,非常满意的面试体验,为头条打波广告。

五. 某金融巨头

说句老实话,面试其实不是非常难,而是简历太不容易能被捞起来,而且我是一年半的,团队基本招 3 年起步的,我是通过内推渠道才被推到团队的,后来进来发现,这简历是真不容易能被捞起来,全程一共两面技术。

职位:前端 /Nodejs 工程师

第一面

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

第二面

Nodejs 的内部运行机制,异步非阻塞 IO 与事件循环原理,事件循环中的每个阶段描述。
前端数据流管理工具用过哪些?解释一下这数据流管理工具出现的原因,解决的问题和它的本质原理。
redux 这一类的工具在解决什么问题,它的本质原理详述。
在使用开源框架的时候有没有发现一些坑,如何去处理这些坑的。
做过的所有项目简单梳理一遍,有哪些收获和心得描述一下。

正文完
 0