2020最新:100道有答案的前端面试题(下)
51.写出执行结果,并解释原因
["1", "2", "3"].map(parseInt);
分类:JavaScript
52.写出执行结果,并解释原因
[typeof null, null instanceof Object] 复制代码
分类:JavaScript
53.写出执行结果,并解释原因
function f() {} const a = f.prototype,b = Object.getPrototypeOf(f) console.log(a === b); 复制代码
分类:JavaScript
54.写出执行结果,并解释原因
function showCase(value) { switch(value) { case 'A': console.log('Case A'); break; case 'B': console.log('Case B'); break; case undefined: console.log('undefined'); break; default: console.log('Do not know!'); } } showCase(new String('A')); 复制代码
分类:JavaScript
55.选择正确的答案
console.log([2,1,0].reduce(Math.pow)); console.log([].reduce(Math.pow));
/ * A. 2 报错 B. 2 NaN C. 1 报错 D. 1 NaN */ 复制代码
分类:JavaScript
56.请问变量a会被GC吗
function test(){
var a = 1;
return function(){
eval("");
}
}
test();
复制代码
分类:JavaScript
57.写出执行结果,并解释原因
const value = 'Value is' + !!Number(['0']) ? 'yideng' : 'undefined'; console.log(value); 复制代码
分类:JavaScript
58.写出执行结果,并解释原因
var arr = [0,1]; arr[5] = 5; newArr = arr.filter(function(x) { return x === undefined;}); console.log(newArr.length); 复制代码
分类:JavaScript
59.写出执行结果,并解释原因(以最新谷歌浏览器为准)
async function async1() { console.log('async1 start'); await async2(); console.log('async1 end'); } async function async2() { console.log('async2'); } console.log('script start'); setTimeout(function() { console.log('setTimeout'); }, 0) async1(); new Promise(function(resolve) { console.log('promise1'); resolve(); }).then(function() { console.log('promise2'); }); console.log('script end'); 复制代码
分类:JavaScript
60.下面代码中 a 在什么情况下会打印 1
var a = ?; if(a == 1 && a== 2 && a== 3){ console.log(1); } 复制代码
分类:JavaScript
61.写出执行结果,并解释原因
const obj = { '2': 3, '3': 4, 'length': 2, 'splice': Array.prototype.splice, 'push': Array.prototype.push } obj.push(1) obj.push(2) console.log(obj) 复制代码
分类:JavaScript
62.Vue父组件可以监听到子组件的生命周期吗?如果能请写出你的实现方法。
分类:Vue
63.请问React调用机制一共对任务设置了几种优先级别?每种优先级都代表的具体含义是什么?在你开发过程中如果遇到影响主UI渲染卡顿的任务,你又是如何利用这些优先级的?
分类:React
64.以下两段代码会抛出异常吗?解释原因?
let yd = { x: 1, y: 2 }; // 以下两段代码会抛出异常吗? let ydWithXGetter1 = { ...yd, get x() { throw new Error(); }, };
let ydWithXGetter2 = { ...yd, ...{ get x() { throw new Error(); }, }, }; 复制代码
分类:JavaScript
65.写出类数组转换结果,并解释原因
const arrLike = { length:4, 0:0, 1:1, '-1':2, 3:3, 4:4, } console.log(Array.from(arrLike)); console.log(Array.prototype.slice.call(arrLike)); 复制代码
分类:JavaScript
66.对于扩展运算符,下面代码的执行结果是什么?并解释原因
let ydObject = { ...null, ...undefined }; console.log(ydObject); let ydArray = [...null, ...undefined]; console.log(ydArray); 复制代码
分类:JavaScript
67.对于length下面代码的输出结果是什么?并解释原因
function foo(){ console.log(length); } function bar(){ var length = "京程一灯"; foo(); } bar(); 复制代码
分类:JavaScript
68.请写出如下代码的打印结果
var obj = {}; var x = +obj.yideng?.name ?? '京程一灯'; console.log(x); 复制代码
分类:JavaScript
69.关于隐式转换,下面代码的执行结果是什么?并解释原因
let a = []; let b = "0"; console.log(a == 0); console.log(a == !a); console.log(b == 0); console.log(a == b); 复制代码
分类:JavaScript
70.关于数组sort,下面代码的正确打印结果是什么,并解释原因
const arr1 = ['a', 'b', 'c']; const arr2 = ['b', 'c', 'a']; console.log( arr1.sort() === arr1, arr2.sort() == arr2, arr1.sort() === arr2.sort() ); 复制代码
分类:JavaScript
71.写出下面代码null和0进行比较的代码执行结果,并解释原因
console.log(null == 0); console.log(null <= 0); console.log(null < 0); 复制代码
分类:JavaScript
72.谈一下微信小程序的架构以及为什么要用到双线程
公司:快手
分类:小程序
73.随便打开一个网页,用 JavaScript 打印所有以 s 和 h 开头的标签,并计算出标签的种类
公司:快手
分类:JavaScript
74.给定一个数组,按找到每个元素右侧第一个比它大的数字,没有的话返回-1 规则返回一个数组
/* *示例: *给定数组:[2,6,3,8,10,9] *返回数组:[6,8,8,10,-1,-1] */ 复制代码
公司:快手
分类:JavaScript
75.tcp 和 udp 有什么区别?tcp 怎样确保数据正确性?tcp 头包含什么?tcp 属于那一层?
公司:头条、边锋
分类:网络&安全
76.介绍下 Https,和 http 的区别是什么?https 为什么比 http 安全?如何进行配置?
公司:边锋、老虎、脉脉、掌门一对一、喜马拉雅、寺库、腾讯应用宝、快手
分类:网络&安全
77.说一下对 React-redux 的理解以及它的原理,主要解决什么问题
公司:阿里、脉脉
分类:React
78.TCP 三次握手
公司:菜鸟网络、头条
分类:网络&安全
79.讲一下 webpack 原理, loader 和 plugin,你知道哪些模块化标准,说下 cjs 和 esmodule 的区别
公司:头条
分类:工程化
80.React 数据持久化有什么实践吗?
公司:洋葱学院
分类:React
81.请用算法实现,从给定的无序、不重复的数组data中,取出n个数,使其相加和为sum。并给出算法的时间/空间复杂度。(不需要找到所有的解,找到一个解即可)
function getResult(data,n,sum){ // your code } 复制代码
公司:头条
分类:算法
82.Redux 中异步的请求怎么处理
公司:滴滴
分类:React
83.什么是深拷贝,和浅拷贝有什么区别,动手实现一个深拷贝
公司:顺丰、新东方、高德、虎扑、微医、百分点、酷狗
分类:JavaScript
84.介绍下 webpack,并说下 Webpack 的构建流程
公司:头条、挖财
分类:工程化
85.对闭包的看法,为什么要用闭包?说一下闭包原理以及应用场景
公司:滴滴、携程、喜马拉雅、微医、蘑菇街、酷家乐、腾讯应用宝、安居客
分类:JavaScript
86.大数计算如何实现
公司:洋葱学院
分类:JavaScript
87.说下 tree-shaking 的原理
公司:头条
分类:工程化
88.说一下 React diff 算法
公司:脉脉
分类:React
89.手写实现 Array.flat()
公司:滴滴、快手、携程
分类:JavaScript
90.PWA 是什么?对 PWA 有什么了解
公司:头条、喜马拉雅
分类:网络&安全
91.Css 如何画出一个扇形,动手实现下
公司:头条
分类:Css、编程题
92.说一下盒子模型,以及标准情况和 IE 下的区别
公司:兑吧
分类:Css
93.Umi 和 dva 分别是干嘛用的?为什么会有 umi dva 的出现?使用起来有什么不方便的地方吗?
公司:洋葱学院
分类:其它
94.CDN 是什么?描述下 CDN 原理?为什么要用 CDN?
公司:头条、滴滴、网易
分类:网络&安全
95.es5 实现 isInteger
公司:头条
分类:JavaScript
96.单向链表实现队列
公司:头条
分类:算法
97.手写 dom 操作,翻转 li 标签,如何处理更优
/* *有下边这样的dom结构,现在可以获取到ul,要求翻转里边li标签,如何处理更优 */
- 1
- 2
- 3
公司:快手
分类:
98.怎样判断一个对象是否是数组,如何处理类数组对象
公司:快手
分类:JavaScript
99.是否了解 glob,glob 是如何处理文件的,业界是否还有其它解决方案
公司:快手
分类:JavaScript
100.说一下 Vue 的 keep-alive 是如何实现的,具体缓存的是什么?
公司:快手
分类:Vue