乐趣区

刚面试完的前端面试题分享给大家

 今天晚上参加了一场长达 40 多分钟的技术面。我觉得面试官非常专业,问的问题也都是很棒的!自己很多知识都需要学习。所以我决定回想并记录下来。回答不对的地方欢迎大家指正!

我自己在小本本上回忆出来的大概就是 26 道题。后期我会持续更新我学习知识点后的正确答案!


1. 项目中前端性能优化有哪些?

 答:1. 减少 http 请求,2. 图片压缩,用雪碧图,用合适格式的图片以及 base64  3. 代码压缩 

2.gitlab 知道吗?

 答:因为我确实不知道,搜了一下原来就是和 GitHub 类似的,可以免费创建私人项目的工具。其实我应该回答一下用过 GitHub 就好了。

3. 创建对象有哪些方法?

> 答:1. 用对象字面量 2. 用 new Object  3. 构造函 4.Object.create

4.js ES6 有哪些新特性?

> 答:箭头函数,let,const, 三个点【展开运算符】只想到这几个。不熟悉的不敢说,怕给自己埋雷!!!

5. 你知道的 react 生命周期函数有哪些?都用来干嘛的?

> 答:componentDidMount【请求后台】componentWillReceiveProps【更新数据】componentWillUnMount【清空数据】render[渲染页面]

6. 为什么要在 componentDidMount 请求后台?

答:这个我不知道,我这边回答的是页面已经渲染好了。面试官告诉我这里请求服务器渲染会出问题,问我做过服务器渲染吗?我说我没有。然后就下一个问题了。

7. 实现一个数组乱序输出

答:我就想到了 math.random 去找下标。但是具体的实现也不会。面试官很好,我不会的他也不会为难我。

8.ADM CMD COMMONJS 区别?
9.webpack 你知道有哪些用法?怎么处理 css,less 排序?
10. 怎么实现预加载?
11.hashRouter 和 BrowserRouter 的区别?

答:hashRouter 有 #号,BrowserRouter 没有# 号。区别 BrowserRouter 更优美。

12.ajax 用到的请求方式有哪些?

答:get put delete post,但是面试官告诉我有 12 种!

13.react 高阶函数是什么?和普通函数的区别?

答:不知道,下来在调研一下。

14. 什么是虚拟 DOM,好处?

答:可以实现局部渲染,提高页面性能

15.script 怎么实现异步加载?

答:1. 放在底部 2.async 3.defer

16. 什么是原型?怎么取到上级的方法?
17. 继承怎么实现?
18. 自动化?
19. 预加载及实现
20. 箭头函数优点?

答:优美,简洁,代码可读性高。

21. 知道箭头函数的 this 吗?

答:可以实现谁调用 this 就指向谁,不需要在 bind.

22.typeScript 用过吗?

答:没有

23. 项目中 react 路由怎么实现的?数据传递?

答:用的一个 Route 实现的。state props

24. 知道 options?做到多页面吗?

答:不知道,只有单页面经历。

25.http2.0?
26. 浏览器的缓存机制?

退出移动版