8月
本来还有点犯拖延症,7月31日结束了好多提前批,自己都以没准备好为借口没有投,但是8月2号突然收到腾讯的电话,我找暑期实习时的简历被捞了起来,我的秋招就这样被迫开始了。
原文作者 buppt 原文链接 github.com/buppt/Video… 转载请著名
腾讯提前批一面
面试前先做5道题
- 实现水平垂直居中
- 实现观察者模式的 listener 和 trigger
- 常用的跨域方案和原理
- 实现函数从字符串中找出出现次数最多的字符和出现次数
- 实现函数判断某一个数字是否是质数
这几个题还好,面试官看完也没有问。
- 问现在实习项目的意义,为什么要做这样的一个项目。
- jsonp 的原理,还有什么不遵循同源策略,为什么 img 标签不遵循
- 手写一下只有 username 和 password 的表单向后端发送请求,进行用户验证。使用原生 js。
- get 和 post 请求的区别。
- 谷歌浏览器内核是什么,浏览器的解析流程和渲染流程。
- 虚拟 dom 的好处,diff 算法。
面试官一直在追问项目的意义,答的很不好,不出所料,一面就挂掉了,这次面试主要是给了我自己一个提醒,该走出现在的舒适区了。
腾讯云提前批一面
后来又收到了腾讯的面试通知,发现是另一个部门。周六下午面试,当时还奇怪怎么腾讯周六还上班,原来是深圳的部门这个周末专门过来面试的,很奇怪这次我的岗位上写的是后台开发,到了之后问面试官才知道,前后端都在他那里面。所以这次面试和其他前端面试感觉有点不一样,问的问题偏浏览器、数据结构、算法、计网这些通用技术。问的太多了,而且问题很大,很开放,只记得一部分了。
- 手写快排
- 伪代码写一下中序遍历、发布订阅模式、单例模式、原生 ajax
- cookie 有哪些了解
- 进程间通信
- hash 表是什么,有什么用,查询复杂度是多少,什么是 hash 冲突
- 对 node 有哪些了解,对 node 的模块架构有没有了解
- 为什么要有同源策略,没有会出现什么安全问题
- tcp 三次握手详细讲一下,包括每次传输的信息 ack、syn 等
- time wait 状态是什么
- 做过哪些前端优化,懒加载的原理
- 手写一个 sql,在一个工资表中算一下平均工资。。。
二面现场面,同一个地方,第二天周日去的,面试管是产品经理,一共只面了20分钟就出来了。
- 了解过哪些腾讯的业务,toB 的
- hash 表和 b+ 树了解吗
- 链表插入新节点和二叉树插入新节点
- tcp 三次握手四次挥手,syn 攻击
- 一个页面如果有多个接口的数据展示,如何做用户体验更好
- 登陆注册如何考虑安全问题
- 做过哪些前端项目优化
- ajax 介绍一下
三面,电话面,7点到9点刚做完360笔试,有点懵。面试过程基本就是每说一个东西,就会问为什么使用这个技术,为什么不用其他的技术,有什么优缺点,主要问缺点。
- osi 五层协议
- 三次握手,四次挥手,每次发送的数据包中都包含哪些信息
- 系统介绍 http、https
- https 为什么要用非对称加密,为了什么安全问题
- https 为什么需要数组证书,
- 各种跨域方式,每一种的特点
- 给一个场景,前端需要向多个不同域的服务器请求接口,问使用什么跨域方式,怎么考虑
- 中间层有什么缺点,如果有两个不同域名下有相同的接口名称,怎么处理(这个问题我问了好久还是没听懂相同名称的接口会出现什么问题)
三面之后挂了,网络和安全相关的问题太多了,确实也不太会。
美团一到三面
面试体验太好了,以至于忘记了问的什么问题了😂记住多少写多少吧。
- 算法只写了一个,二分查找找一个数组中的峰,就是比左边和右边都大的数字的 index
- yarn 和 npm 比有什么好处,yarn lock 相关
- Babel 有了解吗,将 const、箭头函数转成 es5 大概是如何实现的
- es6 为什么可以只引入需要的模块
- 搭建一个前端项目需要考虑哪些内容,如何进行技术选型
- 定义 arr[4] = 4 和 arr = [undefind,undefind,undefind,4] 有什么区别
- 如何检测 ts 开发时使用 any
- 虚拟 dom、双向绑定,
- 在不支持 defineproperty 的浏览器中如何实现一个双向绑定,
- typeof typeof undefind
- vue 和 react 有哪些优缺点
- 正则 match 和 test 有什么区别,手写一个正则,忘记是匹配什么了,没写出来。。
- 在实习中学到了哪些,遇到了什么问题,是怎么解决的 end 平时如何学习前端的
星环科技 1,2,3 面 && 阿里一面
都只面了 20分钟,感觉回答的也没什么问题,但是阿里挂了,后来问了一下阿里内推的同学,面试官的评价是问题回答的不在点上。。。好吧
- 前端路由 hash 和 history 对比,优缺点,hash 模式跳转到其他页面再调回来会回到根页面。
- 虚拟 dom 有什么优点,性能,跨平台,diff 算法,双向绑定。
- flex、grid 网格布局,兼容性问题
- 输入 url 之后发生了什么,为什么同步的 script 要阻塞 dom
- 一行布局如何实现,float会有什么问题,如何避免
- react hooks 出现为了解决什么问题,可以实现哪些功能
- 接口数据结构是如何制定的
- class 和 实例有什么区别
- 常用的 es6 语法
- vue 数组如何监听变化,修改length能不能出发渲染
- display 有哪些属性
- 中序遍历递归和非递归写法
- bind、call、apply 区别、内部实现
- 状态码 301、302、304
- tcp 为什么需要三次握手
- 输出数组中,加和为0的最长子数组的长度
微信
一面
- 主要是针对之前做的项目的提问,以及现在有什么改进的想法。
- 算法题,如何求一些坐标点之间的最大斜率。每个点的坐标是一个数组,存在一个二维数组里。回答的是先按照 x 坐标排序,然后只计算相邻坐标之间的斜率,找出最大值。
- 猜一下小程序的框架是如何实现的
二面面的一塌糊的,当时在公司实习,面试官突然加微信说,20分钟后微信语音面试。
- 问创建一个俄罗斯方块游戏需要考虑哪些内容
- url 输入到页面可以操作
- 为什么 script 要放到底部
- 如何进行页面间通信
面委会视频面
- 先做一道题,输入两个字符串,大数乘法
- 实习项目中有哪些亮点,遇到什么问题
- vue 放到小程序里要做哪些改变,有没有了解过小程序的原理
- https
- get 和 post
- 电影院建厕所需要考虑哪些问题,感觉我回答了一堆都没有在点上。。最后才知道是想问如何处理高并发的问题。
面委会二面,先做了两道题,然后电话面
- 第一题就是 for var i=0 循环 setTimeout。
- 第二题是一个斐波纳切数列。
- 然后就是问简历了,除了简历上的内容,会更深入的问一下,看有没有具体去了解过原理,为什么等等。
- vue 路由懒加载的原理是什么
最后问了面试官想听到一些什么内容。面试官很详细的给我讲了很多,比如希望听到一些有意思的地方,项目中的难点或者平时有哪些额外的了解可以分享。比如参与了哪些开源项目,深入研究过哪些其他人不知道的问题。
感觉微信主要是问之前做过的项目和实习中遇到的问题,看你有没有深入去思考过各种技术的原理,而不是单纯的背面经,导致对技术的不理解。
后来面完 hr 面挂了,越想得到的,越不能得到。
农行软开
面的第一个国企,体验和互联网完全不同,7、8个面试官面8到10个人。先轮流进行自我介绍,然后手写几道题,轮流回答,最后面试官对感兴趣的同学进行提问。 手写几个数据库的问题,我只会一个事务。。 提问环节只有一个面试官提问我,问了三个题,都答的不好,只能按理解回答了一下。
- 了解微前端吗
- vue 和 react 哪一个处理状态更方便一点?
- 处理经常变化的数据和不经常变化的数据,哪一个会使用虚拟 dom?
头条
主要问实习做的内容,有什么收获 算法题
- 输入一个 urls 数组、最大并发数 k 和回调函数 callback,实现函数同时发送的 fetch 请求数不超过 k,所有请求返回后执行 callback。
- 输入一个数字,交换其中的两个数字的位置,使它最大。比如 73629,换成 93627
- 两个升序数组,在其中每一个数组中取一个数组成一个组合,找出加和最小的 k 个组合,按顺序输出。 比如输入是[1,2,3],[1,7,11],组合有[1,1][2,1][3,1][1,7][2,7] ...
招行信用卡
在燕山大酒店,一面是两个面试官面一个人。mvvm、虚拟dom,页面返回后浏览器的行为。如何学习前端,对 vue 和 react 的新技术有哪些了解。终面,一个 hr 和一个技术负责人,没有聊技术,随便聊了聊。
猿辅导
一面
- this
- 任务队列相关,js 引擎如何判断任务加入宏队列还是微队列
- 输入查询内容点击百度一下,到数据返回,发生了哪些
- 缓存详细
- 前端优化怎么考虑
- 算法题判断一个链表是否是回文,空间复杂度 O(1)
二面
- settimeout 实现 setinterval,可以 clearinterval
- 合并区间
- 二叉树镜像
三面
- 前端加密、https
- 按照中序遍历的顺序找到当前节点的下一个节点,并输出
腾讯云
又被腾讯捞起来了,面了一面,感觉被用来刷 kpi。后来又被腾讯云另一部门打电话约面试,直接拒绝了。
- 正则匹配/tx[0-9a-z]{14}/
- 深拷贝
- 遮罩层弹窗
- 然后问一堆常规问题
老虎一二面
- 插入10000个元素(p标签)如何做比较好
- for 循环修改一个绝对定位的 dom 的 left 从 1到1000,能不能看到移动的过程
- 渲染引擎、执行引擎
- canvas 在 retina 屏幕模糊的问题如何解决
- 捕获、冒泡
- react 事件和 dom 事件区别,触发顺序
- http 头信息又哪些,传图片、表格时候需要手动设置哪些头信息
- https、哪些内容被加密、中间人攻击
- get、post 区别,传参方式
- css 盒模型
- flex
- es6 相关问题
- 缓存
- 图片懒加载,如何实现
- offsetTop,pageX,相对于那个元素
- parentNode、offsetParent 区别
- 虚拟 dom 在哪些地方会提升性能
后来看到大佬们各种 offer 求比较,留下了菜是原罪的泪水。
2019 春季 蚂蚁、淘宝、头条、快手 前端暑期实习面经: juejin.cn/post/684490…