你必须非常努力,才能看起来毫不费力!
分类:
2008-10-21 18:12:31
这篇文章是写给2007届的毕业生的,我想我这些日子的经历应该能给2007届的师弟和师妹们将来的校园招聘提供点帮助。
一、准备阶段:
在华为面试之前,我把《软件设计师教程》大概的复习了一遍,时间实在太紧迫了,有些概念我也只是很粗糙地掠过去。10号下午还到图书馆借了一本《程序员面试攻略》,11号下午就差不多把那本书大概地啃完。
二、笔试:
11号,收到短信通知当晚7:00在E栋笔试(只要是注册了电子简历的同学都有资格),考试种类分两种:硬件和软件,共四类题:填空,选择,改错,程序设计。基本上都是一些C/C++语言题,数据结构的树的前序、中序及后序排列,计算机网络里的IP报文中的TTL(Time to live),数据库的操作等等;程序题有两道,一道题是关于数据结构的,另外有一道是“字符串A插入字符串B中”。虽然都基础,但题量太大,考试时间太短。大家都在喊没信心。
三、面试:
第二天就有人接到通知去面试了,我们班一位同学去了,他很牛B,从第一轮到第四轮一
直很顺利。我是第三天才和我们寝室另外的一位同学才接到面试通知的(不过我听说我们这一批接到通知的笔试分数普遍都很高),当然在前三天的等待时间里,我心情很郁闷,我还以为我没有慧通的面试资格了,所以一直在玩,希望有时真的是期而不遇,遇而不期阿。(其实笔试这一轮刷的人不多,大家以后没必要像我这样子提前就爆弃了)
我下午4:00准时到凯莱大酒店,一进去就感觉一股热气,大厅里也许是因为太热或者太紧张的缘故,每个人的脸都很红,很红。大概等了半个小时,我的心也跳得好厉害,我就到门口舒缓下情绪,很快一位帅哥就领我去第一轮面试了,他问我会什么,**,这问题该怎么答阿,然后我说我是电子科学与技术专业的,计算机基本上是靠自学的,大概他体会到自学的不易,他给我出了5道编程题,虽然很多,但基本上都不很难。(我一同专业的哥们虽然只有一道题,但却是用C语言编桌球的运动轨迹,妈啊,对于C语言的图像功能我都没接触到过阿),我的题目是:
1、1到100之间的所有素数之和;
2、队列的实现;
3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现)
4、字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符串的个数 )
5、用数组存储超大数的问题。
6、询问我操作系统的进程和线程的区别
幸好这些题目在笔试前我就都已经见过了,虽然第四个题目,面试老师说我执行效率不高,但可以过得去了。哈哈,他直接通知我去进行第二轮面试了。
第二轮是资格面试,没多大问题,就聊聊家乡,聊聊自己的情况,这一关只要说话有分寸,一般都可以通过。第二轮面试完,就快到了晚饭的时间了,晚饭当然是慧通免费提供的,晚饭一过后,我就被一被称作是部长的面试官叫了进去,这一关一进去他直接拿了我《软件设计书》提问我:
1、ping命令使用的是哪种报文?
2、OSI分哪几个层,IP是在哪个层?
3、哈希表的问题
4、为什么要采取二叉树这种数据结构?(折半查找)
5、两台计算机中的进程怎么互相通信,我说通过IP呗,他说除了IP呢?我卡住了,他说你听说过五元组吗?我只好老老实实的回答说不知道,然后他在那里给我解释一通,但我还是没搞明白,回来翻潘爱民老师的《计算机网络书》
也没有。这一轮虽然第5个问题我有点卡壳,但老师说我毕竟是自学,还表扬了我,说我已经很不错了。面试完已经好晚了,华为的MM通知我第二天继续去进行第四轮的面试。
第二天,我按时到了考试地点,这一天,明显感觉气氛没有第一天的好,垂头丧气的好多。很快就通知我去面试了,这一轮面试的老师明显态度比前几轮差多了,问的问题都有点让我透不过气来,但终于挺了过去,最后他直接点到桌子上
的一个题目:
void main()
{
char *p;
*p=-130;
printf("%d",*p);
}
正确的答案是126,原因:-130在计算机里面存储形式是11111111-01111110(取反码的形式),因为C里面的CHAR是8位的,所以,最高位1去掉,剩下01111110。
四、些许体会
面试,就是面试,不是学习,考试。你现在会多少东西固然重要,但更重要的是你得
让面试官知道,所以面试时把你的知识表达出来是最重要的。切记!面试表达是关键,你
可以先把自己熟悉的整理一下,不至于面试的时候磕磕碰碰的。面试,好比下棋。把握局
面,掌握主动权是关键。一旦你把面试官成功引入你的领地,让他把注意力关注在你熟悉
的领域,无暇自顾,那就尽情发挥吧,已经成功了一大半。所以从面试官拿到你的简历起
,就主动出击,别给他机会.
另外,在大肆开学初,一定要把各位的专业课翻出来看看,考软件的特别要多多看看基础的C语言,想找到好工作一定要从骨子里面重视起来。
=====================================
篇中提及的问题的解答:
1、1到100之间的所有素数之和;
2、队列的实现;(用数组或者链表,定义好输入和输出即可)
3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现)
4、字符串匹配问题(int countABC(* s) 输入任何一串字符串,计算机其中有连续ABC子字符
5、用数组存储超大数的问题。
下面这个例子是要求一个40位的 n!的值
6、询问我操作系统的进程和线程的区别
=========================================
1、ping命令使用的是哪种报文?
2、OSI分哪几个层,IP是在哪个层?
3、哈希表的问题
4、为什么要采取二叉树这种数据结构?
5、五元组
chinaunix网友2008-10-26 15:17:51
最后他直接点到桌子上 的一个题目: void main() { char *p; *p=-130; printf("%d",*p); } 正确的答案是126,原因:-130在计算机里面存储形式是11111111-01111110(取反码的形式),因为C里面的CHAR是8位的,所以,最高位1去掉,剩下01111110。 ========================================= 呵呵 这也叫题目?简直搞笑啊