分享一波自己的秋招前端面经吧
楼主是转行做前端码农的一枚渣硕,从去年找实习开始,在牛客网收(白)获(piao)了很多前辈大佬们的前端面经、面试体验、刷过剑指offer等题目,收益很多。所以想着能将自己今年的面经奉献一波,回馈牛客,希望能给自己积攒人品。除打括号外均为前端面经,略去所有hr面,因为基本都是问人生理想,家庭情况,个人意向等等。
虾皮(测试):
一面:
自我介绍
为什么想做测试
vue的生命周期
浏览器请求的过程
tcp三次握手的过程
sql优化(不会)
linux常用命令
算法:数组中最大连续子序和
场景:淘宝购物车如何做测试?举出测试用例
二面:
自我介绍
场景:如何做一个在员工生日前一天发送贺卡的项目。你从产品、测试、开发的角度考虑一下应该做什么
(场景主要是自述。观察对一个开发项目的理解)
linux如何查询某个文件中的字句?其余命令?
京东:
一面:
自我介绍
在华为实习做了什么?
单页面应用会出现什么问题?(f5之后会出现404,前端如何解决?)
深拷贝的方式
JSON.stringify()会出现什么问题?还有吗?(循环引用,如何解决)
前端安全如何保证
排序算法你知道哪些
JS中的sort函数底层是如何实现的
平时如何学习的
小米:
一面:
rem与em的区别
css如何画一个三角形
css垂直居中布局
手写bind(问了this指向是谁)
手写map
用过哪些ES6
http状态码 405 304
浏览器渲染过程
猿辅导:
一面:
自我介绍
项目中使用的技术栈都有什么?有什么用?
ES6都用过什么?
eventloop解释
如何实现一个红绿灯?初始为绿灯,间隔3S后变为黄灯,间隔1S后变为红灯,间隔2S后变为绿灯。两种方式代码实现一下。(利用节流函数类似的方法实现了一种,promise的api一慌给忘了。难受,只能讲一下思路)
OSI七层模型。各个层都在做什么?
如果解析到了html文件,浏览器如何渲染,要求完整过程
算法:二叉树,有了前序、中序,重建二叉树
你有什么要问我的吗?
北森:
一面:
自我介绍
vue组件通信方式
父子通信,如何实现父组件更新,子组件不更新
为什么要用vuex
vuex有哪些特点
不用vuex如何实现不相关组件的通信(eventbus、postmassage、localstorage)
css实现九宫格
如何消除三个33%之后页面最下方的白线
垂直居中的方式
算法:找到字符串中出现次数最少的字符
关于JS你是如何学习的
你有什么想问的
二面:
promise如何实现比promise.all次一级的函数。也就是说,不用等数组里面所有的promise实现完,只需要实现其中2个就返回true
promise.then()与promise.then.then()的区别
前端优化有哪些手段
闭包例题
闭包的使用场景
eventloop解释一下
浏览器的请求过程
场景:给定一个树形的数据结构。如果有子节点就定义为<ul>,没有就定义为<li>,解析并添加到页面上。
var tree = { children:[{ children:[] },{ children:[{ children:[{ text:'12345678' },{ text:'qwer' }] }] } ] }
搜狗:
一面:
自我介绍
垂直居中的方式
二面:
自我介绍
vue与react的区别?
前端安全有做哪些?
http2.0
xss你如何防护?
场景:如果有运营商在你的代码中插入一段script脚本广告。你如何防护?
客户页面一直是白屏的,而我们观察却是正常的。如何排查问题?
你对现在的大前端有什么看法
奇安信:
一面:
(根据简历上的内容顺序念)
自我介绍
项目技术栈?
不使用vuex有什么后果?它本身有没有什么弊端
在华为实习做了什么?
介绍下JS的原型链
两段代码给出结果,知识点:闭包
从输入url到页面
前端优化有哪些手段
......
二面:
html里<head>可以放那些标签?
html里有target属性的都有哪些元素?
鼠标拖动方块的动画触发了哪些事件?
数组乱序的方法
(说我给出的第二种方法效果不好,第一种方法利用的sort函数在低版本不同浏览器实现方法有些不同。答:低个数的时候sort用的插排,数量多就会使用快排。回:我们)
问我没有觉得自己还可以的地方
(答:数据结构,二叉树算法那方面。他:那都是在学校学过的,问着没意思。)
??????
还有没有?
(答:CSS的布局我也觉得可以。他:那不是看看教程就行了。没啥问的,看不出来有没有良好的逻辑,是不是适合做我们员工。)
????????????
还有哪些地方吗?
(答:排序算法。快排、插排、堆排......他:难道我现在问你快排的思路让你给我解释,你能行吗? 我:手撕都行。他:那肯定不会问了。别的面试官也不应该问这个。)
??????????????????
(回:这样好了,你说让我问你算法,我就问你一个。内心OS:可以。这波抓住机会)
在XY坐标里,如何判断两个矩形是否有重叠
(这不就是判断xy中点的坐标么)
????????????????????????
总结:面试体验真的一言难尽。。。
滴滴:
一面:
自我介绍
vuex是干啥的
vue-router实现方式有哪些
h5里有哪些新增的api
css里有哪些动画
解析url,得到参数对象
ES6都用过哪些?
var、let、const
js的事件循环
new操作符都做了些什么
你是怎么理解js里的作用域的
假如js里没有除法,你如何实现?
你写一个函数,输入2的时候返回3,输入3的时候返回2
二面:
自我介绍
你都学习了前端相关的那些知识
你是如何理解前端性能的
前端性能优化
vue-router的实现方式
history和hash路由有什么区别
history刷新会出现什么?如何解决
css的动画比js的动画为什么性能好
vue的生命周期
一般把ajax请求放在哪
如果我就是想在created里操作dom怎么弄
promise你知道吗?你都知道那些事件队列
node的eventloop你了解多少
什么操作会产生回流
为什么回流特别浪费性能
浏览器的渲染过程
你结合浏览器的渲染过程再解释下回流浪费性能的原因
你的职业规划
你是怎么学习的
三面:
自我介绍
项目特点
websocket有什么特点
ajax轮询呢?他们有什么区别
你说一下从输入url到浏览器输出会发生什么
前端性能优化
回流是如何触发的
重绘呢
js除了删或加DOM,有哪些属性可以回流
为什么他们可以触发回流
我有一个无限循环的长列表,你会怎么优化
首页白屏你会怎么排查
你有接触过移动端吗
动画掉帧你会怎么办
你说一下回流时候浏览器都做了些什么
那我有一些回调事件,在16.7ms内渲染不完,怎么办?为什么是16.7ms?
你是怎么学习的
你的知识链是怎么搭建的
都看过什么书
给你一些建议吧balabala...
58转转:
一面:
自我介绍
如何解决PC端和移动端自适应问题 https://blog.csdn.net/zhanghuiping12/article/details/70207634
box-sizing你有了解过吗
不定宽高的元素 水平垂直居中
git 回滚分支
git reset 加不加hard有什么区别?
package.json里dependencies、 devdependencies有什么区别?打包时候有什么区别?
实现一个简单的CSS动画,实现一个圆形,鼠标移动上去,在1s内放大一倍
为什么组件中的 data 必须是一个函数,然后 return 一个对象,而 new Vue 实例里,data 可以直接是一个对象?
vue 路由模式
寻找一个数组中(例如: arr:['1',1,6,'a',9,'9'])中重复次数最多的元素,以及其重复次数,并使用es6方式将此方法导出(注意数组里的元素类型不相同!)
导出之后的引入会有几种方式?import a 和import {a}有什么区别?
二面:
自我介绍
你在实验室做的项目都用到了哪些技术栈?
vuex是干嘛的?我为什么不直接创造一个全局变量来实现组件通信?
你有做过移动端吗?
localstorage和sessionstorage、cookie有什么区别?
vue是如何渲染一个组件的?
Vipkid:
一面:
自我介绍
html里行内元素和块级元素有什么区别
es6你都用过哪些
http状态码
<script>里defer和async的区别
https的过程
你们是如何做登录页面的
vuex你有碰到过什么问题吗
前端性能优化
闭包
内存泄露、内存溢出有什么区别
js的继承是如何实现的?和java比较有什么特点?
this的改变你知道哪几种
Object.prototype.__proto__返回什么?
水平垂直居中的方式
css样式权重
伪类、伪元素你都知道哪些?为什么要有这些?
[1,2,3].map(parseInt)的结果
'123'字符串反转你有几种方式
二面:
自我介绍
typescript有什么特点,typescript现在有什么样的发展趋势呢?
你的项目为什么会用到fileReader
git工作流。你是如何和团队中其余人合作的
前端性能优化
你刚才说到svg和canvas的区别,你说哪个是放在内存中执行的?对内存的损耗有多少?
学生应该要对这些知识细挖,我想知道的是,这里的性能优化方案,有没有缺陷、限制?
vue的diff算法你介绍下,和react的diff实现有什么区别吗
vue的动态路由、动态组件你知道是什么吗?
tcp和udp的区别
localstorage、sessionstorage
你都自学了哪些计算机基本课程
马蜂窝:
一面:
自我介绍
跨域的处理方法
你觉得JS是一个怎么样的语言
js为什么是一个单线程的语言
那js是如何实现回调的
前端性能优化
从输入账号密码,到页面展示,经历了那些过程
浏览器如何解析一个html文件
我在页面上输入账号姓名,你实现一个7天免登录
sessionId和token的区别,md加密算法能反解密吗
http code你都知道哪些
tcp三次握手的过程
tcp、udp的区别
tcp是如何实现稳定传输的
tcp数据包你画出来(炸裂...根本记不住)
知道什么是rpc吗
https和http有什么区别
type of 可以返回哪些值
dom、bom的区别
MVVM和MVC的工作方式
let、const、var
你有什么要问我的
华为(通用软件开发):
一面:
自我介绍
求1-100的完美数
二进制转换
二面:
自我介绍
算法题:一个数字字符串,判断有多少个组合可以凑成合法的ip地址。如:'25525511135',可以有['255.255.11.135','255.255.111.35']两种情况
tcp如何控制稳定传输?
滑动窗口和拥塞控制是如何实现的?
有自学过哪些计算机本科内容?
DHCP知道吗?
设计模式都知道哪些?代码写出来。
如何写出好的代码?
实习都做了什么?
微服务的分布式是如何实现的?需要注意哪些?
加强对java的学习
你在前端是如何做安全的
学而思:
一面:
自我介绍
http协议是如何连接的
websocket你有使用过吗
你如何理解BFC
水平垂直居中的方式有哪些
你是如何理解JS的作用域的
vue的双向绑定原理
使用innerHTML有什么特点?
getElementsByTagName和其他的getElement有什么不一样的地方?(没听懂)
‘1’+2的输出结果?
数组方法every()和some()的区别
讲一下快排的思路
算法:一个数组[2,8,6,12],求其最小公倍数
二面:
自我介绍
在华为你都做了什么?
前端性能优化
图片转化为base64,再通过网络传输会有什么结果?为什么会快一些?
跨域通信的方式(深挖了postmessage,要求说明使用场景)
websocket的链接过程?
协商缓存和强缓存
前端安全你做了哪些?
csrf到底是如何产生的?除了script和img,你还能想到其他的方式吗
服务端如何帮忙配置防护csrf
XSS的防护,利用htmlencode转义
在华为的这段时间你学习到了什么?
平安人寿:
一面:.
http包结构手写一下
http2.0的好处
http2.0需要加密吗
http常见状态码
协商缓存、强缓存有什么区别
状态码101是什么?(切换协议)
JS死区(就是变量提升)
JS原型链
引用类型、基本数据类型都有哪些?区别?
eventLoop解释下
ES6有用过哪些?
平时怎么学前端?
三面:
你的项目为什么使用了vue
sql注入了解吗
你觉得做开发需要什么
跨域解决方法
tcp、udp的区别
其余的问题随机性较大
美团:
一面:
自我介绍
浏览器的渲染过程
http和http2.0的区别
https的流程
跨域的解决方法
flex盒子
css盒模型
html里input都有哪些类型
水平垂直居中的方式有哪些
协商缓存与强缓存
你说到了no-cache和no-store,你知道这两种情况下都是怎么存储的吗?硬盘,内存?
二面:
自我介绍
闭包
vue的生命周期(深挖mounted)
项目登录页面是怎么做的
前端安全是怎么做的
如何实现一定时间内用户登录状态保存
cookie与session的区别
跨域的实现方式
你说的cors有没有什么缺点?
算法:题目可以看做二叉树的前序遍历
三面:
ipv4 和 ipv6 除了ip不同还有哪些特点?
https的详细过程
ca数字证书是怎么认证的
OSI七层模型
物理层和数据链路层中的比特流是怎么回事
现在的大前端你是怎么看的
(太菜只能答出来一点...面试官给了两[凉]道很简单的算法打发我走了)
算法:菲波那切数列两种思路
数组拍平能想出来几种方法
#Shopee##京东##小米##猿辅导##校招##前端工程师##面经#