- 其实基础程序员面试就是考察你的基础知识
但是前端面试题会有很多,多到你看不完那种,对于这种情况我们不能盲目的使用题海战术,我们可以从题面上提取有用的关键字,并进行回答 如果只是简单说说倒是没什么 但是要是深入去解释的话就要知道会引出好多的问题,所以咱们可以不是很深入,但是必须要了解
举个例子
typeof() 是判断什么js类型的?
//这个题明眼扫去就是typeof 怎么使用的,但是就可以从中间引出JS的数据类型:
//就是JS的基本数据类型和引用数据类型,当然也可以顺势往下推进出栈内存和堆内存,深复制和浅复制,如何递归...
- 几个常见的面试题
发送url 到页面加载发生了什么
- DNS解析 (解析域名,解析出对应的IP地址)
- TCP连接 (三次握手在tcp连接中)
- 发送http请求
- 处理请求返回数据
- 渲染页面
- 连接结束
-
http状态码:
服务器返回响应码介绍
readyState为响应码,响应码共5个:
0:未初始化
1:向服务器发送请求
2:服务器已经接收请求
3:服务器正在处理数据
4:服务器准备就绪服务器http返回的状态码
1开头的 (临时响应)表示临时响应并需要请求者继续执行操作的状态代码 2开头的 (成功) 成功处理了请求的状态码。200 – 服务器成功返回网页 3开头的 (重定向) 要完成请求,需要进一步操作 301(永久重定向)请求的网页已永久移动到新位置、 302 (临时移动) 暂时重定向 304 (未修改)自从上次请求后,请求的网页未修改过 4开头的 (请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。 404 – 请求的网页不存在 5开头的 (服务器错误)表示服务器在尝试处理请求时发生内部错误, 这些错误可能是服务器本身的错误,而不是请求出错 500 (服务器内部错误)服务器遇到错误,无法完成请求。 503 (服务不可用)服务器目前无法使用(由于超载或停机维护)这只是暂时状态
-
三次握手(建立连接之前)
1,第一次握手:客户端向服务端发送连接请求报文段;
2,第二次握手:服务端收到连接请求报文段后,若同意连接,就发送应答;
3,第三次握手:客户端收到连接同意应答后,向服务端发送确认报文段,表示收到 -
四次挥手 (断开连接之前)
1,第一次挥手:若客户端认为数据发送完成,则它需要向服务器端发送连接释放请求
2,第二次挥手:服务器端收到连接释放请求后,会通知相应的应用程序,告诉它客户端向服务器端这个方向的连接已经释放
3,第三次挥手:当服务器端向客户端发完所有数据后,向客户端发送连接释放请求
4, 第四次挥手:客户端收到释放请求后,向服务器端发送确认应答 -
Http和Https的区别
端口不同:Http与Https使用不同的连接方式,用的端口也不一样;
资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源;
开销:Https通信需要证书; -
get与post请求的区别
Get 请求能缓存,Post 不能。
Post 相对 Get 安全一点点,因为Get 请求都包含在 URL 里,
get会被浏览器保存历史纪录,Post 不会,但是在抓包的情况下都是一样的。
Post 可以通过 request body来传输比 Get 更多的数据,
Get 没有这个技术URL有长度限制,会影响 Get 请求,但是这个长度限制是浏览器规定的,不是 RFC 规定的Post 支持更多的编码类型且不对数据类型限制1