上来先在腾讯会议的小程序里面做一道算法题。topk问题:给一个只包含大小写字母的字符串,求出现次数第k大的字母。我先说了思路,写了一会儿编译没通过。面试官开始问小根堆方法的时间复杂度,然后问有没有更快的方法。回答:优化后的快速排序,和枢纽元素相比较来减少递归分支。又问了快排的最优和平均时间复杂度。讲一下栈内存和堆内存的区别,在编写程序方面的优缺点?能否编写程序触发栈溢出和堆溢出?如果用new创建一个对象,再用free去释放会导致什么问题?挑一个项目讲讲过程中遇到的问题和挑战。项目中的文件断点续传是单线程还是多线程?多线程下怎么去分配线程执行续传操作?如何处理资源竞争?项目还有其他的遇到问题吗,又是如何解决的?反问环节:简历投递的入职时间还能改吗。答:可以的,和HR沟通就行。部门在哪些城市。答:主要在广州,北京也有一部分。平时上下班出勤有要求吗。答:按自己的作息来,有的人上下班很晚,有的人正常作息。总结:算法题不难,但卡在一些编译细节上没AC比较可惜。C++基础知识回答的都很详细,项目也能自圆其说。面试官人很好,写算法的时候还会提醒。