每次面试都感觉面试官好温和,每次面试也是对自己的一个检验,感觉自己有所长进,但更有所提升。面试除了紧张之外,还有长长的收获跟对未来的规划。
一、 Q&A
- Q1:计网三次握手
- A1:老话术了——客户端发送请求(seq),服务器端回送请求(seq,ack),客户端返回自己收到了服务器端的信息(seq)
- Q2:七层模型
- A2:大致描述了一下物理层(同轴电缆、双绞线)、数据链路层(海明码、曼彻斯特编码)、网络层(IP ARP)、传输层(TCP、UDP)跟应用层(HTTP、FTP)
- Q3:说一下二叉树、平衡二叉树、B+树跟B-树
- A3:二叉树就是每个节点只有一个前驱,但是最多有两个后继;平衡二叉树左右子树深度不超过1;B+跟B-真的不太清楚
- Q4:快排
- A4:一串数字序列,有一个枢轴元素(假设是第一个元素),有两个指针,分别指向左右最两边,从最右边开始找,找到第一个小于枢轴的元素,把当前右指针指向的值赋给左指针指向的值,左指针加一,然后向后走找第一个比枢轴元素大的元素,把当前左指针指向的值赋给右指针指向的值,右指针减一,然后循环上述过程,知道右指针的下标小于等于左指针的下标。最后把枢轴元素赋给左指针或者右指针指向的值就好。
- Q5:SQL掌握地如何
- A5:比较基础,只会比较简单的增删改查,创建和删除之类的
- Q5:尝试过网络编程吗?那些HTTP状态码知道吗?
- A6:没有,只用过socket进行通信之类的;状态码之前看过,但是因为不常用印象不深刻,只知道404是(面试官笑了,说找不到是吧)
代码
- 面:我们写下代码吧!写一个链表合并
- 我:好!开始写emmm定义了一个链表的结构体,然后开始想怎么输入一个链表,问面试官——我知道大概操作,但是实在不知道输入输出怎么搞~
- 面:两个链表已经有序了,你只需要遍历它们,然后放到一个新的链表里
- 我:(还是想不到怎么输入)
- 面:假设两个链表是L1、L2,最后的链表是L3,(我真的感觉面试官已经说完了这道题了,但是我真的想不出怎么输入输出)
- 面:算了,写个冒泡排序吧
- 我:好(灰溜溜地写了冒泡排序)
项目
- 自己的项目说了说
继续聊
- Q:你们大数据学了什么课?
- A:计算机视觉、数据挖掘、机器学习、人工智能
- Q:数据挖掘学了什么算法?
- A:聚类:k-means,分类:决策树、贝叶斯,关联规则挖掘里面的剪枝算法
- Q:说下k-means算法
- A:聚类算法,K个随机值,然后通过计算距离来寻找最近的点进行聚类
- Q:说下距离
- A:欧式距离、马氏距离、闵可夫斯基距离、余弦相似度
- Q:了解过流行框架,比如hadoop这些吗
- A:没有
- Q:(面试官说:现在学校还是算法偏多吧,没关系)
还有什么问题
- 我问了问岗位问题,面试官说我计算机基础挺好的(计网这些),表达能力也挺好的,编程需要提高(不用着急,毕竟才大三还有时间,多刷题提高提高就好),还有就是java或者python至少掌握一门,SQL方面由于现在的数据越来越向SQL方面发展了也需要更加了解,多刷SQL方面的题目。
- 还说你们现在就是多学知识的时候,现在公司来的实习生都一个劲地学习;多了解之类。
总而言之就是感觉面试官真的很好,面试也特别放松~
然后也获得了一些启发,就记录一下~