一面:
1.介绍一下项目的背景和自己充当的一个角色,还问了一些关于项目的一些功能实现点(差不多10分钟)
2.基本的数据类型
3.undefine和null的区别
4.如何检测当前变量是什么类型,有哪几种
5.说一下重排和重绘
6.如何实现响应式布局或者是弹性布局,有哪些方式
7.浏览器的渲染过程
8.watch和computed的区别
9.vue-router的实现原理(hash和history)
10.在项目中懒加载是怎么做的
11.前端的错误应该怎么处理,有哪些方式处理
12.DNS的解析过程
13.说一说缓存(这里说了强缓存和协商缓存)
14.判断缓存是否过期有两个关键字,分别是哪两个
15.服务器内存泄漏了该怎么排查
16.深拷贝和浅拷贝的区别
17.说一说防抖和节流,并分别举一个应用场景
18.说一下实现节流的思路(我说了一个不用定时器的,她喊我说一个用定时器的节流)
手写题:将一个数组转换为树形结构要求:让代码更有健壮性
二面:
1.从输入url到浏览器展示页面经历了些什么
2.讲一下DNS域名解析的过程
3.本地储存这个ip会存多久
4.为什么这个ip会有时效性呢
5.Tcp的建立过程和销毁过程
6.为什么要进行三次握手和四次挥手
7.http是由什么组成的
8.什么是报文体
9.http发送的内容结构是什么样的
10.说一下进程和线程
11.进程里面有什么数据结构进行存储的
12.说一下浏览器的渲染原理
13.内存泄漏应该怎么去排查
14.手写节流
15.数组和链表有什么差别
16.说一下你知道的数据结构有哪些,并说一下他们的特点
17.手写一个队列
18.说一下一个队列函数需要有哪些功能
19.然后就是看项目,把代码给它看,边看边问
hr面就一些常规问题,没什么为难的
#软件开发笔面经#