前端面试题

1. 前端基础

  1. npm
  1. npm 的基本用法
  2. 详细说说 npm install 的细节
  1. cookie 与 session 的区别
  1. 基本概念与属性
  2. cookie 的详细用法,有效期设置,怎么清除cookie,修改cookie的值,能手写代码最好
  1. 跨域问题
  1. 浏览器的同源策略
  2. 为什么要跨域
  1. 有哪些跨域方法
  2. jsonp 的实现机制
  1. 服务器的跨域配置
  1. http 协议
  1. https 的基本概念
  2. http1、1.2、2、3 的特性
  1. https 协议握手细节
  2. 全站 https 需要注意哪些地方
  1. http 缓存
  2. http 状态码
  1. 区分30x的区别
  2. 区分40x的区别
  1. 区分50x的区别
  1. 浏览器缓存

2. HTML

  1. html 5 新标签介绍
  2. iframe
  1. 对于 iframe 的理解
  2. 能解决什么问题
  1. iframe 的跨域方法
  2. iframe 的性能问题

3. CSS

  1. css3 新特性、动画相关
  2. position 属性
  1. div 的水平垂直居中

4. JavaScript

  1. 聊聊 generator
  1. 对es6新特性的了解
  1. 怎么申明
  2. 执行机制
  1. 能解决什么问题
  1. 面向对象的概念,new 操作符做了什么,作用域链与原型链
  1. 能说出new 操作符做了什么
  2. 能说出作用域链和原型链的基本概念
  1. 聊聊 promise
  1. 对 es6 新特性的了解
  1. 基本概念
  2. 解决什么问题
  1. 更多进阶用法
  1. var,let,const 的区别
  1. 能说出var,let,const的基本概念
  2. 函数作用域 vs 块级作用域变量提升
  1. let和var是否可以重复声明常量
  1. 用 es6 实现一个冒泡算法
  1. es6 语法,排序算法基础
  2. 更多的排序算法
  1. 快速排序
  2. 二分法
  1. 最好能手写代码
  1. 箭头函数和 this
  1. 函数内部 this 的指向
  2. 箭头函数内部的 this 指向
  1. call,apply,bind 的区别
  2. 聊聊 ajax
  1. 对于异步网络请求的理解
  2. ajax 的实现原理
  1. fetch 的实现原理
  2. 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

实现一个状态管理器

const { getState, subscrible, once, dispatch } = new StateManager(initState, actionMap);

const unSubscrible = subscrible(() => {

    // do something

});

 

class StateManager {

    // code here

}

 

4

多任务并行,在保证有序的前提下,尽可能早的打印出所有结果

const tasks = [

    fetch(url1),

    fetch(url2),

    ...

    fetch(url10)

];

function orderedPriority() {

    // code here

}

orderedPriority(tasks);

 

5

实现一个 URL 拼接函数

// url 示例:

//   'https://sensorsdata.cn'

//   'https://sensorsdata.cn?from=wx'

//   'https://sensorsdata.cn#about'

//   'https://sensorsdata.cn?a=b#def'

// params 示例:

//    { a: b, c = d}

//    'a=b&c=d'

 

function URIContact(url, params) {

  // code here

}

 

6

将数组中的0放在后面

 

 

7

css 持续动画

 

 

8

分解质因数

 

 

9

二维数组转树

 

 

10

柯里化

 

 

posted @ 2021-04-23 15:48  雾夜飞雨  阅读(87)  评论(0编辑  收藏  举报