一面:
一面也就是所谓的简历面,你简历有什么会问什么,也比较基础,不会的就答不会罢了.
1.TCP、UDP的区别(八股)
TCP/IP协议是一个协议簇。里面包括很多协议的因为TCP、IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,传输层,网络层,网络访问层。
连接性
TCP是面向连接的协议,在收发数据前必须和对方建立可靠的连接,建立连接的3次握手、断开连接的4次挥手,为数据传输打下可靠基础;UDP是一个面向无连接的协议,数据传输前,源端和终端不建立连接,发送端尽可能快的将数据扔到网络上,接收端从消息队列中读取消息段。
可靠性
TCP提供可靠交付的服务,传输过程中采用许多方法保证在连接上提供可靠的传输服务,如编号与确认、流量控制、计时器等,确保数据无差错,不丢失,不重复且按序到达;UDP使用尽可能最大努力交付,但不保证可靠交付。
报文首部
TCP报文首部有20个字节,额外开销大;UDP报文首部只有8个字节,标题短,开销小。
报文传输
TCP协议面向字节流,将应用层报文看成一串无结构的字节流,分解为多个TCP报文段传输后,在目的站重新装配;UDP协议面向报文,不拆分应用层报文,只保留报文边界,一次发送一个报文,接收方去除报文首部后,原封不动将报文交给上层应用。
吞吐量控制
TCP拥塞控制、流量控制、重传机制、滑动窗口等机制保证传输质量;UDP没有。
双工性
TCP只能点对点全双工通信;UDP支持一对一、一对多、多对一和多堆垛的交互通信。
tcp/udp应用场景:
TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该根据应用的目的按需使用
为了实现TCP网络通信的可靠性,增加校验和、序号标识、滑动窗口、确认应答、拥塞控制等复杂的机制,建立了繁琐的握手过程,增加了TCP对系统资源的消耗;TCP的重传机制、顺序控制机制等对数据传输有一定延时影响,降低了传输效率。TCP适合对传输效率要求低,但准确率要求高的应用场景,比如万维网(HTTP)、文件传输(FTP)、电子邮件(SMTP)等。
UDP是无连接的,不可靠传输,尽最大努力交付数据,协议简单、资源要求少、传输速度快、实时性高的特点,适用于对传输效率要求高,但准确率要求低的应用场景,比如域名转换(DNS)、远程文件服务器(NFS)等。
2.TCP三次握手和四次挥手(八股)
3.HTTP、HTTPS区别(八股)
问了下项目相关的一点点东西
4.CPU内部结构及作用(八股)
5.进程和线程的区别和联系(八股)
6.CPU进程调度算法(八股)
7.集合类的各种继承关系(八股)
8.HashMap与HashTable区别,HashTable底层实现(八股)
9. Volatile和synchronized的区别(八股)
10.什么是事务(八股)
11.Innodb默认隔离级别(八股)
12.这个级别会有什么问题,为什么,什么情况(rr隔离级别下还是会有幻读问题)
13.举了一些组合索引查询的例子来考我会不会走索引(很简单)
14.什么是回表,以及如何防止回表(答得模糊)
15.Jvm内存结构(八股)
16.手写一个单利模式(设计模式里必须会的了)
17.AVL树,为什么使用,如何旋转
18.堆,堆排序(还有好几种排序都问了下)
19.SpringIOC AOP (八股)
20.说一下分代回收 (八股)
21.了解的 垃圾收集器 (八股)
22.说一下g1和cms的区别 (八股)
场景题: 256M内存如何排序10G大数据(分而治之)吧
代码题: 二叉树的前序遍历(常规)
问了一下职业规划
最近看什么书
二面:
复制代码
1 2 3 4 5 6 7 8 9 10 | 主管面: 主要是针对项目发问 项目能承受的流量是多少? 为什么你能觉得你的项目能承受这么多并发量。Qps是多少 如何优化的? 扫码登录流程是什么 Cookie Session区别? Https好处? 项目中遇到死锁过吗?如何解决死锁; 其他的一些学习模式经历,自己实话实话就好了! |
三面:
复制代码
1 2 3 | 老板面: 还是针对项目发问 比二面要深一点,很多没答好. |
HR面:
复制代码
1 2 3 4 5 6 | 问项目的项目背景,遇见的困难以及结果) 分享一下自学的学习方法和学习方式 为什么不想从事本专业的方向,或者为什么不选择移动端这些而去选择后端开发 关于不同职业规划方向的难易程度上,你是怎么划分的 最近几个月有压力很大的时候吗? 很愉快的面试! |