一如既往的发面经攒rp,期盼找个好工作!
年后按约参加佳能的面试,虽然是偶不太喜欢的外包形式,anyway,米多的就是不坏的!去之前上网搜索了下,什么资料都没有,估计是集团内部技术部门吧,到了保福寺银谷大厦,上去后的感觉到一股很浓的IT公司气息,简单的颜色,醒目的标语文化,密密麻麻的桌子和电脑,打卡机,办公室,都有似曾相识的感觉,大概IT公司都喜欢这样的氛围?偶还是喜欢更个性化更有创意的,不喜欢被当成一个流水线工人。
到了会议室,一个mm送来了一份笔试题,要求60分钟内完成,完成了叫她。老套路了啊,拿起来看看,中软出的,主要是对C#基础的认识。前面10道不定项选择题,中间4道填空题,最后4道编程题,跟上次文思还有华为3com的考试很像。
选择题主要考察基础知识,大部分是对一些模糊概念进行正确错误的选项选择,比如给一段含有debug的程序,问去除debug标识行前后对于编译有什么区别,抽象类和接口的特性等等多选错选都不得分。
中间四道主要是阅读程序能力,第一题输出变量,中途对变量进行了赋值,需要辨别值是否变化,可惜赋值的命令偶看不懂,蒙的。第二题和第四题都是补充程序片段,一题是根据上下文程序,写出构造函数,一题是写事件委托,两个概念原理偶都明白,可惜程序里有几行看不懂,所以也不知道怎么写,miller同学发的事件委托那个pdf总结看了好几遍,但是一直没机会实践,也记不起来了,哎。第3题是考察类关系和构造函数的执行过程
Class A:B
{定义构造函数和若干方法,会执行输出不同字符串的命令}
Class B:C
{会重载和重写A里面的不同方法,输出字符串和A不同}
Class C
{什么都没有}
问main()执行后输出什么,程序偶都看明白了,可是main里面,执行了A a=new B()这种基类实例赋值给派生类的操作,偶就不知道构造函数会执行成啥样了,蒙了个结果。
第三段的编程题36分,4个部分,偶只回答了第一题。第一题是要检测某字符串里面不同字符或者数字出现的次数(区分大小写),偶定义了两个62成员的数组,数组A记录大小写26个字母和0到9数字,数组B记录A中对应顺序成员的出现次数。然后遍历给定的字符串参数,跟A做循环对比,如果相等,就给B中相应顺序成员加1,循环要进行给定字符串长度乘以62次,感觉效率还是不怎么高的,题目说允许使用System.collections里面的类方法,但是偶不知道。
第二题是实现复数的加法,这题就是母狐狸送的ASP.NET2.0书上的一个范例,需要用到对加法运算符的重载,定义1个结构体,包含实数和虚数两个成员,定义加法的重载,让实数和虚数分别相加,返回结构体的实例即可。可惜在VS上也许偶能写出来,在纸上…no way了,放弃。
第三题是泛型的使用,完全没接触过,放弃。
第四题更看不懂,是要实现深度复制,扩展系统本身的clone接口。
答完还有20分钟,不过偶知道已经没戏了,那些基础概念平时没有注意记忆,反正VS会智能感知,只要模糊知道用谁,并没有注意具体的概念。中间的4题,估计上VS断点调试一下,能做出来3题,但是没有“但是”的可能。第三部分基本都是知道概念,由于用不到,也没有机会深入了解泛型、结构体、重载系统本身对象等等。总的说来,归根结底是基础不牢固,知识范围狭窄。至于没有考察网站常用的sql语法,和css等,也是因为本次职位主要招软件开发,面向于winform的程序员,自己也不太适合。
但是也很有收获,面试偶的项目经理非常nice,虽然知道偶分很低,不过还是给机会偶让偶随便提问,聊了聊对行业和职业发展的看法,受益颇多。自己和正规的大型IT项目开发还有很大差距,学习的方式也有问题,没有想到常上的网站有CSDN居然暴露出偶的英文水平不好?经理GG说,要多看英文的资料的话,应该知道有5个英文网站是每次搜索技术问题都会排在前面的,还好没有English Interview,不然估计GG都不愿意跟偶谈了……询问了GG的大中型项目开发经历,然后就88了。
总的说来,这次面试完还是很开心的,又学到了东西,开阔了眼界,嗯,牛年继续努力赚更多的钱钱!~