/interview-question

收集一些面试题

Primary LanguageJavaScript

interview-question

题目列表

CSS

1. 选择器及样式优先级

2. 块级格式化上下文 BFC原理

3. CSS中常见的继承属性

4. 分析比较 display: none、opacity: 0、visibility: hidden 的优劣

5. 层叠上下文

6. 对flex的理解

7. z-index的渲染机制

JavaScript

1. 实现 (5).add(3).minus(2),例: 5 + 3 - 2,结果为 6

2. 某公司 1 到 12 月份的销售额存在一个对象里面,如下:{1:222, 2:123, 5:888},请把数据处理为如下结构:[222, 123, null, null, 888, null, null, null, null, null, null, null]

3. 将一个多维数组平铺成一维数组

4. 为什么0.1 + 0.2 === 0.3 结果为false

5. 什么是原型链

6. 函数节流和防抖的概念以及常见的使用场景

7. ['1', '2', '3'].map(parseInt)

8. js实现自定义事件

9. js常用运算符的优先级

10. 箭头函数和普通函数之间的区别

11. 闭包及闭包的意义

12. 什么是IIFE

13. 模块化的历史进程

14. 简单实现几种排序算法

15. Proxy的简单使用

16. 如何把一个字符串的大小写取反(大写变小写小写变大写)

17. null是对象吗?为什么

18. typeof和instanceof的原理及区别

19. Object.is和===的区别

20. this的理解

21. 实现一个new

23. 模拟实现call、apply

24. 模拟实现bind函数

25. JavaScript内存机制

26. v8引擎执行js代码的过程简析

27. 数组去重方法实现

28. 实现数组展平

29. 实现Event(event bus)

30. 何为事件委托

31. JS数组的高阶函数的概念,以及有哪些常用的原生高阶函数

32. V8引擎的垃圾回收

33. Object.create()

34. EventLoop的理解,浏览器环境和Node环境的区别

35. 生成器(Generator)的理解

36. 前端路由的实现原理

37. Babel是什么,原理是什么,实现语法转换的过程

38. 对AST的理解

39. 深浅拷贝的实现

40. class(类)的实现

41. 箭头函数和普通函数的区别

42. 函数柯里化实现

43. 常见的继承方式的实现

浏览器及网络

1. 简述UDP、TCP的异同点

2. 简述TCP的三次握手、四次挥手

3. 常见的HTTP请求报文头和响应报文头属性

4. CDN的实现原理

5. 从输入url到页面展示的过程

6. HTTP1.1 如何解决 HTTP 的队头阻塞问题

7. 出现307状态的原因及处理方式

前端工程化

1. webpack中plugin和loader的区别

2. webpack中常用的loader和plugin

3. 前端性能优化

4. 组件设计原则

5. webpack热更新流程

前端安全

1. 简述前端安全

框架基础

1. 对于MVVM的理解

算法

1. 实现洗牌算法

2. LRU算法实现

3. Leetcode#69 x的平方根

4. Leetcode#204 计数质数

编程题

1. 经典面试题: 实现一个LazyMan

2. 实现Event(event bus)

3. 大数相加

4. 实现千位分隔符

5. 回文数判断

Vue

1. vue中父子组件的加载顺序

2. 虚拟DOM的理解

3. diff算法简析