百度;
一面:0312(1h),二面:0316(40min),hr:0316
- 原型和原型链;
- 闭包以及应用场所;
- 盒子模型(IE、W3C)、flex的容器和项目的属性;
- 水平垂直居中(在不知道子元素宽高的情况下);
- CSS3动画(tranition&animation)以及区别;
- Vue的生命周期,以及什么时候可以访问data,操作DOM;
- Vue的响应原理,组件之间怎么通信;
- 浏览器的渲染机制;
- 重绘重排的区别,以及如何优化;
- js的异步加载;
- 伪类,什么时候可以用到伪类(我举例说是清除浮动的时候);
- websocket的特点(因为我简历里的一个项目用到了)
- Promise的实现原理,以及解决的问题(我有特别提微任务,这点学姐说比较加分)
- HTTP和HTTPS的区别(我有特别说HTTPS的实现原理)
- 代码题:
- 调用一个输出1-7的随机函数,输出1-11;
- 一个数字有多少种相加方式:比如,9=4+5;9=6+3;……
阿里
一面:0312(1h)
- 讲一下BFC(我把触发条件、特性、应用全部都说了);
- flex布局;
- 闭包;
- this的指向;
- 事件机制(事件捕捉、事件冒泡、事件委托),还有问事件捕捉的应用场景;
- HTML语义化(优点、标签);
- 垂直居中(又特别问了flex怎么实现);
- CSS3动画(tranition&animation)以及区别;
- 原型及原型链;
- webpack的概念以及工作流程,我有特别说plugin和loader的作用;
- bebal如何将ES6/7转换成ES5;
- 组件化:问我有没有做过一些组件化;
二面:0318(1.5h)
- C语言(我真的疯了,我大一学的全忘了。就是因为我说我觉得我学的还行,哭疯!!!);
- 面向对象的三个特性;
- 计算机网络分层;
- 二叉树的应用(AST);
- 继承的实现方法,ES6的方法(extends+super);
- 观察者的实现(emit);
- 性能优化;
- HTTP和HTTPS的区别,以及HTTPS的实现原理;
- JS的数据类型
- 常用的数据结构(我说了堆:举例垃圾回收机制;栈:切换执行上下文;队列:数据的保存)
笔试: 0322(1.5h)
- 手写数据类型的判断;(一定要把可能性考虑全面)
- 并行输出Promise;(我的理解是Promise.all)
- 实现发布订阅者,具有发布订阅移除的功能;
三面:0323(20min)
- 讲一下Vue的响应原理(我有把Proxy也一起提了一下);
- 其他全部都是项目相关的,比如如何解决恶意用户攻击;
交叉面:0329(1h)
- 对H5语义化的理解,以及他解决了什么问题;我在实际代码中对于语义化的感受;
- 有用过哪些性能优化的方式(因为我介绍项目时候,说到我有用代码分割对首屏进行优化);
- 自己常用的CSS3效果;
- 其他就是项目相关;
hr面: 0402(1.5h)
- 自我介绍;
- 项目介绍;(这里一定要说自己在项目中担任的角色,如果除了技术还有别的角色就更好啦);
- 在项目中起到的作用;
- 项目挑战;
- 如何协调本专业和兴趣;(因为我的专业偏硬件)
- 大学期间对我影响最深的人,他的闪光点;
- 在项目中担任组长解决了什么问题,主要负责内容;(这个是因为我提到说自己有担任组长)
- 大学期间最有成就感的一件事;
- 遇到最挫败的事;(我的思路是遇到挫折其实没关系,但一定要在挫折中成长,总结问题很重要)
- 在校成绩;
腾讯
一面: 0317
- 重绘重排,如何优化;
- 性能优化;
- 跨域;
- 安全问题以及如何优化(我说了XSS和CSRF);
- HTTP和HTTPS的区别(我有特别说HTTPS的实现原理);
- 有关注现在前端的新动态么;
- 常用的调试方式;
二面: 0320
1小时内完成以下题目:
要求,不能上网,写原生代码,可以使用浏览器工具调试,兼容IE8及以上 & firefox & Chrome
1、页面内有一个正方形元素,实现对其拖拽和放下
2、实现超出整数存储范围的两个大正整数相加 function add(a, b),注:参数a和b以及函数的返回值都是
总结:
截止昨天我所有的面试结果全部结束,其实这是我第一次找实习,最大的感受是一定要有一个清晰的计划,无论是面试前的准备还是通过每一次面试的总结,其实这段时间的面试对我的提升非常的大。很感谢每一位面试官给我提供的学习建议,以及内推人长期的帮助,朋友和家人始终的信任和鼓励,我可以拿到心仪的offer真的是太感谢大家了。
学习总结:
- 不可以忽略计算机基础知识:
计算机图形学、计算机组成原理、算法和数据结构、汇编等。这会决定我前端学习的深度; - 更多的独立完成整套项目:
从前期的项目选型、项目设计、代码实现、前后端调试、上线、优化;