说实话,这应该是自己第一次认真准备,又很在意的面试,非常感谢学长的内推。昨天从下午三点一直到晚上七点经历了三场面试,每场大约半小时左右,前两场技术面,最后一面是高级项目经理的“软实力”面试。因为我没做过服务器端,所以基本没有涉及服务器端的知识,面试完感觉面试官会根据你自己的情况出面试题,但是基本的知识点要知道,涉及的面挺广,如果有的点你研究的很深入会有加分。
一面(技术面)
面试官是一个声音很好听的妹子,感觉人也很好,主要流程如下:
- 简单自我介绍
- 简单介绍一下你的一个项目(这中间还会根据你的项目情况问一些问题,涉及到如何实现,测试你项目的功能能否正常实现,代码的细节问题)
- 了解过什么库(因为我面试的是大搜的移动端页面加速的部门MIP,所以面试官希望我了解Zepto,但很遗憾我没了解过。。)
- 原生js的选择器(面试官期望我说
document.querySelector()
) - 什么时候用ID,什么时候用class
- 说一下图片轮播的思路(我说的是改变
left
值,因为主要面向移动端,所以面试官说在移动端使用transition
性能会更好,不需要一直计算left
的值) - 你平时都用什么布局
position:absolute;
与position:fixed
的区别- 有没有了解过css3的
position:sticky;
(因为我回答没有,所以面试官给我解释了一下什么是position:sticky;
之后,让我用js或者其他的实现这个布局) - 有没有做过移动端页面(我回答的用Boostrap做过)
- Boostrap怎么用css实现的栅格布局
- 开发页面时怎么debug
- 介绍一下盒模型
- 除了
border
之外还有一种方法可以给div
划线,你了解过这个吗(我没有想到,面试官最后告诉我是outline
,它不占宽度) - 手机上页面有问题怎么办(weinre)
- 有没有做过整站?会不会切图?切图时会保存成什么格式?不透明的时候会保存成png格式吗?png8和png24怎么选择?(颜色多的时候保存成jpg是有损的,所以文件比较小;如果颜色比较少,比如logo,一般保存成png,质量高,并且文件比jpg格式还要小)
- 做出来一个页面出来后,会不会考虑其他一些性能优化的问题
- 用什么压缩工具,打包工具(grunt,fis)
- css内链和外链的区别
- 有没有什么要问我的?
二面(技术面)
一面结束后十分钟左右,就接到了二面的电话,是一个听起来非常高冷的男生,不过声音很好听(这好听的声音都影响了我发挥,有几十秒处于懵逼状态,捂脸~),而且后来还感觉有点暖暖的,想知道他长啥样O(∩_∩)O哈哈
- 做一个一分钟的自我介绍
- 把你用JavaScript做的一个计算器的实现原理说一下
- 怎么实现的计算(我用的
eval()
),具体请看博文http://blog.youkuaiyun.com/sinat_27088253/article/details/51940028 - 为什么会选择这种实现方法
- 介绍一下
eval()
的具体实现原理 - 怎么想着参加百度前端学院(后面又闲聊了几分钟)
- js的作用域和作用域链
- 全局的作用域里的变量怎么使用局部作用域里的变量
- 解释一下闭包
- 闭包会产生的问题,怎么解决
- 解释一下作用域链
- 知道MVC吗
- 了解过设计模式吗
- 开发中间用过什么设计模式
- 说一下工厂模式是什么样子
- 一瓶饮料3块钱,喝完三瓶饮料可以拿空瓶子再换一瓶,我有300块钱,可以喝到多少饮料?(说思路,思路对了之后再说用js实现的关键步骤)
- 一些盒子围城一圈,盒子里面有一只兔子,盒子左右两边打开,盒子之间互通,你站在盒子外面,可以用一只手摸盒子,摸的时候兔子不动,手拿开的时候兔子也会动一下,向左或向右移动一个盒子。不能扔掉盒子 问:怎么才能更快的摸到这只兔子?(我这个没有思路,如果有大神有思路,希望能够交流)
- 那些购物网站有那么多图片,怎么保证的加载速度
- 文件打包压缩相关
- 你有什么要问我的?
三面(软实力面)
因为二面的面试官给我的是应该还会有一次面试,时间不能给答复。但是被我紧张的记成了不能答复我给不给面试,然后就各种伤心啊。去跟学长说第二面可能不算太好,不知道能不能过。学长问我二面面试官是谁,我说不知道,没告诉我名字,然后学长就直接问我是不是很高冷的一个面试官,我惊讶于学长的判断,回复“是的,是的”,结果学长来了句“他就在我左边”,还来了几个“哈哈哈”。我的内心啊,不过学长说让我等等,他下班的时候帮我去问结果,好感谢学长。
这次面试我的是高级项目经理,听声音就很成熟,但是很亲切,有可能是我说话比较逗,中间被我逗笑了几次。。。
主要问了以下几个问题
- 自我介绍一下吧
- 跟我说一下你的毕业设计
- 你在毕业设计中负责什么
- 咱们这次面试的主动权在你,你可以多说点,我主要想全面的了解你,接下来你来介绍一下你自己吧,可以从多个方面,生活,学习啊,都可以
- 有什么要问我的吗?
三面基本没有涉及技术,虽然问的不多,但你需要回答的会很多,也持续了将近半个小时。
面完之后有听君一席话,胜读十年书的感觉,面试也是一笔宝贵的财富。
写在最后
- 如果有学长学姐在大公司,一定要走内推,不然真的面试机会都很难拿到
- 准备一份简短的自我介绍,突出的重点要和要应聘的职位相符
- 面试之前好好准备,去找一些面试题未尝不可,但是不止是把面试题弄懂,更重要的是要理解相应的知识点
- 准备一个自己项目的介绍
- 面试官问的问题,你如果这方面知道的比较多可以把相关的知识点都说了,方便面试官更好的了解你的水平
- 平时多思考,不止技术,还包括对自己对人生的思考,第三面就是看你的思维深度,要对自己有一个客观中肯的评价
- 最后多谢这篇文章的作者http://www.cnblogs.com/caizone/p/4614648.html?utm_source=tuicool&utm_medium=referral
- 还要感谢“全栈开发者中心”的公众号里面推得一篇《前端优化:9个技巧,提高web性能》文章