thoughtworks凉经,C++(成都)
先是给了两个小时做一个大作业,是无人机十字拍摄遍历整个网格的路径规划问题。写两个方案,并用代码实现一个方案,绘制出网格的信息图。
绝大部分人都只做了前两题,部分大佬代码写出一半,不知道有没大佬完全实现。
上来首先讲解这两个方案,主要要优化的方案。我第二个方案理解错了,想的是实现一个动态的选择路线,结果面试官说数据要最后才能回来。。当场懵逼。。
然后他说看你简历写了两个工程,那你为什么没写出代码。。。我说我在折腾第二个方案(第二个方案我写的比较多,虽然是错的)
然后就这这个歌题,他画了一个坐标轴,问怎么把第一象限的所有点包络起来,我提了两个方案:一是用矩形去框,最快,但是不精确。第二种遍历所有点,找到边界,画边。
他说画边可能会让某些写点没圈上,并画了图给我看。然后我说可以再次遍历这些点。
然后又问假设这里有n个点,大概会有h条边,问你的直觉他的时间复杂度多少。我直接暴力解决,nh。遍历所有点。
他就说那就问点其他的。
先问 归并和快排的时间复杂度,又问冒泡的复杂度。
然后问every case下快排和归并哪个快?
又问为什么快排比归并号,相比归并好在哪里。
又问为什么快排的时间复杂度会有lgN在里面,是什么造成的?
然后问快排实现的数据结构是什么?(懵逼)最后他说是二叉树的深度。。什么什么的(以前没想到过这些)
又问排拍的枢轴选择,我说了大话上面的。
然后他说现在就是要random取,问怎么取效果最好。。(懵逼),最后引导到求期望。。服气,我还是没get到他的引导。。
然后看了简历,我上面写了项目有一点信号槽及处理,他就问你学过信号与系统吗?我马上说没有没有。。。
然后问你用python多吗?不多
那就稳点C++得把,问我用过rust和boost库没。。。(完全没听说过)
然后就给我讲了一下程序员自我修养。。就结束了。
第一次现场面。。。体验挺好,主要是自己太菜。。。
#Thoughtworks##面经##内推##C++工程师##笔经#