给大学应届毕业生就业的一些建议(计算机软件类)
目前,大学应届毕业生的就业越来越麻烦,我作为一个应届毕业生,深有感受,所以,我就自己总结了一些在计算机软件类求职面试的时候,也许会问到或者考到的问题,也希望各位高手自己出来总结一下曾经在面试的时候遇到的一些比较经典的问题,希望,能够对以后面试的人一点帮助.
首先申明,本建议主要针对在计算机软件学得不是很扎实,但是又有兴趣往这方面发展的人,你可以看看,如果你已经是一个编程高手了,那对你就没有用了,看了对你也没有用,因为对你来说太简单了.但是你可以提出一些宝贵的意见,或者指出下面的错误.
先说点题外话,如果你真的准备往这个方面发展,那么请你准备好了,这个东西,也许能够对你的面试有一定的帮助,但是对于你的长远发展来说,可以是一点用处都没有,希望不要因为我这个误导了你.还有就是你要做好准备,搞软件开发是一个比较辛苦的事情,如果你是一个怕苦的,我建议你现在就退出,别往这方面面试,最后,如果你的基础太差,也就是说你大学四年,你都没有学习什么,那么我觉得你也可以不用考虑这个,因为也许你对编程根本不敢兴趣.所以希望你在面试的时候谨慎考虑.
1.(c,c++)方面:自己估计一下,看过多少相关的书籍,写过多少相关的程序,好给自己一个定位.
(1).最简单的,也是最常见的,异或,或,与,左右移,你掌握的很牢固吗?如果它考到你这个问题,那么,算是你很幸运了.也相信大家都知道了,所以不用多说,如果这个都不知道,打开电脑试试就OK了.
(2).sizeof()这个东西,你能够准确的算出他的大小吗?(不考虑编译器的原因),比如说在win32下,
int a = 1;
char *b = “feafeafeafe”;
char c = ‘a’;
typedef struct _a{char a;int b; char c}aa;
aa d; aa *e;
char f[]=”eeee”;
那么, sizeof(a),sizeof(b)……sizeof(f), 还有很多,你都能求出来吗??如果不行,又去试试.(注意,要在win32下面,至于为什么,你应该知道,如果是win16下面结果又是多少?);
(3)引用和指针的区别特点,也是经常会提到的,这个的东西太多,不是太容易说清楚,你需要花点时间看看
(4).你知道什么是纯虚函数吗?你的理解是什么?答案去书上找吧.
(5).拷贝构造函数,作用是什么,在什么时候使用??它和操作符=又有什么不同?
(6)静态变量的特点!它是存放在哪里??常量又有什么特点??
(7).操作符重载,也许他说不定就叫你重载一下new或者[]试试,别粗心了哦.
(8),如果他要你找错,赶快去看看有没有什么内存错误(就是new了没有delete的,或者重复delete的),还有有没有打开了文件没有关闭,或者指针的操作忘记了加括号,比如说*p++还是(*p)++这种.一般情况下,他不会让你找那种编译都编译不过的错误的.
(9).如果你不熟悉c,c++,你熟悉delphi,那么,控件开发,你应该要很熟悉才ok哦,千万不要说只是做过几个课程设计,摆摆界面,拖拖控件的.那样没有什么用处的。另外,你对vcl的理解有多深?里面的rtti你都熟悉吗?它的源代码你看过多少?system,或者classes里面或者其他几个rtl单元的代码你熟悉到什么程度?这个不是一两天都可以会的,但是多看一点总会好一点。
(10).栈和队列,链表的操作也要记住,一般它考数据结构的时候就是他们了.注意不要只知道几个简单的操作,它也许会提到什么循环链表阿,等之类的.
有人说过,应付面试,有几本书值得看(c++方面),一个是林瑞的高质量程序设计.一个是c++编程思想,还有就是候捷的高效c++,确实我也同意,你真的认真看了这几本书,我相信你的收获也是蛮大的.也许他会冷不丁的问你,你写过多少行代码啊?好好想想,现在就想,别到时候算不出来,如果太少了,你就想个委婉的说法吧.别认为上面的题目太偏,对他们来说是太基础了.因为他们往往都是高手.不过上面的确实也很基础.我自己也找不到很偏的东西出来.
2.操作系统(Windows)方面:
(1).还是一个最简单的,你知道postmessage和sendmessage的区别吗?别只回答一个有返回值,一个没有返回值,给他说清楚为什么!
(2)同样,跟上面的那个问题一样,程序能够方位的最大虚存地址空间多大?(win32下面)
(3)进程间通信有那些方式??你知道多少种说多少,比如说发消息,tcp/ip,rpc,com,内存映射,共享文件等.
(4)对winsock和com的理解有多深啊?两个可都是很好的东西哦.这样的问题问到你你怎么也可以回答几句的.
(5).动态申请的内存是在哪里申请的?或者说什么申请方式,代码放在什么段中?全局变量和静态呢?
3.数据库方面:
(1)你使用过哪些数据库,至少也要加一个sql server上去吧,有其他的更好了.
(2).稍微复杂点的sql语句你会吧,别给我说只是select * from什么之类的.至少也要给我多加几个在里面.
(3).存储过程和触发器,都有了解吧,不需要你知道多深,但是你不能够说没有听过(应聘专业数据库方面的就不行了).
(4).书上学过的几个范式,都还知道吧,每个范式的相关东西,在满足哪个范式的时候会有什么样的效果??
4.其他和软件工程方面
什么软件的生命周期啊,软件的测试方面,还有你式怎么写需求分析的,不过你做没有做过,你自己先找一个答案去;
一般情况下,面试者不会太在意你对哪个工具比较熟悉,不过也有很多例外,因为你说一句我只会tc,那么你就很难办了.至少来说,Delphi, vc, .net, vb, bcb, java.或者其他的,你熟悉一个,然后也方便找一个对口的吧.
到了后期的面试之中,一般就不会问你的技术问题了,也就是跟你聊聊你的一些思想上面的事情啊,或者个人的热情啊,也许会问问你的英语情况哦,特别是大公司,不会放过你的.
还有,如果他问你擅长什么的时候要谨慎一点,也许你随便说一个,他给你一个追根问底,让你很难堪底。
上面的几个我主要是针对应用程序的开发,不涉及到跨平台,或者其他的开发,因为在学校呆着,也很少有机会接触的,如果你接触了,恭喜你,又多一分希望.有空还得教我几召.
这些是我突发奇想随便写的,没有什么保证,也不负责什么,加上谈到的东西也不多,只是希望对少量的人有那么一点点用处.不过我会争取抽时间来补充,也希望各位高手补充一下,我会加以整理.
桂林电子工业学院 子寒