前端面试题
1. 前端基础
- npm
- npm 的基本用法
- 详细说说 npm install 的细节
- cookie 与 session 的区别
- 基本概念与属性
- cookie 的详细用法,有效期设置,怎么清除cookie,修改cookie的值,能手写代码最好
- 跨域问题
- 浏览器的同源策略
- 为什么要跨域
- 有哪些跨域方法
- jsonp 的实现机制
- 服务器的跨域配置
- http 协议
- https 的基本概念
- http1、1.2、2、3 的特性
- https 协议握手细节
- 全站 https 需要注意哪些地方
- http 缓存
- http 状态码
- 区分30x的区别
- 区分40x的区别
- 区分50x的区别
- 浏览器缓存
2. HTML
- html 5 新标签介绍
- iframe
- 对于 iframe 的理解
- 能解决什么问题
- iframe 的跨域方法
- iframe 的性能问题
3. CSS
- css3 新特性、动画相关
- position 属性
- div 的水平垂直居中
4. JavaScript
- 聊聊 generator
- 对es6新特性的了解
- 怎么申明
- 执行机制
- 能解决什么问题
- 面向对象的概念,new 操作符做了什么,作用域链与原型链
- 能说出new 操作符做了什么
- 能说出作用域链和原型链的基本概念
- 聊聊 promise
- 对 es6 新特性的了解
- 基本概念
- 解决什么问题
- 更多进阶用法
- var,let,const 的区别
- 能说出var,let,const的基本概念
- 函数作用域 vs 块级作用域变量提升
- let和var是否可以重复声明常量
- 用 es6 实现一个冒泡算法
- es6 语法,排序算法基础
- 更多的排序算法
- 快速排序
- 二分法
- 最好能手写代码
- 箭头函数和 this
- 函数内部 this 的指向
- 箭头函数内部的 this 指向
- call,apply,bind 的区别
- 聊聊 ajax
- 对于异步网络请求的理解
- ajax 的实现原理
- fetch 的实现原理
- ajax 与 fetch 有什么不同
5. 笔试
|
题目 |
答案 |
|
题目 |
答案 |
1 |
请写出下面ES6代码编译后所生成的ES5代码;(10分) class Person { constructor(name) { this.name = name; } greet() { console.log(`Hi, my name is ${this.name}`); } greetDelay(time) { setTimeout(() => { console.log(`Hi, my name is ${this.name}`); }, time); } } |
|
2 |
用setTimeout来实现setInterval(10分) |
更好的实现
|
3 |
|
|
4 |
多任务并行,在保证有序的前提下,尽可能早的打印出所有结果
|
|
5 |
实现一个 URL 拼接函数
|
|
6 |
将数组中的0放在后面 |
|
7 |
css 持续动画 |
|
8 |
分解质因数 |
|
9 |
二维数组转树 |
|
10 |
柯里化 |
|