某知名国际公司看了我简历,先有两名人事MM先后和我沟通。谈及薪资和公司需求,感觉我都绰绰有余。
随后安排了电话技术面试,一名项目经理和一名工程师。
技术做的时间长了,都不善于沟通,说话有些磕磕绊绊,这是第一个败笔。
先是让我讲了一下这10年从事的工作,以及有最得意的项目,有哪些技术,用了哪些亮点?
问到了学历问题,和英语问题。我也老实的说明了学历比较耀眼,但却没有学位的原因。目前英语读和写无问题(工作中有用到),听说较逊。
于是我便讲了那个获得发明专利的项目,用它讲了多线程,和敏捷开发(即不断的更新迭代,一直进化)。以及自己搭建的开发框架,MVC架构+权限管理+功能知识库+代码生成器。虽然有些磕磕绊绊,但总算能表达出来。
然后问了一些技术常识问题,我一听在项目中全都深度应用过,结果却回答得太不如意
而且我给公司做内部培训时,也都讲解了这些知识点。做项目时,用什么技术都是不假思索的,却忽略了知识点。
1, 多线程
问:有几种开始方法?线程锁变量,对象,何时结束?为什么多核使用多线程就有效?
开多个线程,自然有wait函数等待所有线程结束,很多算法都共用了线程锁变量。而我大脑却断档,仅想得出最基础的东西。
2, 设计模式
问:用过哪些设计模式?随便说一种你用过的设计模式。
开始入门时看了很多设计模式的书,还做了不少小程序验证。回答得时候只记得自己搭建框架用了工厂模式,改造旧系统时用新架构,在自己的接口里调用旧系统的方法。忘记是用哪种模式了。
3, get,post的区别
做项目时无论是服务端的get和post设置,还是客服端的get.post方法都用过无数。用它们来开发过网页游戏外挂,post可以用来提交表单,get只能提交简单的对象。而且POST更加安全。
4,session和cookie的不同,sesion关闭方法有哪几种
http无状态入门的都知道,我开始竟然回答是关闭浏览器seesion就失效.后来突然才回想起来。调用cookie,用于网页游戏外挂,N个账号一起协调工作也是我的拿手好戏。竟然回答不出来。
5, js 访问html对象方法几种?
又是基础问题,结果我只记得JQUER的$(#)方式.明明调试过很多JS和JQUERY,也用了easyui。
6,举例说泛型的应用
五年以上编码经验的人,自然用过很多。我只记得linq查询了。自然又答不上来
实际上很多复杂程序,都用了无数的list泛型。比如那个专利项目中,其中一个技术点是用一个的四边形去覆盖最多的网格,找出最佳位置,并在实际的工程中画出图形指示。
7, 序列化反序列化
我只记得近期项目,一个图片生成工具,我用序列化来保存用户的参数类和文件。启动程序的时候用反序列化,来实例化这个参数类(包括上次操作中的文件)。
可以感觉到不是面试官期望的应用场合。
实际上XML序列化来进行前后台的传输做得太多了,以及一个自动调试gamma项目中,把算法结构也当做一个反序列化类,引导用户生成算法的XML文件,来读取XML,反序列化到算法中。
8,最后问我对于这个名企还有哪些问题想了解的?
我老实说:对于刚才面试的表现,实际应用这些技术都很熟,但回答时却想不起来。
又画蛇添足的问:贵公司是需要一个直接的专家,还是一个学习能力强快速发展的人?这又打在打自己脸了,明明已经是专家面试岗位了,但基本问题没回答好,间接把自己摆在无能力有潜力的位置上。实际这么多年下来,即有很多解决问题的经验,又在不断的学习扩展。
继续画蛇添足的问:贵公司领导技术的人不会插手技术吧?不会像我这公司一样,把.NET的派去做嵌入式,一会又派去做java,android吧?又是一个弱智问题,可能是我工作的公司这种官僚主义太严重了.
9,对于你自己还有什么需要补充说明的吗?
可以看得出这是给一个后面再翻盘的机会,我说没有了。
其实他们所进行的数据库SQL方面。在我对门禁系统二次开发时,无源代码无数据表名。用追踪SQL语句执行的方式,生生理解了表设计逻辑,开发出来需要的自动同步人事系统,查询进出报表等功能。使用定时批量对比更新的技术,却忘记说出来。
面试中共进行了40分钟左右,可以看得出,他们给我表现机会,而且问题并没有为难人,都是问一些他们项目中要使用的基本知识问题。
感觉我浪费他们40分钟时间很过意不去,十成实力未能表现出3成。感觉很烦躁.
五年多第一次面试就这样无疾而终,完全不符合目前五线城市月薪10几K的水平。
经验总结:
大公司面试并不难,更注重的是实际项目用到的技术,并沿着技术深入问下去。只要项目时真是不含水分都可以答得出来。
确认的项目的真实性后,会问全面的基础问题,会者不难。不会出现脑经急转弯和网上找一堆面试题让你答那种。