有哪些话一听就知道一个程序员是个水货?
要判断一个程序员是水货是非常难的。反过来说,要面试出一个程序员的真实水平是比较困难的。
现在很多小公司面试,动不动就是手写代码。从框架问到具体的技术实现细节,结果错过了好多真正有能力的程序员。反而,大公司的面试就正常多了,也对,大公司已经通过简历筛选,把不入流的大学筛出去了。
实际上,我认为程序员面试应该只关注两方面的能力。代码能力和工程能力。二者有其一即可。
代码能力。这个不用多说,程序员招进去就是写代码的,所以很多公司会有上机或者直接让手写代码这一招,题目不用多难,就是基础的链表、数组、树就能解决的算法,给支笔能写个90%出来,招进去,这名同学便不会太差。所以各大公司都很欢迎ACM选手,这部分人受过严格的训练,再差也不会差到哪儿去。
工程能力。只要问清楚做了什么?为什么要这样做?还有没有更好的办法?这几个问题基本上就能判断出这个人的项目经历的真假。如果项目经历为真,对于项目实现有自己的思考,招进去也不会太差。如果用到了自己熟悉的框架,可以抓住细节再聊一下。
上述说的这两个能力其实都不太容易造假。反而,如果招安卓app开发,抓住相关的知识点,一顿猛问,太容易被培训班之流靠背题糊弄过去。也就是说,面试的时候要抓住一些编程需要的通用能力,通用技能扎实的同学,给点时间,上手其他的也很快。
下面,歪个题。说下我的两次失败的面试经历,两次面的都是头部互联网大厂。
先说A大厂。下文直接进入面试环节。
面试官:你对C++比较熟悉,对吧?
我:是的。
面试官:那请问子类与父类之间如何实现多态。
我:用一张表来实现。
面试官很疑惑的样子:什么表!?
我:这张表来保存函数的入口地址,子类如果重写了某个函数,那么同名函数的入口地址就用子类的函数地址来替换,这样。
面试官打断了我:你听说个虚函数吗?
我:听说过。
面试官:好了,我没有问题了。你回去等通知吧。
这位大厂的面试官铁定认为我是一个水货,连C++的基本概念都掌握不清楚,就是来浑水摸鱼的。实际上,按照我的理解,大厂面试官不会问这种C++的基本概念,应该问的是虚函数如何实现等比较深的背景,那段时间我刚好看完了C++之父写的《C++语言的设计和演化
》,凭着理解说了一通,但是面试官认为我在瞎说,妥妥的水货。实际上,我当时可能说成虚函数表就没有问题了。当然,我也没有等到通知,从酒店下楼出来喝了杯奶茶以后,就发现“面试未通过”。
再说下B大厂,该大厂我笔试获得了非常高的分数。下文直接讲面试环节。
面试官:讲一讲你这个项目中类是怎么划分的。
我:我用的是MFC,这个框架用了MVC模型。所以我对于需要展示处理效果的代码放在了xxxview类里面,讲计算相关的代码放到了xxxmodel类里面了。
面试官一头雾水的样子:也就是说用别人的框架,你就加点处理代码就行了。
我:差不多是这样。
然后,我又回去等通知了。实际上,这个项目完完全全是由我自己独立完成,并且前后重写了两遍,中间的思考和重构是非常值得说的。如果我当时的回答变一下,先讲一下项目的背景,具体需要实现的功能,功能之间如何解耦
,使用了xx设计模式来提供扩展和需求变化。按照这个思路讲一下去,肯定会得到一个比较好的面试评价。
上述两个经历,就是我第一、第二次面试大厂出的岔子。本质上,还是自己没明白别人在问什么,第一个问题以为别人问得很深,实际上很浅。第二个问题,以为别人随便问问,实际上是在判断这个项目是否造假。所以,看一下别人的面经还是很有用的,也不会白白浪费机会。
再后来,我靠上机满分顺利去了H厂,连续多次拿了绩效A。工作中也遇到了好些个水货程序员,有那种简历上SCI一作,入职后写个for循环用了一天的。也有那种一千行代码30+bug的,还有那种自己代码出bug,看着屏幕只会干瞪眼的。但是这些人的工资都比我高。
来源:blog.csdn.net/qq_66238169/article/details/124886138