百度前端面试题之 - 百度两面

一面:问基础

当时我正在与我的工作流技术(大三的一门很坑很坑的课)决一死战,结果突然就打电话过来面试,我当时整个人都蒙了而且最坑的是我的外卖刚跟我说到楼下了,然后就来面试了。。结果,我的外卖被偷了!!!!重点了一份。 问的问题如下:

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有一个 拥塞避免机制,然后就说了一下它的一些相关机制)