转载于http://www.cnblogs.com/chenjg/p/7081214.html
主题: 百度前端实习生面试
面试时间: 2017年6月
一面:问基础
当时我正在与我的工作流技术(大三的一门很坑很坑的课)决一死战,结果突然就打电话过来面试,我当时整个人都蒙了~而且最坑的是~我的外卖刚跟我说到楼下了,然后就来面试了。。结果,我的外卖被偷了!!!!重点了一份。
问的问题如下:
- css动画有哪些以及区别(animation,transition)
- 实现一个loading动画
- 如果动画卡顿了怎么办(使用translate)
- 要放置一个200X200的图片,图片大小最好要多大
- 实现一个三列布局,左边固定大小,其他两列占据剩余空间的50%(使用flex或者使用float)
- DOM事件模型
- js继承的几种方式
- 异步编程的几种方式
- 问我项目,有一个登录注册功能,问我过程,以及是否安全(https)
- 有过什么模块化工具(我答nodejs的commonjs,打包工具用webpack,对AMD了解一点点,然后他居然就不问下去了!居然就不问了!我还想着要扯一些CMD是同步加载,ADM是异步加载的什么鬼东西呢)
- 性能优化
然后一面就到此为止了,当时面试完就赶紧下去拿外卖,得知外卖被偷之后,就默默重点了外卖,然后开始新的复习之旅。
二面:问项目(2017/6/26 15:38)
- 自我介绍
- 根据我项目问问题,比如
2.1 你用过angularjs是吧,那你当时是为什么选择angular的呢?只是因为它是最流行的框架吗?
2.2 你有用过vue吗,那你说说vuejs和angular的差别
2.3 你觉得angularjs的controller是干嘛的
2.4 一个HTTP有哪些常见的状态码
2.5 发起一个HTTP请求,从客户端到服务器,会有延迟吗?有的话,在哪里出现?
答:
2.5.1 我首先想到的是DNS解析所用的时间,因为你输入一个域名之后,首先是需要DNS解析器来将域名 转换为IP地址
2.5.2 发起HTTP请求,就涉及到包之间的传输了,从HTTP应用层到物理层,就有一个封装以及加上头部的过程(比如加上TCP头部,IP头部),之后将包发送出去,就会分发到不同的路由器,并且经过漫长的路程最终到达服务器。由于在传输过程中需要时间,所以传输时间是肯定必不可少的。如果当时网络情况不好的话,还可能有丢包情况,需要重发。
2.5.3 TCP/IP 建立连接首先需要三次握手。握手成功后才能发出请求。
2.6 你做的某某项目后,让你觉得最难的地方是哪里? - 我的问题就到哪里~你有什么想问的吗?
当时就主要了问了我去了的话,主要是做什么的。以及百度前端架构体系是怎样的。
然后二面就结束了~二面总共用了17分钟,问的问题我觉得还是挺有意思的,而且也是挺符合实际的,比如你项目的框架选型,你总不能随随便便就说这个流行就用吧。以及框架之间的对比,还问到了计网方面的知识,这让我想起了当时面试今日头条的时候,也问到了很多计网方面的东西~当时问的好像主要是网络阻塞:如果发生丢包了的话,当前网络特别阻塞,有什么好的策略去解决它(TCP有一个 拥塞避免机制,然后就说了一下它的一些相关机制)
以上,就是此次百度前端面试中,我记得的所有内容(应该大多数都在上面)