深信服星耀实习C++二面面经
6.6进行的二面(日期还挺顺的)
1.自我介绍
2.有做过相关项目吗(没有,跨专业渣渣)
3.你平时用matlab比较多是吧,那就说一个你用matlab做过的项目(说了个本科毕设,深度学习相关。。。两句话说完了,也不是C++方向,面试官也不太感兴趣)
4.那就做题吧。。。
(1)给一个整数,得到它的开根号的值。怎么实现这个函数?
(想了一会,只能想到暴力法。。。先找到在真实答案前后的两个整数(从1遍历找),再用二分法不断逼近,知道二者差值在一定的精度之内。就只是口头说了下想法,没有敲代码,然后面试官也没有说对不对就下一题了。。。)
(2)平时对数据结构和算法有做练习吗,我说常用leetcode,就让写一个leetcode上问题:n级台阶,可以每次走一步,也可以走两步,有多少种走法?
(典型的动态规划,几分钟就写完了。没用递归,是每次都存储前两步的计算值,感觉还是比较高效的算法了)
(3)如果上一题,是可以每次走两步或三步呢?
(我想了想,觉得应该每次存储四个值才能完成,觉得可以直接用数组存储,多用点内存,但是容易操作,然后面试官提示可以用递归。为了表示自己不是没想到用递归,我就解释说,因为觉得递归可能会重复计算,就打算优先用迭代。然后还是把代码写成了递归。。。面试官又问有没有办法可以解决递归重复计算的问题。。。我就不会了)
(4)二叉树的层次遍历
(不要求函数有返回值,直接输出节点的value值。用队列,很快写完)
1.自我介绍
2.有做过相关项目吗(没有,跨专业渣渣)
3.你平时用matlab比较多是吧,那就说一个你用matlab做过的项目(说了个本科毕设,深度学习相关。。。两句话说完了,也不是C++方向,面试官也不太感兴趣)
4.那就做题吧。。。
(1)给一个整数,得到它的开根号的值。怎么实现这个函数?
(想了一会,只能想到暴力法。。。先找到在真实答案前后的两个整数(从1遍历找),再用二分法不断逼近,知道二者差值在一定的精度之内。就只是口头说了下想法,没有敲代码,然后面试官也没有说对不对就下一题了。。。)
(2)平时对数据结构和算法有做练习吗,我说常用leetcode,就让写一个leetcode上问题:n级台阶,可以每次走一步,也可以走两步,有多少种走法?
(典型的动态规划,几分钟就写完了。没用递归,是每次都存储前两步的计算值,感觉还是比较高效的算法了)
(3)如果上一题,是可以每次走两步或三步呢?
(我想了想,觉得应该每次存储四个值才能完成,觉得可以直接用数组存储,多用点内存,但是容易操作,然后面试官提示可以用递归。为了表示自己不是没想到用递归,我就解释说,因为觉得递归可能会重复计算,就打算优先用迭代。然后还是把代码写成了递归。。。面试官又问有没有办法可以解决递归重复计算的问题。。。我就不会了)
(4)二叉树的层次遍历
(不要求函数有返回值,直接输出节点的value值。用队列,很快写完)
(5)有没有其他问题要问
。。。
总体感觉自己还是编程经验太少,有时候细节地方还会出错,面试官问题一升级,就会有点慌。。。再加油吧😊
#深信服##实习##面经##C++工程师#