笔试、面试题
1.算法题
(1).请在1000万个整型数据中以最快的速度找出其中最大的1000个数?
这是一个经常被问到的问题,百度网上解法也很多。
这里仅提供基本思路,供参考:把1000万的整型平均分到合适n个文件中,分别对每一份文件找出前1000个最大的数,最后对每份文件前1000数据用常规算法合并即可。
那么,如何从每一份文件中找出前1000个最大的数呢?
先取文件中前1000个数放到数组中,并排好序(假设升序),之后从文件中读取下一个数与数组第一个数比较,如果比数组中第一个数大,则替换数组第一个数,并重新排序,之后再取下一个数进行下轮比较即可。
(2) .循环链表题:一个有序循的整形环链表断开了,请插入一个整形数,使得链表仍然是有序的。
解题思路:请百度……哈哈。
2. OC题
(1).Block中可以修改全局变量,全局静态变量,局部静态变量吗?
答案,可以。 原因请参考深入研究Block捕获外部变量和__block实现原理
(2)代码分析题,以下代码输出结果是什么?
&#