大厂面试题,看看到哪题会跪
对前端感兴趣的小伙伴,可以关注我的 Github
以下是一些大厂考的高频题,也是中高级前端和初级前端的分水岭,大家可以试试自己解答一下,今天只出题不给答案。欢迎大家在评论区给出你的答案或者对于这些题目的见解 😊
一、问答题
1、什么是BFC,作用有哪些?哪些情况下会触发BFC?
2、解释一下盒模型,平常会怎么使用这个属性?
3、什么情况下你会使用 translate() 来替代绝对定位?
4、git 的 rebase 命令和 merge 命令的区别,什么时候该用 rebase ,什么时候该用 merge ?
5、你做的项目里面,什么样的业务场景里面遇到过跨域的问题,后来又是怎么解决的?
6、http 请求方式作用,请求头部解析 body 的属性,缓存的属性
7、304缓存,有了Last-Modified,为什么还要用ETag?有了Etag,为什么还要用Last-Modified?Etag一般怎么生成?
8、http2.0的优势?
9、以下代码会输出什么结果?为什么?
console.log('1');
setTimeout(function () {
console.log('2');
process.nextTick(function () {
console.log('3');
})
new Promise(function (resolve) {
console.log('4');
resolve();
}).then(function () {
console.log('5')
})
})
process.nextTick(function () {
console.log('6');
})
new Promise(function (resolve) {
console.log('7');
resolve();
}).then(function () {
console.log('8')
})
setTimeout(function () {
console.log('9');
process.nextTick(function () {
console.log('10');
})
new Promise(function (resolve) {
console.log('11');
resolve();
}).then(function () {
console.log('12')
})
})
10、说说getOwnPropertyDescriptors函数,对象自身属性描述符有哪些?configurable 和 enumerable的作用?configurable 设置为true后还能删除该属性吗?
11、fetch 和 axios 的选型,各有什么优缺点
12、函数节流和防抖用于什么场景,说说实现的思路
13、有了解过 React 高阶函数么?你做过的项目中什么地方用到了高阶函数?高阶函数的有什么缺点
14、说说对 虚拟DOM 和 Diff 算法的理解
15、React-router 的底层原理有了解过么?BrowserRouter 和 HashRouter 的区别,HashRouter对于后端来说有什么影响?
16、Redux 中的 reducer 传入一个拷贝一份 state 数据是最佳实践,如果不这样做,会发生什么?为什么?
17、生产环境下 debug 的方案有哪些?
18、webpack 打包速度太慢了,有什么解决方案
19、说一下 Promise 的实现思路
二、代码题
1、实现 getProperty({a: 1, b: 2}) // [['a', 1], ['b', 2]]
2、至少用两种方案实现 duplicate([1,2,3,2,1]) // [1,2,3]
3、用缓存机制实现 记忆化斐波那契函数: f(n) = f(n - 1) + f(n -2),
4、实现 add(1, 2, 3)(10) // 输出16
5、实现 Promise.all()
6、简单的实现一下 redux
7、简单实现一个swiper
8、简单实现一个select
9、最长字符串
/**
* 说明:给定一个字符串,请找出其中无重复字符的最长子字符串的长度
* 输入描述:一个字符串
* 输出描述:一个整数
* 示例:
* ”abcabcbb", 其无重复字符的最长子字符串是'abc',其长度是3
* “bbbbb", 其无重复字符的最长子字符串是‘b',其长度是1
*/
10、字符解码
/**
* 说明:给定一个编码字符,按编码规则进行解码,输出字符串
* 编码规则是`count[letter]`,将letter的内容count次输出,count是0或正整数,
letter是区分大小写的纯字母
* 示例:
* const s = '3[a]2[bc]'; decodeString(s); // 返回'aaabcbc'
* const s = '3[a2[c]]'; decodeString(s); // 返回'accaccacc'
* const s = '2[abc]3[cd]ef'; decodeString(s); // 返回'abcabccdcdcdef'
*/
想找萝卜或者想找坑的童鞋,可以加入我们的 “前端内推群”,里面有 BATJ 等大厂的 HR,同时也有精通React、Vue、Node、小程序的大佬。
加小姐姐微信,请她拉你进去。(注明一下你的title哦)
前端内推群.png 红包2.jpeg
网友评论