一面:问了些基本库函数,如atoi、快速排序等的实现,回答的还好,比较基础。
然后问了一个算法题:有一个数组 int array[100];本来应该存放的数为1~100,但是有两个数据丢失了,值变成了0。问如何找出丢失的那两个数?
我回答了几种方法:
a、解方程,求出1~100的和 减去 array数组所有元素之和, 同理乘积也可以得到一个式子,解方程,但是乘积会导致数过大,不好处理。
b、使用bitset坐标记,然后找出缺失的数。
c、他说不能另外开辟空间,问我有没有其他的办法,我说直接在array数组里做标记,比如说找到一个数40,我就在array[49]做标记。
最后还问了一个开放性的问题,有一百万条字符串(也称句子),然后给你一个API,可以通过API获取两个句子的相似度,如int func(char* s1, char* s2),然后问,如果给了另外一个句子,问如何从这一百万个句子中找出一个相似度最高的句子。相似度这个东西,按他的意思是不能确定的,就比如“我吃过了”,“我已经吃了”,哈哈,这个都是可以相似的。
我想了一下,说:这个没有其他的办法吧,全部遍历。
他说:有没有其他的更好的办法。
回答:不知道
二面:BOSS面,就是聊天,项目啊,比赛啊,随便聊了一下。
三面:HR面,跟BOSS面差不大多,聊了一下兴趣啊,最有挫折感的事情是什么,等等。。。。
个人觉得二面跟三面要够自信,要表现得落落大方,最好别太拘束,如果有点紧张的话,可以直接跟对方说出来,呵呵。另外觉得自己参加了阿里巴巴的那个ACM-ICPC西南地区的比赛,拿了个三等奖(很水,羡慕那些拿到一二等奖的牛人些), 对于拿到这个offer还是很有帮助的,希望后面的学弟学妹们有机会也可以去参加一下某些公司的比赛,这样对于以沈阳网站设计后加入该公司还是很有好处的。呵呵。。。
-----------------------------------------笔试:6小题,设计基础数据结构:链表,树,字符串。很基础,但也很考验C语言功底。不要说你会,要熟练,要确保你写的代码无误且编程风格优沈阳网站建设美。这样才能增加筹码。保证你后面顺利通过。
一面:讲解笔试卷子解题思想,讲解项目。面试过程很随意,面试官主要侧重linux,c++,网络。
二面:谈一谈项目,就项目问一些问题。问一些他们实际中遇到的问题,你会如何解决?
---------------------------------------秋季招聘:
笔试分析:笔试题目类型为选择、填空、简答,主要范围为算法(归并排序、快速排序、堆排序、huffman编码等)、数据结构(树的遍历、链表、队列等)、C和C++语法、操作系统(以linux为主,进程、线程、进程间通信方式)、网络(IP分类、网页出现403表示啥等),简答题为设计一个排队系统(我感觉是在考软件开发的流程以及个人对问题的分析能力)。
--------------------------------基础太重要。问的东西很多,但是确实都是基础,比如C语言里面的sizeof,do while和while的改写,C++的动态链接库和静态链接库,JAVA的垃圾回收。操作系统里面的进程线程,线程的状态,进程ID和进程句柄的区别,CPU上面一次可以运行多少个进程,进程调度的区别。计算机网络的tracert和ping,DNS,TCP,UDP,三次握手等等。LINUX的磁盘操作,基本使用,测试文本框闹钟,二分查找算法等等。。
--------------------------------------------后来面试官让我写一个题目sum = 1 + 11 +111 +….+11..111(2012个),求这个sum的最终结果中1的个数。
---------------------------------------1. 比较一下Java和C++,我说C++适合做底层,是面向过程和面向对象的综合,Java纯面向对象,C++高效一些(事实上好像Java更高效,呵 呵),他直接又问C++为什么高效,我说C++兼容C,能够使用指针,并且C++是编译型语言,Java是解释型语言,Java必须在虚拟机上运行。他又 问虚拟机是什么东西。。。。。
很明显,他是在压力面,一次不给你喘息的机会,抓着一个问题问到底,直到他感觉可以了才停,我感觉他面试过程中对于主观一点的题目更看重的不是你问题的答案,看重的是你分析能力,得到答案的能力,不会不要紧,把你认为的答案说出来,然后再说出来你这样想的原因。
2.n个阶梯,一次只能走1步或2步有多少种走法?给我答案或者写代码。我问老师说思想行不,他说不行,给我答案或者写代码。好吧,不会。
回来想想,这似乎考的是斐波拉契数列的题。完全的客观题,只有一个正确答案,当时脑袋就是空的,没想到。
3.虚析构的作用(没得说)
4.Sizeof 给我一个题,看到这我问了他一下:老师机器多少位的啊?他笑笑(终于笑了)这题就这样完了。PS:细节决定成败!!!
5.#define max(a,b) (a)>(b)?(a):(b) 写一个和这个宏定义一样功能的函数,我一看没有数据类型,直接用的是函数模版,然后传进去一个compare函数指针,他摇头,我问他答案,他说:我只负 责提问和判断你的答案,不负责给你答案。好吧。。。。。
6.一个房间若干个人,只有黑色和白色两种帽子,黑色的大于等于一个,一个人只能看见别人的帽子,看不见自己的。如果认为自己头上的是黑色帽子,就在熄灯的时候拍自己脸一下。关第一次灯的时候没有声音,第二次还是没有声音,第三次有了声音,请问一共有几个黑色的帽子?
我想了一会,给了2个的答案。(回头想想好像是3个),我把整个分析过程在纸上给分析的完了,他又笑了。。。不知道是什么意思。
------------------------------------------------