今天晚上参加了一场长达 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. 浏览器的缓存机制?