刚上来,让我自己介绍一下我自己。(首先说一下,这次的面试是一个偶然,而且是非常的偶然的那种,因为我没有投简历,然后就被人打电话通知自己有没有意向面试)我当然说有。
然后问了我写的意向地是成都,有没有意向去深圳。我当然说有了。
然后问了自己的兴趣。这个面试官也太好了吧。上来之后就不紧不慢的和我交谈。
然后就问了
主要用的语言,我说c++(期间学过java、nodejs、python)
什么叫 进程、线程、协程
Linux下面的一些比较常用的指令
着重问了自己五层协议的问题。
也可能是自己比较热衷于讲这个。因为自己以前解析过pcap文件。是用tcpdump 在Linux下面进行的文件的截取。
然后问了自己三次握手、四次挥手。
三次握手的过程。
四次挥手的过程。
四次挥手的时候,每一个状态。(每一个状态的时候,自己回答的不是很好)
TCP/UDP的差别。
为什么TCP是可靠的?
拥塞控制、用塞避免、流量避免等问题。
怎么样进行拥塞控制(这个自己答得不是很好)
然后问了我static关键自己的作用
然后又问了我继承的特性、什么作用
然后多态、多态的作用(这个多态我好像回答错了。。。)
什么是STL
问了hashmap的一些东西。(自己说了是数组和链表的一些组合的东西)
C++ 11了解过吗?(之前听过有各种版本,着实也没有了解过呀)
hashmap是怎么根据索引进行分类的(自己把数组和链表的一些东西讲了讲)
Linux下的静态库、动态库。(这个自己是主观臆断回答的)
Linux下面的进行c++的编译的整个流程让我讲一遍。(这个自己回答的不是很好)
Linux下面进行两个文件的关联。(这个回答的不是很好)
然后让自己写了一个冒泡排序、然后自己又写了一个字符串翻转的。(这两个自己写的都不能算是熟练,代码表达出了自己的中心的意思。)
总而言之,自己面的也是一头雾水了。哎呀。。。
字符串的反转,这个主要是调用了一些函数,然后进行使用。(这算是自己的第一次按照简历进行面试,呃)
class Solution { public: string ReverseSentence(string str) { int len = str.size(); int start = 0; reverse(str.begin(), str.end()); for(int i = 0; i < len; i ++) { if(str[i] == ' ') { reverse(str.begin()+start, str.begin()+i); start = i+1; } if(i == len-1) { reverse(str.begin()+start, str.end()); } } return str; } };