自我介绍和提问环节就不谈了,感觉这次面试特别奇怪。。
我简历写的C++和linux,投的岗位是C++,然后C++和linux一个没问。。计算机网络也没问
上来问我除了C++还会什么语言,我说编写过python脚本,提问达到开发的水平吗,回答一般般,没有继续了
然后提问了一堆windows开发的内容,问道静态链接库和动态链接库,dll生成原理(不是很懂,然后说了主要linux开发,dll对应linux的so文件),然后他恍然大悟好像才知道我是做linux开发。。
提问:二叉树、哈希表、链表查询时间复杂度
答:logN、1、N
提问:课程学过数据库吗
答:没有,自学的,项目中用到
提问:索引什么作用,优缺点
答:快速检索,缺点增加成本,创建和维护都要成本
提问:用过数据库视图吗
答:没有(然后笑了笑,没有继续问数据库,感觉确实是很基础的内容,可是我也没用过数据库做视图,自然也不会。。。)
算法题1:二分查找有序数组,输出目标值最大的坐标(秒了)
算法题2:单向链表验证是否回文,要求o(1)空间
我一开始以为判断是否存在回文,然后写了一半面试管告诉我是判断整个回文。。。
提问:先说说有什么思路
回答:快慢指针定位中间点,然后在从头和中间遍历,分别存放栈和堆,输出比较是否一样(不满足空间要求,实际就是拖延时间想O(1)方法。。。)
提问:有没有O(1)的方法
回答:再设定一个指针指向慢指针之前,反转慢指针之前的链表,获得中间点后向两边遍历
提问:思路可以,开始写吧
最后写道定位中间,反转链表后,时间不多了就暂停了。。(估计是看我写代码太慢了。。看不下去了)
最后面试(第一次面试)给我的感觉我好像报的不是C++岗位。。。
全部评论
(6) 回帖