前端面试题——实际遇到

1.react生命周期、优化方式
2.js判断数据类型的方法,各有什么区别
3.用户在浏览器输入url,按了回车键之后到页面渲染出来,都触发了什么
4.状态码
5.redux和dva的区别
6.函数节流、函数防抖动

答:
1.
优化方式参考:https://www.cnblogs.com/penghuwan/p/6707254.html
个人认为重点:
1)当引用多个组件的时候,其中一个组件重新渲染,别的组件也会跟着重新渲染,浪费性能,需要阻拦
2)当我们的state中的数据结构变得复杂些的时候就会遇到问题,需要数据进行深拷贝

2.参考:https://blog.csdn.net/mozuncangtianbaxue/article/details/77151598
1)typeof
2)instanceof
3)constructor
4)Object.prototype.toString

3.参考:https://blog.csdn.net/Charles_Tian/article/details/80204526
1)首先浏览器会开启一个线程来处理这个请求,对URL判断如果是http协议就按照web方式处理;
2)然后浏览会先从搜索自身的DNS(Domain Name System,域名系统)缓存开始,一级一级往上搜索。意思是浏览器先在自身的DNS缓存(这涉及浏览器的缓存机制)中搜索是否有www.baidu.com这个域名;
3)如果上述过程,在任一一个缓存中找到,那么便直接在屏幕中显示页面内容;如果都没找到的话,浏览器会发起一个DNS的一个系统调用
4)通过DNS服务器解析后获得了网址的IP地址后,浏览器向域名对应的IP地址服务器发起TCP连接,即发起HTTP“三次握手”
5)TCP/IP连接建立起来以后,浏览器就可以向服务器发送HTTP请求了;
6)服务器端接受到了这个请求后,根据路径参数,经过后端的一些处理之后,把处理后的结果返回给浏览器;
7)浏览器拿到了完整的HTML页面代码或者其他的数据结果后,浏览器开始下载HTML文档,同时设置缓存并关闭TCP连接。
8)浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给用户。

4.参考:https://www.runoob.com/http/http-status-codes.html
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

5.dva框架就是一个redux框架与redux-saga等框架的一个集大成者,把几个常用的数据处理框架进行了再次封装,在使用方式上给使用者带来了便。

6.参考:https://mp.csdn.net/mdeditor/89516986#

你可能感兴趣的:(前端面试题——实际遇到)