腾讯集团财经-web前端开发-第一轮视频面试
1.闭包的理解以及项目中的应用
2.vue和react的区别以及各自的特点,若开始一个新的项目,怎么选技术栈,为什么
3.react的优点
4.vue双向绑定和react的setState更新视图的不同之处
5.前端项目工程化的理解,一些优化,比如css,图片等
6.移动端安卓各类手机屏幕的适应,处理经验;若是开发一个新的项目,给出整体的建议来尽量满足更好的自适应
7.对TS的熟悉程度,新开项目是选用TS还是ES6,为什么
8.浏览器安全问题
9.密码等数据的加解密传输
10.怎样保证前端存储密钥的安全性
11.基于简历项目的问题,如微前端的使用,项目拆分模块依据等
1:Vue实现一个对话框?
用到什么技术?
如果要没有遮罩层,点击空白处关闭对话框怎么处理?
2:首次加载白屏怎么优化?
3:单页面应用同一个URL地址指向不同资源怎么实现?
4:浏览器中存储对象有哪些?
5:浏览器的cookie读写机制?
6:简单说一下你了解的设计模式?
7:你在项目中用过Proxy吗?
8:跨域有哪些实现方式?
9:简单说一下浏览器实现跨域的过程?
10:你对微前端有了解过吗?
11:嵌入其他系统的实现方式?
12:iframe有主程序的通讯方式?
13:webpack你是怎么用的?
1. 先自我介绍一下自己,自己的工作经历和所掌握的前端技能。
2. 什么是原型链?原型链主要用来干嘛?
3. react生命周期?
4. mobx和redux的区别?
5. react的父子和兄弟怎么传值,怎么处理事件?
6. 混合式app跟前端js怎么通信?
7. 混合式app怎么解决首页白屏问题?
8. 防抖和节流怎么实现?
9. 事件流的过程?
10. react事件机制?
11. react,vue2,vue3三者怎么实现响应式原理?
12. vue3为啥会比vue2更快?
13. 你在项目中怎么优化前端性能?
(引发:css为啥要放头部,javascript为啥放尾部,如何使用gzip压缩,图片懒加载怎么实现)
14. 浏览器缓存机制?
15. 有没有了解http2,跟http1.1有什么区别,http2并发请求如何处理请求顺序的问题?
16. 你有什么问题需要问我的呢?
笔试题
1、原型问题,大致这样
function Fn() {
return this.arr;
}
Fn.arr = [2]
Fn.prototye.arr = [1]
new Fn().arr
Fn().arr
2、大致这样
var a = 1;
function fn() {
console.log(a); // 输出
let a = 2;
}
fn()
3、分析为什么内存泄漏,题目比较长没记
4、算法题(2选1)
会议最多的场次
将连续数字用’-'连接第一个后最后一个输出。输入数组[1, 2, 3, 7, 9, 10, 11, 12],输出 [‘1-3’, 7, ‘9-12’]
项目介绍
我大部分是问的是项目怎么实现的,在过程中穿插一些通用的问题:
vue 原理
vue-router 原理
localstorage、sessionStorage 区别
TME-非直播-web前端开发-电话初面
l计算机基础
计算机有哪些数据结构
哈希表有什么特点
堆是什么介绍下有什么特点
栈这种结构的特点
链表特点
数组和链表插入元素的时间复杂度
数组和链表查找一个元素有什么不同
l浏览器+网络
JS中的基础数据类型:基础类型与引用类型的存放位置是哪里?
性能优化:有特色的深入的东西;网上那些面试官说,这些都是些普遍的优化,有没有更加深入一点的
浏览器缓存:
1.为啥有了last-modified还要有etag
2.为啥读取的时候先从disk cache再从memory cache
3.Exqires时间是什么格式
4.Cache-control 的max-age是什么格式?单位是啥
csrf攻击:
如何被攻击的为什么会被攻击?如何防范?
xSs攻击:我说需要将内容转义,他问怎么转义,转义成什么.
实际项目中有没有做过安全防护
tcp的四次挥手
tcp与udp的区别
TME非直播-web前端开发-第二轮视频面试
自我介绍一下
hybrid app是怎么和客户端进行通信的?(url scheme)
从项目切入,问了项目的一些细节,项目怎么设计的,实现的过程遇到了哪些问题,怎么解决的
如果现在要让你去优化这个项目,应该从哪些地方开始?这里主要回答了性能优化的部分
问了一下目前团队所用的技术栈(Vue.js vue-router)
vue-router 的原理
兄弟组件的通信方式有哪些?
vue的模板文件的编译过程和原理
vue双向数据绑定的原理?
vue数据从修改到页面更新的整一个过程
移动端的触摸延迟300ms的问题以及解决方案
性能监控;错误捕捉;错误上报方式
跨域通信方式,ajax原理和jsonp原理,二者的区别?
jsonp 的局限性
TME非直播-web前端开发-第四轮视频面试-50min
1.聊一下项目,项目的难点,怎么去解决这些难点
2. 这些解决方案有经过验证吗?从哪里得知的呢?
3. 还有一些项目细节,如何区分?哪些功能需要分离,哪些可以公用?
4.算法题:给一段数组,判断数组里边元素连续递增个数大于4的字数组的个数,手写代码。
5.为什么想换工作?
- js的eventloop是怎样的?
- 浏览器输入url后,内部发生了什么
- React的Visual DOM原理
- http的缓存机制是怎样的
- 动画animation和transaction的区别
- React中的组件传值方法有哪些
- Css中fixed和absolute区别
- Css中隐藏元素的几种方式和区别
QQ音乐-直播-Web前端开发第一轮电话面试:
时间:50分钟左右
介绍自己的工作经历和项目经历,项目相关工作和技术问题,业务内容等
项目问完之后就开始问基础:
闭包以及实际行用
原型原型链
继承的方式以及具体实现
New 一个对象的时候做了什么,绑定this到新对象的时候是怎么绑定的
BFC
重绘回流,具体指什么,哪些会导致回流(重排),怎么优化
页面刷新到显示 经历了什么,越详细越好
http缓存
执行上下文
作用域,作用域链
垃圾回收
原生的ajax ,这个会问到具体点,传参,请求头的设置==
节流和防抖的具体实现,浏览器的缓存
跨域
平时会做哪些性能优化
浏览器缓存
做项目当中怎么选择图片
事件代理,这个要给出具体实现方案
target和currenttarget的区别
setTimeOut3秒后一定会执行吗,考的js执行机制
onload和DOMContentLoaded区别
tcp和udp
页面白屏时间计算
Csrf的攻击防范,以及具体的实施过程,这个问的很细,问道了具体怎么攻击
浏览器的错误捕获,如果让你设计一个捕获异常的sdk 你怎么做
一个台阶 一次可能走1阶或2阶 有多少种走法
这个是基础实现是递归,然后优化部分是重点
腾讯TME深圳-QQ音乐-直播-web
一面:
1、浏览器事件触发原理,过程;
2、浏览器垃圾回收机制;
3、h5性能优化做了哪些;
4、webpack打包优化;
5、网络安全,什么是CSRF攻击?举个例子?如何预防?scrf_token怎么生成。
二面:
1、事件代理
2、作用域
3、闭包
4、解决跨域的方法
5、script标签上async与deffer属性的区别
6、手动实现5题中的deffer效果
7、XSS攻击?如何预防?字符转译后输出的结果?
8、项目优化做了哪些?
9、性能监控怎么做?哪些指标?
10、如何监控第三方脚本的报错信息?
三面:
1、h5项目优化做了哪些?
2、在原公司的主要工作;
3、如何与产品或运营团队协商需求实现方案
4、对rn的了解
5、浏览器缓存策略,项目中如何运用
四面面委会:
1、js数据类型有哪些?如何判断?
2、闭包及作用域,闭包的运用
3、js内存溢出,为什么会导致,如何检查处理
4、浏览器地址栏输入内容到页面展现的整个过程(这个可以答得很细,答的好是个加分项);
5、性能优化做了哪些?(我答了webpack打包、缓存、cdn、懒加载、页面事件代理、观察者模式肩痛滚动事件)
6、线上问题如何预防(其实就是监控工具或者脚本)
7、node会哪些/
8、rn会哪些
9、三家公司离职原因
五面GM面:
1、自我介绍
2、项目优化做了哪些
3、rn会哪些
4、跨端开发经验,rn是否满足了我们的跨端需求
5、对大前端的看法
QQ音乐商业化-前端开发-第一轮视频初试-1h
1.项目介绍
2.原型链,继承
3.跨域的具体实现,有几种方式
4.反向代理
5.闭包的实现和应用场景
6.JS 的垃圾回收机制
7.性能优化
(1)路由软加载
(2)首屏优化,首屏渲染时间
(3)事件委托
(4)虚拟列表具体实现
(5)网络协议方向的优化->Http2.0 相比 http1.1, 新版本tcp连接可以并行处理,老版本是串行处理
头条APP-Web前端-视频初试
算法
1、写个数据结构要求转格式
2、用settimeout模拟promise then 效果
技术
1、所有跨域的方式以及它们之间的差别
2、怎么设置script标签异步加载
3、页面资源加载以及渲染原理
4、简述https和http2
5、settimeout 和 promise区别
6、列举性能优化的方式
7、宏任务与微任务的执行方式
字节跳动-微信小程序-web前端-视频初试
- 常用的h5标签有哪些
- 讲解css3动画
- js中创建对象有哪些方式
- react 和 vue的区别
- 讲讲tcp
- 算法:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
腾讯全民K歌-电话初试+复试
一 面:
1 nodejs如何实现错误监控
2 如何进行单元测试
3 前端项目上线部署流程
4 webpack知识
5 jsx如何解析
6 ui组件库如何在多个项目(多端)复用
7 浏览器事件系统 和nodejs事件系统区别
8 promise settimeout区别
二 面:
1 cocos2dx引擎底层原理 (动画引擎底层原理)
2 rn跨平台原理
3 jsonp跨平台原理 有什么缺点 有错误如何处理
4 跨域的各种问题
5 常用网络错误码
6 构建项目时 技术选型需要考量哪些方面
三 别的面试没回答好的
1 你认为你的优势在哪里
2 前端项目构建流程
3 前端自动化测试部署流程
四 自己额外总结的
1 nodejs如何做分布式更新
头条小程序-前端开发-视频初面
垂直居中,bfc,盒模型,flex属性,
设计模式
vdom diff算法,samenode
event loop
expire cache-control
字符串类型es6 api,字符串逆向
new操作符做了什么
改写原生bind方法
头条Web前端初面题目
项目中有没有开发有特色的组件
vue的子组件的通信
双向绑定原理
节流跟防抖的区别
关于webpack打包原理
字符串去重
算法的研究
- babel 原理
- wabpack 原理
- 如何优化白屏(服务端渲染)
- vue-route 路由显示原理
5 手写一个基于hash路由函数
6 $nextTrick原理
7 settimeout promise requestAnimationFrame 三个任务的时机 以及区别
1、二叉树节点交换
2、数组去重
3、浏览器缓存(静态资源缓存)
4、小程序运行原理
5、webpack 知识点。
6、webpack 中loader 与 plugin区别与实现
7、谈了一下项目中工具使用与实现
8、智力题:100只老虎与一只羊,老虎能吃草也能吃羊,但是老虎更愿意吃羊,老虎吃羊之后会变成羊,请问老虎会不会吃这只羊?注:老虎很理性