快手C++(实习)一面凉经
快手给我的感觉吧~ 问的很难,就是他会把这个知识放在实际应用中,或者我没有考虑过的场景中去解决,就很emmm,呜呜呜尴尬。基本知识点都是那些,但是问的很灵活,面试官思维很跳跃~ 不过归根到底,还是我太菜了,,继续努力吧呜呜呜~
-
堆和栈的区别
-
栈为什么比堆快一些
-
多线程和堆和栈
-
系统调用是什么,实现原理
-
知道的系统调用有哪些
-
fork是什么,执行过程
-
多个父子进程不断循环申请内存,总数量超出内存大小,会发生什么
-
申请超出总内存大小的内存后,在每个进程中堆内存进行读写,会发生什么
-
多个父子进程同时对同一个文件进行修改,发生什么
-
TCP三次握手
-
服务端可以建立连接的最大数目由什么决定
-
端口在传输过程中会变么
-
虚函数多态
-
构造函数和析构函数可以是虚函数么
-
构造和析构中可以调用虚函数么?调用虚函数的话,执行的是父类还是子类的虚函数呢?
-
上一个问题若是多继承中呢?
基础题答得不是很好,面试官问的很深,会问实例出来的例子在具体的场景中解决计网、操作系统、C++的问题,当场就感觉很凉,,,还是太菜了,,,
算法题:n个学生编号1-n,查找编号为k的同伴。题目如下:
Q: 有N个学生,每个学生有一个学号为从1~N。老师想给学生分组做作业,要求每组的人数不超过2。但是班级的人数太多,就想了一个分组的办法。每个人按学号从小到大排成一路纵队,然后从前到后报数。报数为奇数的为一组,报数为偶数的为另一组。然后每个小组继续按刚才的办法继续分裂,直到每个组的人数都不超过2为止。 输入为2个整数N和K,输出和学号为K的人同组的人编号。如果某个学生所在的组里只有他自己,输出它自己的学号。
比如: 输入 9 5 输出 5 输入 9 7 输出 3
分组过程: 初始情况:[1 2 3 4 5 6 7 8 9] 第一轮:[1 3 5 7 9] [2 4 6 8] 第二轮:[1 5 9] [3 7] [2 6] [4 8] 第三轮:[1 9] [5]
虽然最后挣扎出来了,,但是写的有点点久。。。
#快手##C++工程师##面经##实习#