C瓜同学一直关注这个我这个小地方,下面是一些我面试中或者和同学讨论的一些不错的面试题,备份一下,也希望对你有用。
1:C++的多态是如何实现的?如果你用C如何来实现面向对象的多态?
2:判断一个有向图中是否有环。上篇文章里面写的那个杯子倒水问题。给一个都是正整数的数组,和一个正整数sum,求是否存在和为sum的子数列。
3:两个有大量id的集合A和B,数量上亿级,如何求出两个集合的交集,A中有的B中没有的,和B中有的A中没有的集合。
4:设计实现一个管理内存的小模块,接口为void* checkout(size_t size), void checkin(void* ptr)。
5: 设计一个数据结构,存储一副象棋子的摆放,尽量压缩空间,使得方便通过传输到另外一台机子上然后恢复棋盘。
6:数组的众数问题,最长递增子序列问题。找大量数据中前k个大的数。找大量数据中第k大的数。
7:一个平面中有很多点,用最快的算法找出相隔最近的两个点。
8:select/poll和epoll,基本互联网公司都会提到这个东西。
9:给敏感词列表,和一大段文本,考虑一个敏感词过滤的算法。
10:海量数据问题,很多,一般方法就为分治、hash、位图。
很多没有标准答案,面试过程中的探讨很重要。找工作不难,找份好工作还是难的,基础知识很重要,数据结构和算法、操作系统、编程语言的掌握,数据库和网络。可以根据自己的喜好,偏向于某个方向。