1.自我介绍
2.面向对象三大特征
3.三种继承方法:public/private/protected继承的区别
4.基数排序(不知道),选一个你熟悉的排序(冒泡排序)讲一下实现过程,是稳定的吗?
5.如何用两个栈实现一个队列?
我们设定s1是入栈的,s2是出栈的
入队列:直接压入元素至s1即可
出队列:如果s2不为空,把s2中的栈顶元素直接弹出。否则,把s1的所有元素全部弹出压入s2中,再弹出s2的栈顶元素
6.树的遍历,答的广度优先和深度优先,说一说区别,使用场景
7.多线程的业务场景,多线程出现的问题;线程与进程的区别,哪个开销大?
8.osi模型
9.http和https的区别
10.udp和tcp区别
11.tcp通信为什么三次握手四次挥手?
三次握手:为了防止服务器端开启一些无用的连接增加服务器开销以及防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。由于网络传输是有延时的(要通过网络光纤和各种中间代理服务器),在传输的过程中,比如客户端发起了SYN=1创建连接的请求(第一次握手)。如果服务器端就直接创建了这个连接并返回包含SYN、ACK和Seq等内容的数据包给客户端,这个数据包因为网络传输的原因丢失了,丢失之后客户端就一直没有接收到服务器返回的数据包。客户端可能设置了一个超时时间,时间到了就关闭了连接创建的请求。再重新发出创建连接的请求,而服务器端是不知道的,如果没有第三次握手告诉服务器端客户端收的到服务器端传输的数据的话,服务器端是不知道客户端有没有接收到服务器端返回的信息的。
四次挥手:
12.能够接受转C++、GO吗?
13.职业规划
面试大概30min,面试官小姐姐非常和善,很nice,很好的面试体验!
全部评论
(2) 回帖