好未来学而思,C++研发面经
感觉面得也还凑合,结果凉凉hhhh,反正其实也没太想去,就是来练手的,送上一面的面经
1.做题
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
输入: [2,2,1] 输出: 1
2.写单例模式
class Single { public: static Single* getInstance() { return personhungry; } private: Single() {} static Single* personhungry; }; Single*Single::personhungry = new Single;
3.写题,关于lru,可以简化为右10个字块(固定大小),有get()和set()方法,存的方式key-value,如果10个字块存满了,则需要找到最早访问的那个块,将它覆盖。那么怎么记录它的顺序呢。例如下题:
访问顺序:A B C D A
假如满了之后,下一个被覆盖掉的应该是B。
使用了链表的方式,比如按照顺序来,被访问后,就把该节点链接到链表末尾,即保证了这种方式,也不需要额外计数了。挺好的思路。
4.udp和tcp的区别
5.进程和线程的区别
6.进程间通信的方式
7.socket发送http请求,具体是怎么操作的。就比如给了一个百度的网址,socket通信是怎样进行的。
#学而思##面经##C++工程师##校招#