刚面完快手一面,客户端开发,一首凉凉送给自己。感觉问题都不难,奈何非科班出身,很多不怎么用。
面试官还是比较好的一个人,奈何自己太菜了,太羞愧了,基础知识不牢固。
上来显示自我介绍,然后问项目。(我的项目跟C++没关系,本以为不会问了,结果居然问了)
然后就是问C++。
你对虚函数的理解是什么?纯虚函数的用处是什么?你对虚函数表的理解呢?
指针和引用的区别?
const成员对象和const成员函数。
构造函数有哪些?
STL标准模板库用的多吗?
关于set和map你平时主要用来干什么?
然后问操作系统,多线程编程和网络编程。
介绍一下死锁的四个条件?怎么避免死锁?
线程间如何通信或者同步?
现在如果有一个线程A占用了资源1,另一个线程B也要用资源1,你怎么处理?
你对volatile关键字怎么理解?
平时用这种网络编程或多线程编程多吗?(答:不多,凉凉)
然后是数据结构。
介绍一下树。
什么是平衡二叉树?
树的遍历方法有几种?后序遍历是什么顺序?如果现在给定两种遍历的结果,你能唯一确定一颗二叉树吗?(答:不一定,问:那哪两种才可以唯一确定呢?)
最后编程题,经典两数之和,但是无序数组,复杂度要小。(心想简直送分,肯定不能用暴力法。遂用双指针,结果运行出现段错误,心态炸了。)最后运行不出来,就跟他说了我的思路。
追问,如果不能用排序呢?有没有什么方法了?想了一会,除了暴力循环,想不到了。
你觉得你在学习中那门课或者那些知识是你比较拿手的?
进入工作后,你更愿意偏向算法研究还是偏向工程应用。
最后就是你有什么想问的。
就记得这么多了。
全部评论
(3) 回帖