面试题

168 阅读2分钟

js 数据类型:undefined null number string boolean symbol object bigint

  原始数据类型和引用数据类型:
    -   栈:原始数据类型(UndefinedNullBooleanNumberString)
    -   堆:引用数据类型(对象、数组和函数)

typeof

console.log(typeof true);            // boolean
console.log(typeof 'str');           // string
console.log(typeof []);              // 数组object    
console.log(typeof function(){});    // function
console.log(typeof {});              // 对象object
console.log(typeof undefined);       // undefined
console.log(typeof null);            // null object

instanceof判断对象类型:只能正确判断引用数据类型,不能判断基本数据类型

constructor有两个作用: 判断数据类型 对象实例通过constructor对象访问访问它的构造函数

    arr.constructor == Array
    //true

Object.prototype.toString.call()

== obj1 == obj2 //false 两个相同对象比较,引用数据类型,地址不一样 Boolean 类型的值,true 转换为 1,false 转换为 0。

es6新特性 www.cnblogs.com/wang--chao/…

浅拷贝

  • Object.assign
  • 展开运算符 ...

闭包www.cnblogs.com/zuoan-oopp/…

数组去重www.cnblogs.com/gaosirs/p/1…

原型和原型链zhuanlan.zhihu.com/p/35790971 url解析www.cnblogs.com/jin-zhe/p/1…

 HTTP 1.0 和 HTTP 1.1 之间有哪些区别?

非持久和持久连接 HTTP 1.1新增hst字段

HTTP 1.1 和 HTTP 2.0 的区别

二进制协议、多路复用,HTTP/2 的数据包是不按顺序发送的

HTTP和HTTPS协议的区别

HTTPS需要CA证书,费用高 HTTP超文本传输协议,信息明文传输,不安全,HTTPS用SSL加密传输协议

Webpack 基本配置 高级配置 优化打包效率 优化产出代码 构建流程概述 Babel

问题:

前端代码为何要进行构建和打包
moudle chunk bundle分别是什么意思,有何区别
loader和plugin的区别
webpack如何实现懒加载
webpack常见性能优化
babel-runtime和babel-polyfill的区别

TS webpack es6语法 vue搭建流程 vue生命周期 vue和react区别

react:函数式编程,数据不可变单向数据流,all in js,使用jsx编写html
vue:响应式原理,数据可变,单文件组件
代码复用:HOC、mixins

api请求跨域 闭包 git

html5新特性:语义化标签(header/footer/nav)、新增表单属性、video、audio、canvas、web worker

css3新特性:flex、媒体查询、border-radius、阴影、旋转、animation

es6:声明、结构赋值、箭头函数、rest参数、扩展运算符、proxy、数据类型Symbol、set、map、promise、async

js:动态脚本语言,有八种基本的数据类型