Q : 二叉树的定义
自己只是简单的说了每个节点都能指向左右子节点。
明显感觉到面试官不满意,一直催促我,“把你知道的都说出来”.
Q : 描述一下前序中序后序。
A: 太晕了,中序和后序的描述有些混,希望面试官给我个例子,面试官委婉的拒绝了我。
Q : 描述一下AVL树.
A : 一个自平衡树。
Q : 什么是完美二叉树.
A :
Q : 那你还有其他熟悉的数据结构吗?
A : 比较常用的数据结构都还差不多。
Q : 那你描述一下Hash表吧。
A : Hash表最重要的就是解决冲突了,最常见的解决冲突的方法有左右下标+-1,等下,请问,我需要从定义开始说吗?
Q :算了吧,你说一下当我们打开一个页面的时候,都发生了什么?
A : 首先先将URL通过DNS协议解析成对应的IP , 然后建立TCP连接,我把我的主机称为客户机,目标主机称为服务端,客户机需要给服务器发送一个特殊的TCP报文,其首部的SYN比特 为1,并且客户机生成一个随机的数字作为客户机初识序号clinet_isn,服务器收到这个报文后,向客户机发送一个SYN_ACK报文,其首部SYN比特还是1,seq = 服务器自己生成的初始序号serve_isn,并且要确认收到客户机发送的报文,所以ACK = client_isn + 1, 之后客户机收到这个报文后,因为此时对于客户机来说,他的状态要改成已连接,所以第三个TCP报文中的SYN比特被置为0,并且要告诉服务器已经收到,所以ACK 被置为 server_isn + 1。因为这是一个HTTP连接,所以需要将第一个请求封到这个TCP报文中,请问还要将四次挥手吗?因为您说只是打开这个页面。
(其实应该讲一遍四次挥手的,因为页面加载完成后会断开TCP连接,但是我没有,哎,因为不太了解Http协议。)
Q : OSI 七层模型和TCP/IP四层模型.
A : OSI是应用层,表示层,会话层,传输层,网络层,数据链路层,物理层,TCP是应用层,传输层,互联网层(网络层),数据链路层,物理层。
Q : 那TCP是在哪一层?
A : TCP 是在运输层.
Q : TCP和UDP的区别.
A : TCP 是面向连接的,所以他需要耗费资源去建立可靠的连接,维持连接。而UDP则是尽力而为,不面向连接。
Q : 你知道工厂方法吗?
知道,私有构造器,之后使用工厂方法。
Q : 工厂方法和单例方法的区别,说一下。
我记得以前学过,但是脑子一片空白,最后胡扯了一点,单例是特殊的工厂之类的。(我好菜呀。)
Q : 《算法导论》学过吗?
没有开这门课,不过我学过一些常用的算法。
Q : 给你几百个学生,找出成绩最大的十个.(这块以为是这样,但是百度后才发现他可能问的是给我几百个班的学生,找出最大的十个值).
因为我以为是几百个学生,我就说使用最大堆,空间复杂度O(1),时间O(n)。或者使用快排的思想去分割几百个学生,时间O(lgn).
Q : 单向链表中,找到倒数第n 个值.
A : 使用双指针,先用一个指针指向头节点,让其向前走n步,如果在走n步的时候遇到了链表尾,则报错,不过没到,那么在申请一个指针,指向头节点,两个指针同步的向前走,直到前一个节点走到链表尾,那么此时后一个节点就指向了倒数第n个节点。(写文章的时候才想起来可能有环的情况,忘了确认了,日!我好菜呀。).
Q : 进程和线程的区别.
A : 一个进程可以包含多个线程.
Q : CPU 处理的最小单位是进程还是线程.
A : 线程。(当时我就晕了)
Q : 遇到一个需求,你是如何处理的。
我说了很多,核心就是多与甲方沟通。
之后又问了一点软件工程(就是什么什么驱动,没听清楚。但是软件工程我也确实不太会,所以就说不知道了)。
还有“你做的最好的事情”。
大一刷题第一名,问了我什么是刷题。。
以及问了我"蓝桥杯是什么规模?".
我简单的猜了一下:全国大概几万人吧(实际上是三万人左右)。
本文发布于:2024-01-31 15:03:25,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170668460829371.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |