写在前面
结果?
- 决定实习的公司:腾讯CDG
- 拿到实习offer的公司:腾讯CDG、阿里巴巴蚂蚁金服、欢聚时代YY、中国平安
- 未通过或者主动放弃或者石沉大海的公司:百度、网易、百度、京东、华为、360、美团等等等等等等无数间。
统计
来来去去自己投的公司有21、22间左右,最终也能拿到4个offer其中包含自己理想的offer也是算比较幸运了!
直接进入正题(就分享几件比较大的公司的面经吧)
阿里面试
阿里一面(50min)
- 为什么选择前端
- js的基本类型有哪些?引用类型有哪些?null和undefined的区别。Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
- js的继承有哪些?分别列出他们的特点?
- 原型链的概念?原型和原型链的区别?
- 用过es6嘛?用过。那么es6的继承和es5的继承有什么区别?
- vue1和vue2的区别?
- css布局问题?css实现三列布局怎么做?如果中间是自适应又怎么做?
- 用过flex嘛?用flex怎么实现一个直径100px的圆放在屏幕中间?你又有什么其他方法吗?讲的越多越好?
- 网络url输入到输出怎么做?
- https(对是https)有几次握手和挥手?https的原理。http有几次挥手和握手?TLS的中文名?TLS在哪一网络层?
- 你知道的负载均衡有哪些方法?我答Dns和Nginx可以?那么Dns怎么做负载均衡的原理?dns是基于tcp还是udp?Nginx的原理?正向代理和反向代理的区别?
- 网络模型中有几层?Http在哪一层tcp在哪一层?
- 浏览器问题:浏览器怎么加载页面的?script脚本阻塞有什么解决方法?defer和async的区别?
- Nodejs中的Stream和Buffer有什么区别?
- C++中的析构函数有什么作用?
- 最后给了我一个github还问了我的github的项目怎么样维护
阿里二面(8min)
- 自我介绍
- 排序算法用过哪些?查找用过哪些?他们的复杂度是什么?什么情况下更适合?
- js的设计模式知道那些?实战再举一些例子
- 你做过什么项目?
- 你对工作地点什么选择?
阿里三面(20min)
-
项目。项目的细节
-
现在在做什么项目?
-
目标学习路线工作地点等等?
总结阿里
一面问得很广很难,只不过可能之前做了不少准备,而且思路是跟着我走的,所以基本上95%都答上来了。后来知道一面的面试官是一个大牛,也给了我不少的学习建议,也直接当场就让我过了一面,可能一面答的比较好,所以二三面面试官都没有过多的问细节问题,自然也就轻松许多。
阿里的HR真的要认真的准备!大家都听过hr挂人吧?阿里的hr政委很厉害的。好好准备hr
阿里的的却却是一家很有技术的公司,但是有很多客观的原因,很遗憾后来没有选择阿里吧。
腾讯面试
毫不避讳的说,我腾讯面试失败了3次。第一次内推的电话没有接,内推失败。笔试并没有过,笔试那天状态不好而且因为时间问题也没有做完,分数非常底(二面面试官告诉我的)。霸面腾讯!霸面第一次我看到我的简历被一位面试官扔到一个画着叉叉的文件夹里面,就是等于被刷了。我很不要脸的又投了一份简历,第四次成功被一面面试官捞起来,经历一面二面hr面最终进了腾讯。
腾讯一面(35min)
- 自我介绍
- 介绍项目?对项目中的http请求头方法进行了深入的交流
- Vue的优点和缺点
- 前后端分离的缺点优点?怎么做? 还看了我github上面的在线网页简历
- SocketIO的解决点?什么情况下用到
- 微信和qq要是想定时更换前端token怎么做?服务器主动推有什么方法?
- 你在项目团队中担任什么角色?
- 网络的模式从地到高有多少层?分别是什么?
- tcp在哪一层?http在哪一层?ip在哪一层?tcp的三次握手和四次挥手画图(当场画写ack 和 seq的值)?为什么tcp要三次握手四次挥手?
- get和post请求的区别?什么情况下用到?
- 多线程和多进程的区别?
- 100万个数抽100个怎么做?用什么数据结构?
- 移动端做过嘛?
- 今后的学习路线?
- 问一下霸面之前什么腾讯部门的?
腾讯二面(35min)
- 笔试成绩的分析(这个确实当时有点粗心)
- 讲一讲项目
- 如何设计面试的时候这个酒店的电梯
- 手写一个冒泡的排序(当时有点伤心和紧张又粗心漏写了交换条件)
- 今后的学习路线
腾讯总结:
其实很庆幸自己不放弃,4战腾讯,终于给了我offer。也从腾讯面试中看到自己很多不足,自己的细心的程度不够,对细节的重视程度不够,要更好的提高自己的分析能力和全局观。所以这也是后来我去腾讯原因,也相信自己能在腾讯学到更多的东西。而且腾讯的hr人真的很好,整个腾讯给我的氛围就是在轻松活跃中开心学习工作,贡献自己的价值。
百度
百度一面(45min 女面试官人超级好 当时因为感冒说不出声 她叫我多喝热水)
- 自我介绍
- ajax的了解,原生ajax的status和statuscode有哪些对应那些状态?
- 原生ajax的实现步骤
- 对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
- 函数return 形式的闭包的promise写法
- 函数的作用域是什么?
- js的继承和继承的方法和优缺点?
- css垂直居中的方式?
- 怎么样禁止浏览器默认事件?怎么样防止冒泡?
- 做的项目?聊了很久很久项目
- 数据结构中常见的排序和查找?复杂度?优缺点?实现原理?
- 堆排序的原理?
- 说出越多越好的费波拉切数列的实现方法?
- react和vue的生命周期?
- 用过nodejs嘛?
- 设计模式知道哪些?
百度总结
为什么只有一面呢?因为一面的面试官和我说一面通过了,过了两个星期。有一个百度的联系我说他们实习生已经满人了,有一家百度的外包公司去不去?后来自己也觉得进不了正式的百度了?也就打算不去百度实习了。也就拒绝了二面吧。也是有点遗憾。
欢聚时代YY
YY一面(30min)
- 自我介绍
- 项目
- 前后端分离怎么做?意义?
- cdn的用法是什么?什么时候用到?
- 浏览器的页面优化?
- 浏览器缓存问题Etag last-modified等等的原理
- css的怪异盒模型
- css3的一些举例和用法?好处是什么?
- es6用过嘛?你觉得es6最大的语法糖是什么?
- 看你的项目很多都是web应用 你有做过单页网页嘛?
YY二面(20min)
- 项目?一直问项目。还看我github和网上的简历,也提出了优化的意见
- 有什么要了解的?
- 推荐我一款app,哈哈。
总结YY
其实YY这个企业是很不错的。企业的氛围很好,现在yy有了新的办公楼环境也很不错。只不过因为拿到更好的offer了就没有选择yy。只能有机会再见面了。
写在后面的话
还有很多很多很多面试,我也就不一一的列举了,大家可能关心的也就是这几家的面试了吧。如果全部都要说那真的说一天一夜都说不完。
其实我觉得自己纯属运气好,我觉得自己真的不牛,可能面试官对口而已。面试真的是6分实力 4分运气。没有运气你也只能从及格线开始扣分。
也给几个建议:
- 面试不是你不会,是你不会表达。其实如果你会表达就算你错了,也可以让面试官知道你的想法,面试官不可能强求你什么都会,他们更注重的是想法,就像我腾讯一面官说的,就算是腾讯内部也会把简单的事情想复杂,但是这并不可怕,表达清楚出你的想法,你就有机会得到优化建议,如果表达不出的话,那你真的什么都没有了。
- 早点准备!如果你大学就想着去就业。那么早点确认你的方向。早点学习你的方向,你想做前端?ok早点决定坚持下来,你想做安卓?ok没问题。坚持下来。不要临时抱佛脚,没有一段时间积累学习,根本禁不起面试官的折腾。还有一点:前端水深、前端开发不简单、不简单、不简单。(重要说三遍)