通用必备基础知识
- 抛开iOS 开发这一项技能,我们最基础的本质还是一名软件开发工程师,所以基础的部分必不可少,本篇面经中,不会具体总结出每个公司每一面具体考的内容,而是会根据不同的知识点将面试真题分为不同的专题部分来具体分析。
计算机网络
-
对于大前端类,计算机网络主要考量的还是传输层和应用层部分的知识。
-
浏览器输入url到网页显示经历了什么过程?
-
TCP三次握手:具体是怎么握手?为什么要三次握手?两次行不行?为什么不行?三次握手,第二次和第三次分别因为什么?
-
TCP是如何保持可靠传输的(拥塞控制,慢启动等等概念的理解)
-
TCP为什么要四次挥手,TIME_WAIT为什么至少设置两倍的MSL时间?
-
TCP三次握手的详细数据传递,四次挥手详细数据内容,数据包组成、TIME_WAIT状态,2MSL,RTT,重传、滑动窗口、拥塞原理等等
-
TCP、UDP面向连接、无连接具体理解,他们的区别,如何将 UDP 改造成和 TCP 功能相似
-
TCP/IP四层协议,OSI七层协议,每层都有啥对应的协议,原理是啥
-
http报文结构,http中超文本超是啥意思,http请求的组成
-
http 报文头部含有什么,multipart了解吗
-
http的状态码,200,304,301,http请求报文,响应报文
-
get和post请求的区别?什么情况下用到?POST传输的数据都有哪些格式呢(这里需要搞定http各种请求传输的数据格式)
-
描述一次完整的http请求
-
什么是cookie,什么是session,区别联系,cookie的本质是什么
-
http1.0,1.1,2.0的区别
-
https有几次握手和挥手?https的原理。http有几次挥手和握手?TLS在哪一网络层,基本原理是什么?
-
https与中间人攻击
-
HTTPS,安全层除了SSL还有,最新的? 参数握手时首先客户端要发什么额外参数
-
HTTPS是什么?握手过程,SSL原理,非对称加密了解多少
-
证书是干什么用的
算法
-
剑指 offer 上面的题目都是面试过程中的算法高频题