头条前端面试题(一)
一轮
1.dom react原理
2.css布局
3.js原型链继承
4.fetch取消
5.eventloop
6.instanceof
7.promise封装setstate
8.redux基本组成和设计单向数据流
9.https协议的过程
10.https获取加密密钥的过程
11.http的方法有哪几种,每种方法的有用途
12.类式继承的方案
13.prototype继承的实现
14.数字千分位处理,正则和非正则都要实现
15.借用构造继承,几种组合继承方式
16.看编程代码说出运行结果:Process.nextTick,setImmediate和promise.then 的优先级Process.nextTick,pronise,setImmediate的优先级
17.实现一个bind函数
18.千位加逗号
19.三个继承方式的优缺点 优化列出代码
20.odejs的事件循环
21.bfc
22.css实现正方形div水平垂直居中
23.koa1的原理,继承
24.最后是一个写代码处理有依赖的异步任务加重试
25.diff的原理
26.es6箭头函数
27.import和require的区别
28.symbol
29.函数实现正面模板
30.正方形实现,三角形实现
31.CSS考了伪类
32.实现布局header,content,footer,上中下布局;当content超出窗口可视区,不显示footer;当content 没超出可视区时,固定footer 在最下面
33.算法:背包问题、闭包问题、函数柯里化
34.宽是高的一半的垂直居中,里面有字体也要垂直居中类数组
35.promise async set time out先后次序
36.event类 on once灯方法
37.==的隐式转化
38.自己实现bind 函数
39.什么是闭包
40.最长子序列
41.二叉树中序遍历5http握手原理
42.6react 新版本的特性
43.多空格字符串格式化为数组44、bind函数运行结果
45、点击table的td显示td内容
46、数字千分位处理
47、固定日期与当前时间格式化处理
48、上中下三栏布局
49、实现一个子类实例可以继承父类的所有方法
50.节流函数
Koa中间件机制及代码实现
React Fiber原理以及为什么componentWillRecievedProps会废弃
53.给定一个数组,一个期望值,找到数组中两个相加等于期望值
54.1.html meta标签有啥作用
55.cookie结构有什么字段
56.bfc块级格式化上下文
57.css为什么要放在头部
58.react生命周期
59.react diff算法
60.react合成事件原理
61.http请求都包含哪些字段
62.http请求幂等性
63.versions是一个项目的版本号列表,因多人维护,不规则
var versions=[‘1.45.0’,‘1.5’,‘6’,‘3.3.3.3.3.3.3’]
要求从小到大排序,注意’1.45’比’1.5’大
sorted=[‘1.5’,‘1.45.0’,‘3.3.3.3.3.3’,‘6’]
64.css 如何实现元素a距离屏幕10px,高度无论宽度怎么改变都是其.5
65.隐式转换,会问为什么这样
66.同步异步输出的顺序
67.argument是数组吗,如果不是怎么变为数组
68.如何实现for循环内定时器依次输出123
69.bind实现
70.函数节流
71.动态规划算法
72.function request(urls, maxNumber, callback)要求编写函数实现,根据urls数组内的url地址进行并发网络请求,最大并发数maxNumber,当所有请求完毕后调用callback函数(已知请求网络的方法可以使用fetch api)
73.throttle函数实现
74.requestAnimationFrame和 setTime、setInterval的区别,requestAnimationFrame 可以做什么
75.二叉树路径总和(leetcode 112)
76.给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况(leetcode 40 变种,数字不得重复使用)
77.冒泡算法
78.前端安全,DOS
79.前端缓存、回话机制
80.跨域
81.计算机网络知识TCP UDP
82.测试单测、集成测试
83.自动化集成
84.Docker应用
85.Nodejs express koa
86.【前端面经总结——字节跳动头条笔试一面+二面 -Eason_Wong - 简书】https://www.jianshu.com/p/07b24b4baa35
87.给自己的技术栈排名
88.项目技术难题/解决方案
89.执行顺序问题:考察宏任务和微任务 setTimeout/Promise等
90.实现bind方法
91.算法:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
92.设计一个多人协作的记事本程序
93.[‘a’,‘b’],[‘A’,‘B’],[‘1’,‘0’],输出[‘aA1’,‘aA0’,‘aB1’,‘aB0’,‘bA1’,‘bA0’,‘bB1’,‘bB0’],算法的排列组合问题
94.vue-router路由监听的原理
95.webpack打包的原理,webpack有没有针对打包过程做一些优化提升打包速度
96.请实现如下的函数,可以批量请求数据,所有的 URL 地址在 urls 参数中,同时可以通过 max 参数,控制请求的并发度,实现max个请求执行完之后再执行下max个请求,当所有请求结束之后,需要执行 callback 回调函数。发请求的函数可以直接 使用 fetch 即可
97.vue双向绑定的原理
98.写一个eventBus,元素水平垂直居中,vuex mobox,小程序架构优化 日志系统
二轮:
1.主要是围绕你的项目经历和技术,有一定的深度,主要还是要对项目全面熟悉;还有一个就是函数柯理化的编码实现
2.函数柯里化、Web安全、react性能优化、react算法原理
3.上来直接让写一个autocomplete 组件,可能是想考察业务思考点;
4.后续的问题主要会接着业务场景问扣实际场景不问知识理论;
5.http网络协议;
6.tcp为什么是可靠的;
7.js设计模式;
8.solid原则;
9.柯里化;
10.curry函数实现
11.https原理
12.webpack打包原理
13.babel原理
14.node相关基础问题
15.css单行和多行截断
16.给一个由域名组成的字符串进行按子域名分组的反转,比如news.toutiao.com 反转成com.toutiao.news 需要 in place 做 17.其他技术问题都是穿插在我的业务项目里面的,有点针对实际情景给解决
18、实现一个 Promise.all
19、手写代码:给定一个数组,形如 [1, 1, 2 , 3, 3, 3, 3, 4, 6, 6],给定一个数 n,例如 3,找出给定的数 n 在数组内出现的次数,要求时间复杂度小于O(n)
三轮:
1.自己做得最有成就的项目
2.自己主动承担并是核心的项目
3.项目深度:比如现场实现vue的数据代理等
4.技术广度:什么是微前端等
5.职业发展
6.小程序架构优化,
7.二叉树
8.diff算法,
9.页面渲染原理
10.图像算法
11.事件循环
12.长列表渲染
13.前端安全
更多IT资讯以及实用小技巧请关注下面攻纵號
回复:IT