快手客户端一二面+美团前端一面+腾讯企业微信开发客户端一面

快手一面结志

1、自我介绍

2、对称加密非对称加密

3、TCP/UDP

4、在学校有什么课程是强项,说了过去几次面试中面到的C++的语言基础知识

5、问C++、Java中兴趣在哪里

6、问到项目,自己做的还是跟着学校老师做的,同样问到兴趣在哪里

7、LRU Cache,要求限制大小,代码实现;用的一个queue一个vector加sort排序,仿照线程池结构来写的,回去还查了资料,和说的时候一样要求要用到最小堆或者双向链表,不巧都不太熟

8、问到说谈到链表力扣上这一块题目时候看我好像面过很多次,其实也确实蛮多次了

9、问到说怎么让一个没听过SSL的人东SSL,加了TCP三次挥手、四次分手之后总结,总述

10、问到设计模式,写单例模式实现,在写单例构造的时候变量前面忘加了个类名了,自己也感觉好像比平时写的代码要短一些,有点问题,但没看出来

11、问到线程池具体实现

12、问到进程、线程,我脱口而出这个太简单了

13、面试结束,终于结束了,真不容易

14、缓了会儿,回寝室加了件衣服,HR打电话说通过了,约了二面时间,第二天晚上

15、回图书馆继续补自己不会的点包括LRU实现和SSL/TSL等等

美团一面结志

1、面试官很像驾校里面遇见的一些人

2、开始问问题,按照简历上写的来问的

3、险些问到套接字,我快看套接字看吐了

4、VPN正向代理、反向代理

5、如何确保不会丢失

6、用位运算实现加法(其中有个移位操作放到循环后面导致成了6没过)

7、字符串比较的题目,由于1.0.1这种情况未考虑到导致无法普遍性适用,现在其实就算想到了我也不知道该怎么去改,当时想着递归

8、0.1+0.2为什么不等于0.3

9、三次握手

10、问了多态实现,这个问题和我自己答的内容感觉有点太多,被问到的时候有点像想吐了其实,怪我没继续更新这一块的知识吧

11、面试官中途后面有人,换了个地方,自己这边也有人敲实验室门,半斤八两了属于是

12、内存泄露排查,自己说查的资料,他纠正说不是那个查是排查,还笑了,看来我真是理解得不够透彻呀

13、线程池如何实现的

14、socket编程,差点被问到,有人来敲门面试官换了个题目了

15、

腾讯企业微信开发客户端中心一面

1、lamda表达式

2、尽可能多的排序算法,问了快排是怎么实现的,为了安慰我问了个冒泡排序,真谢谢面试官

3、哈夫曼编码树

4、多叉树转化为二叉树

5、shared_ptr和weak_ptr指针

6、TCP/UDP

7、HTTP报文格式

8、TCP拥塞控制和流量控制

9、前序、中序、后序、层序遍历方法,加上递归递推的方法

10、进程间通信的几种方式

11、父类一个指针指向子类对象,这时候要分子类重写的是普通函数还是虚函数

12、KMP算法

13、用过哪些STL容器,说了vector、map、set等等,后面还问到别的

14、看过哪些技术书籍,最近在看的

15、在校期间最记忆尤新的闪光点是什么,说了verliog实现的CPU让我理解了CPU运行的机制

16、反问,以及道歉时间没安排好导致大脑有点懵,被安慰说才大三,准备好了就都不怕了嘛

17、和面试官说谢谢以及拜拜

快手二面结志

1、链表反转问题,算法思想不过关,问有几种方法,没答出来

2、套接字编程中实现的为什么是TCP而不是UDP

3、递归锁死锁解决方法,之前说了下线程池,面试官问到,就又扩展到这里了

4、死锁解决方法

5、进程、线程

6、内核态、用户态之间切换过程

7、线程内存存储在哪里

8、虚函数为什么具有一些继承方面的特性(之前腾讯面的时候被问到父类指针指向子类后调用该指针的一个函数,父类子类都有,会发生什么,应该是如果重写的是普通函数,就指向父类中函数,是虚函数的话就指向子类中函数),问及原因的时候不知道,后来查了下知道是虚函数表

9、合法括号字符串,常规栈问题,自己实现的有点复杂了,面试官后来等了我一会儿(我自己也简化了下自己的思路)后面试官帮忙也注释了下自己的代码,在输入左括号那一块直接输入不需要判定是否为空

10、问到一面时候LRU

11、问到单例模式实现,一面时候问到的,还问了懒汉模式,饿汉模式

12、线程池如何实现的,访问大小限制,说不确定,但是设定和测试的时候设置的值是5000

13、自己做的项目中写的日志的作用,答的是把输出到屏幕上的信息输出到文件中,分多个错误、异常类别进行实现

14、内存池实现和作用,看文档中实现的是生产者消费者模型,可以避免频繁写入到内存中,而能用一个块一下子输入,直到满了之后和另一个块进行切换再写入

15、内存泄露方面有无了解,之前被腾讯面试官说没写delete和其他问题,这次写代码题的时候改过来了

16、堆和栈区别,自己引到的点

17、协程切换,自己主动提的,算是帮自己复习了下

18、进程调度算法,以及优先级修改等方面

19、进程内存中成分,PLT等等链接以及进程内存方面的比较偏的知识了

20、三次握手、四次挥手,在四次挥手的地方弄不清自己说的和三次握手比较像究竟对不对了

21、TCP拥塞控制和流程控制,在滑动窗口,选择重传和Go-back-N这块深入问了下

22、具体如何防止丢包,出现丢包会怎样

23、如何检测到丢包,以及窗口内数据长时间没被接收到会怎样(超时时间)

24、定时器实现,链表,有一个输入来了,给它时间加上3 * timeslot,项目源码中看的,时间轮方面一些内容

25、epoll自己提了下但没被问到,运气挺好,下次得去了解了,实际上也看了代码实现了

26、数据库输入过大比如有一万输入访问该怎么办,八股中有看过,没背全,也不太确定问的是不是水平分表、垂直分表

27、SSL安全套接字如何实现,TLS如何实现,对称加密、非对称加密具体如何实现,以及偏重方面代码如何实现,实话回答说没了解过,感觉真对不起面试官,他那么辛苦地在问,我自己却有很多不会的地方

28、HTTP协议是否了解

29、反问以及说了后续继续和HR对接,结束

反思,数据结构和算法是最近面试中出错比较多的地方,计网和操作系统反而比较少了,要好好回头复习或者可以用java语言来帮助巩固数据结构和算法

要继续加油了

你可能感兴趣的:(开发语言)