成都面试合集

去成都待了5天,有三天时间都是在一直面试。所以将每次面试的相关问题做了一些收集,方便自己随时查看是否还有不太明白的地方。也能让读者朋友们了解一下web前端面试时最常问的问题。

2018/9/18 11:30 多益网络视频一面(20分钟)

1.自我介绍
2.谈项目经历
3.Promise的理解
4.JavaScript事件循环队列
5.如何缩短首屏加载的时间
6.闭包的理解
7.看过那些书?有什么收获?那本书的哪个知识点最令你印象最深?
8.对于互联网加班的看法
9.对995有什么看法
PS:有些问题忘了~~

2018/9/19 9:00 顺丰现场一面(20分钟左右)

1.自我介绍
2.对闭包的理解
3.项目的开发经历
4.JavaScript异步是怎么实现的
5.谈一下对Promise的理解
6.Promise.all 是并行还是串行
7.Promise顺序执行怎么实现
8.两个浏览器之间传值
9.同步和异步的理解,执行顺序
10.Redux的理解
11.Redux更新数据后,刷新页面展示是新数据吗?
12.数据持久化
13.你对顺丰有什么要了解的吗

2018/9/19 15:40 网易现场一面(30多分钟)

1.自我介绍
2.在项目中做了些什么
3.项目中印象最深的点是什么
4.项目用的技术栈
5.对闭包的理解
6.Webpack的理解
7.了解Vue吗
8.手撕快速排序
9.手撕算法:给定一个n输入所有相连的序列之和等于n的情况。(如:n=15,它的序列就有7,8 4,5,6 1,2,3,4)
10.对未来的职业规划

2018/9/20 9:10 贝壳找房现场一面(40~50分钟)

1.自我介绍
2.讲一些项目经历
3.React的组件怎么设计
4.HTML4/5 的区别,HTML5有哪些优点
5.JavaScript事件委托
6.JavaScript事件流
7.实现三列栅栏,两边固定中间自适应(手撕)
8.括号字符集的匹配是否正确:”[]{}()<>”是否一一匹配,能有什么优化的地方
9.React中setState之后console.log()它输出来是什么?

2018/9/20 16:10 人人网视频二面(90多分钟)

1.CSS特殊值
2.11个类选择器和一个id选择器谁优先级高
3.怎么去掉1和2之间的空格

1
2

4.一个div(宽100px,高200px,背景色红色),里面嵌套一个div宽高都为0,设置内部div的padding为50%,问红色块的宽高是多少
5.实现一个两栏式布局,左边固定右边自适应
6.CSS选择器选择的顺序
7.CSS动画,Animation
8.JavaScript深浅拷贝,怎么实现,JSON.parse(JSON.stringify(obj))的缺点,object.asign
9.JavaScript数值和引用遍历的存储(堆、栈),是怎么实现的
10.Icon用过吗
11.JavaScript事件委托,target和currenttarget
12.getElementByTagName和querySelectorAll获取的值有什么不同
13.getElementByTagName获取到值NodeList,再给它添加新的节点,NodeList怎么变化,如果循环添加一倍的相同节点会出现什么情况,该怎么处理这种情况
14.JavaScript事件循环
15.ES6的新特性,主要讲了promise对象
16.跨域,JSONP的原生实现,使用方式,返回的值类型
17.解构
18.用promise包装一个ajax(XMLHttpRequest对象)
19.实现一个计数器方法以及使用方式(闭包)
20.递归实现1-100相加(要判断负值和无限大的情况)
21.VUE的v-if和v-show
22.web存储(cookie、localStarge、sessionStarge),是否可写cookie
23.给定一个input,输入值然后展示它。需要注意些什么问题
24.XSS攻击怎么防护
25.浏览器的重绘和回流
26.浏览器的性能提升(主要讲的是减少首屏加载时间)
27.http缓存(Cache-control、Expires)
PS:还有一些问了不知道的问题,记不到是什么了

2018/9/20 21:10 小米电话一面(20多分钟)

1.自我介绍
2.确定我的学校和住宿地
3.对Meta的了解
4.HTML5的认识
5.JavaScript闭包
6.正则表达式(邮箱地址)
7.React的生命周期
8.Redux的理解
9.Webpack的配置
10.今年能否去武汉实习


总结

也算是经历了几次面试,对于面试官常会出的问题,在此做一个总结。

HTML
  • HTML5
  • meta
  • canvas
  • script
  • 行内元素、块级元素
  • 空格以及换行问题(保留或者去除)

CSS

  • 两栏或三栏式布局(一般手撕代码)
  • CSS特殊值
  • CSS选择器的优先级
  • CSS继承
  • 盒子模型,计算不同类型下宽高
  • CSS动画(Animation)
  • BFC

JavaScript

  • 闭包(有时会手撕代码)
  • 事件循环队列
  • 事件流(捕获->目标->冒泡)
  • 事件委托(target、currentTarget)
  • 同步和异步
  • DOM操作(手撕)
  • promise的特性(手撕,用promise包装一个ajax)
  • ES6的新特性(一般讲几个点即可)
  • 原型链及继承
  • 跨域(小心手撕代码)
  • 正则表达式

浏览器

  • 浏览器存储(cookie、localStarge、sessionStarge)
  • 浏览器的重绘和回流
  • 浏览器的性能提升的方式
  • 浏览器兼容性

HTTP

  • http缓存(Cache-control、Expires)
  • web安全防护(针对CSRF、XSS等攻击)
  • web攻击技术(主动攻击和被动攻击,相关的例子)

排序、算法

  • 快速排序(手撕)
  • 算法就自求多福能够自己快速的写出来,不然面试官就只问问你的思路以及你的算法时间复杂度

react、redux

  • react的声明周期
  • react中函数中的代码块执行顺序
  • 怎样实现一个高效的组件
  • react中的diff算法(这个没怎么问到,为防万一还是写下来)
  • redux的理解(数据如何流动的)
  • redux中的action、reducer和store之间的关系
  • store的dispatch方法(最好看看源码)

项目经历

  • 在项目中的角色
  • 承担了什么样的任务
  • 使用了哪些技术
  • 收获了些什么

职业规划(人生规划)

  • 有什么样人生理想
  • 近期或者远景有什么安排

PS:面试小技巧

面试前准备

  1. 了解公司发展、应聘职位主要工作内容;
  2. 穿着得当不邋遢;
  3. 提前到场,不得迟到;
  4. 准备好自我介绍;
  5. 注意礼节;
  6. 携带纸笔;
  7. 携带简历(最重要的)。

面试时

  1. 举止大方,不怯场;
  2. 说话文明礼貌;
  3. 沉着冷静,仔细思考面试官的问题;
  4. 回答问题时,一定要确定面试官是想要听你讲的多一点儿还是希望你只是回答这个问题。因为有的面试官习惯不一样,他提出一个问题希望你能尽可能多的拓展一些专业知识从而来观察你这个人的大局观以及专业知识的掌握程度;
  5. 有的问题回答不上来的或者记不太清楚的,直接说不清楚或不了解。不要给面试官一种模糊的概念,TA想要知道的就只是你是否会这个问题,不要扯其他的东西。尽管回答出来的都是对的,但是却不是面试官想要的答案,TA可能会认为你答非所问从而降低心中的印象。

面试后

  1. 保持状态离开,礼貌的离场;
  2. 总结面试表现,主动跟进结果;
  3. 不要为失败总是后悔,懂得了解自身的不足并及时的改正。

最后说一句: offer会迟到,但是不会缺席的!

你可能感兴趣的:(我的面经)