面试题 - 2021

174 阅读2分钟

typescript

never 类型是什么?

TypeScript 比起 JavaScript 有什么优点?

js

为什么 0.1 + 0.2 != 0.3?如何解决这个问题?

微任务和宏任务

原型和原型链

new

继承

闭包

作用域

什么是 JSONP,什么是 CORS,什么是跨域?手写实现jsonp, 跨域以及解决办法

ES6、ES7、ES8特性一锅炖(ES6、ES7、ES8学习指南)

class

ES 6 语法知道哪些,分别怎么用?

阮一峰es6

babel ES6 转换 ES5 实现原理

箭头函数都有哪些特点?

Promise、Promise.all、Promise.race 分别怎么用?

手写一个 Promise

async await 怎么用?实现原理是什么 ?

async await 如何捕获异常

回调函数的坏处

防抖、节流(手写函数防抖和函数节流)

手写AJAX

axios是什么?axios如何实现原理?ajax,axios,fetch的区别是什么?

this 是什么?有哪几种? call apply bind的区别

闭包/立即执行函数是什么?

深拷贝 浅拷贝

bind实现

[js继承原理及实现]徒手撸一个extends(zhuanlan.zhihu.com/p/85380611)

JS之理解ES6 继承extends

不用 class 如何实现继承?用 class 又如何实现?

手写 event bus

手写 bind

事件循环机制(浏览器的事件循环和nodejs事件循环的区别)

浅析JS堆、栈、执行栈和EventLoop

defer和async的区别

preloa和prefetch的区别

DOM事件与事件委托

理解:javascript中DOM0,DOM2,DOM3级事件模型

事件捕获与事件冒泡

代码[1,2,3].map(parseInt)

(a ==1 && a== 2 && a==3) 可能为 true 吗?

代码var a = {name: 'a'} a.x = a = {} 问 a.x 是多少?

JS 垃圾回收机制

如何用正则实现 trim()?

变量声明提升

软件工程思想,设计模式

图片懒加载

讲vue-lazyloader的原理,手写伪代码, 源码以及设计

函数式编程

前端持久化的方式、区别

手动实现parseInt

实现一个事件发布订阅类,其实就是eventEmitter,包括on、emit、off等等

用JavaScript的异步实现sleep函数

如何存储二叉树、如何存储完全二叉树、如何存储满二叉树

js 控制最大请求数(快手手写题目)

使用setTimeout模拟setInterval效果

var i = 0;
function time(){  //每隔1秒让++i
    console.log(++i);
    setTimeout(time,1000);
}
time(); //执行time函数

btn.onclick = function(){
    time = null; //重写time函数,从而起到关闭定时器的效果
}

html

meta都有哪些?作用是什么?

prfetch、preload区别,使用

async 、defer区别使用

css 为什么放到前面?

js为什么尽量放到后面?,如果要放到前面,怎么办?

重绘和回流(重排)

浏览器渲染机制

单页应用,爬虫抓取,seo 怎么优化,vue-ssr,服务端渲染,^_^ 请开始你得表演!!!!

css

页面导入样式时,使用 link 和 @import 有什么区别