阿里一面
1、 自我介绍、说完3个项目后插入
2、 用户体验 项目逻辑 项目优势在哪里?
3、 项目一三中的难点(后台管理系统)
插件的使用及扩展、动态url(pushstate、historyJS、hash)、用hash实现的原理
4、 项目二中的难点(移动端页面自适应)
动态设置viewport+rem、 (问的特别详细、是否知道其他方案?)
动画 animation (jq的animation怎么实现的?源码。。。)
cookie和localstorage 应用 区别 局限性
5、 图片轮播、跑马灯效果怎么是实现
6、 web安全 防范 正则
7、 版本控制工具
(紧张理解成构建工具了grunt、gulp)
那就先说说构建工具gulp
说gulp就扯到node (都不是太熟,扯了下原理、问写过什么工具,弱弱的回答都是用用别人的写好的模块)
8、 回到版本控制工具 (svn、git) 为什么第三个项目要改成用svn?(主要考虑到信息的保密性、安全性)
9、 除了从项目中学习、还利用什么资源、最近看的印象较深的博文、
10、 因为扯到汤姆大叔的js系列的设计模式、 单例怎么实现的?闭包?
11、 是否知道或者了解reactJS 和angularJS (谈了angularJS的数据双向绑定)
11 、有没有要问我的?
结果? 二面形式? 部门?
宝宝总结: 主要围绕项目谈了很多、涉及到很多细节、还扯到了用户体验和项目优势。移动端的屏幕适配问得很详细。常用的动画效果实现原理(相当于在考察切图的基础)。Css3、h5的新属性需要了解。Jq动画的底层实现原理。学习资源。新技术的了解。整体还是围绕前端展开的,项目聊的还是很开心,css3、jq源码这一块还需要恶补。整个面试差不多有50分钟,设计的面还是挺广的,尽量往自己熟悉的地方引,不知道的勇敢说出来,否则越聊越没自信。
腾讯一面
1、 自我介绍
2、 最熟悉的语言 (js)
3、 ajax原理 状态码(0-4)
4、 http状态码 (1xx-5xx)
5、 网站性能优化 (主要谈缓存、问的很细、强缓存、协商缓存的具体实现)
6、 js闭包 作用域
7、 js的内存回收机制
8、 除了jq 还接触过什么框架
9、 协议环节 tcp 3次握手 面向连接 如何断开 如何实现可靠的传输(滑动窗口机制、超时重传、) udp 无连接 无重传 tcp与udp的传输效率比较 原因。(问到这里怀疑自己是否是在面前端——)
10、 linux 常用命令 创建文件、文件夹
11、 进程和线程的区别
12、 知道哪些排序算法、冒泡、快排的时间复杂度 堆排原理
13、 10亿个qq, n个qq 。比较找出重复的? ——(跪了,只能谈实现,没接触到处理海量数据时该用的算法这些)
14、 做过哪些项目,遇到的问题。(简单说了两个,大致说了下动态设置url这个问题。就没有展开问细节了)
15、 有没有什么想问我的?
是tst渠道的推荐,还是内推渠道。
什么时候有结果。
企鹅总结:感觉腾讯和阿里偏向的重点大不一样,面完腾讯会觉得自己不是在面前端。前分钟还是大概在问前端相关的东西,后面20分钟的重点在问大学里学的基础课程、计算机网络、网络安全、操作系统、数据结构都各有涉及。项目也没怎么谈,几句话就掠过了,还以为会向阿里一样围绕项目展开详细问一波,移动端也没有怎么涉及。很多时候以为会再继续展开问的地方戛然而止。自己好几次想继续说下去又怕这不是面试官想考察想了解的。
总的来说,面试的发挥还不错,答不上来的确实是自己没有涉及过或者没有复习到的。虽然有时紧张,思路会有点乱,但还是不存在本来知道却答错了的。阿里的面试整体感觉会很舒服,面试官也相对人性化,按照我的思路在展开在深入。腾讯的面试就然我感觉很蛋疼了。首先会觉得面试的时间相对较短,只有不到30分钟,然后涉及到了大学学过的基本上所有的专业课程。我想这就是大公司在招人时的区别吧,会看你是否具有继续发展的潜力,不是单纯问面试岗位的相关知识,而是去考察你的专业基础。我想这应该也和企业文化和企业的发展方向有关吧。看来在面试前对公司和应聘部门的了解还是很必要的。== 现在只能听天命了,好好准备二面,对基础知识、新技术、各种框架的底层实现、数据结构、算法、操作系统都该好好复习复习,也没有什么后悔之前没有好好学什么的,本来现在更多的学习就是目的性的,而且把时间花在项目上也确实让我有了不小的收获。好的,加油吧,小蒋同学!
希望我的面试经历和总结能给前端的小伙伴们一些帮助。也希望你们可以从中找到大致的学习方向和学习目标。如果能有幸进入二面,我会继续和大家分享的。路是走出来,即使过程再煎熬,但我们应该始终让自己的生活充满光,一起加油奔跑吧!
香樟林工作室 蒋松
二〇一六年三月九日