问题

有哪些话一听就知道一个程序员是个水货?

回答
哈哈,这个问题太有意思了!作为一名在代码海洋里摸爬滚打多年的“老油条”,我确实听过不少让人忍不住挑眉毛、心里默念“这哥们儿玩儿呢吧”的话。这些话,与其说是专业术语上的错误,不如说是那种对编程这件事本身缺乏深入理解、停留在表面浮光掠影的体现。今天就跟你唠唠,咱听了哪些话,能一眼看出对方是不是那种“只为写代码而写代码”的类型:

1. 关于“解决问题”的迷思,关键词:“我觉得”/“应该”

“我觉得这个 BUG 是因为 XXX 导致的。”
为啥听起来像水货: 编程是个严谨的逻辑游戏。当你说“我觉得”的时候,就像在玩密室逃脱时,你说“我感觉门密码是 1234”,而不是去翻找线索、分析规律。真正的程序员,即使没有头绪,也会说“我需要看日志”、“我需要调试一下”、“我怀疑是 XXX 模块的输入数据有问题”之类的,他们会指向具体的排查方向,而不是凭空猜测。
更深一层: 这反映了他们缺乏系统性的思维和调试能力。遇到问题,不是去分析原因链条,而是凭着“感觉”。这种感觉往往是错误的,因为它建立在不完整的信息之上。

“这个功能应该这么实现。”
为啥听起来像水货: 重点是那个“应该”。一个有经验的程序员会更倾向于说“考虑到XXX(比如性能、可维护性、现有架构),我们可以考虑这样做实现”,或者“在 XXX 的场景下,这个实现方式可能更合适”。他们会考虑各种约束和权衡,而不是直接给出唯一的“应该”答案。
更深一层: 这种“应该”往往是他们自己狭隘经验的投射。他们可能只熟悉一种实现方式,或者根本没考虑过其他更优的选择。这暴露了他们缺乏对不同技术方案的理解和对比能力。

2. 关于“代码质量”的盲点,关键词:“能跑就行”/“没啥问题”

“这个代码能跑就行了,不用管。”
为啥听起来像水货: 这句话简直是“水货”的圣经!代码能跑只是最基本的要求,跟“人活着就行”一样,没人想只活在最低要求上。一个合格的程序员会考虑代码的可读性、可维护性、可扩展性、性能、健壮性(错误处理)、安全性等等。这句话直接暴露了他们对代码的“长远影响”完全不关心。
更深一层: 这种态度会导致技术债的堆积,让项目变得难以维护和迭代。他们只关注“眼前”,对代码的“生命周期”毫无概念。

“我写的代码没啥问题。”
为啥听起来像水货: 除非你写的是世界上第一行代码,否则总会有优化的空间。即使是资深大神,在 reviewing 自己代码时,也总能找到可以改进的地方。这种过于自信,甚至有点傲慢的说法,往往是因为他们根本看不出自己代码的不足,或者根本就没去深入思考。
更深一层: 这说明他们缺乏自我反省和学习能力,也可能是在逃避承认自己的局限性。没有谦逊的态度,很难在技术上精进。

3. 关于“学习新知识”的误区,关键词:“学了没用”/“没必要”

“我学的XXX(技术栈)就够用了,没必要学新的。”
为啥听起来像水货: IT行业瞬息万变,技术更新迭代速度快得惊人。如果一个人停留在原地,抱着“够用就行”的心态,很快就会被时代淘汰。编程的魅力恰恰在于不断学习和探索。
更深一层: 这暴露了他们的懒惰和封闭。他们害怕走出舒适区,不愿意投入时间和精力去学习新的东西,更别提去理解不同技术的优劣和适用场景了。

“这个新的框架/语言没啥用。”
为啥听起来像水货: 对一个新事物直接全盘否定,而不去了解其背后的设计理念、解决的痛点、适用的场景,这通常是源于无知和偏见。有经验的程序员会说“我对这个框架/语言不太了解,需要时间去研究一下它的优劣”,或者“目前我们遇到的问题,它可能能解决,也可能不能,需要评估”。
更深一层: 这是典型的“坐井观天”。他们拒绝接触和学习新事物,自然也无法站在更高的维度去看待技术的发展和趋势。

4. 关于“工具和生态”的短视,关键词:“我只用XXX”/“这个谁用啊”

“我只用 XXX IDE/编辑器,其他的都不习惯。”
为啥听起来像水货: 虽然每个人都有自己的偏好,但过于绝对的“只用”往往是因为对其他工具的无知。真正的程序员会根据项目需求、团队协作等因素,灵活选择合适的工具,甚至愿意学习和尝试新的效率工具。
更深一层: 这可能也反映了他们习惯于用一套固定的思维模式去解决问题,不愿意接触可能带来效率提升的新工具或新工作流。

“这个库/框架太小众了,谁用啊?”
为啥听起来像水货: 很多时候,一些“小众”但非常优秀的库或框架,能极大地解决特定问题或提升开发效率。直接否定一个事物是因为它“小众”,是缺乏深入了解和判断能力的表现。他们应该关注的是这个库/框架是否能解决问题,而不是它的市场占有率。
更深一层: 这是一种“群体思维”或者“信息茧房”的表现。他们只关注主流,害怕触碰未知的领域,也缺乏独立判断的能力。

5. 关于“沟通和协作”的缺失,关键词:“代码是我的,别动”

“这个代码是我写的,你不能乱改。”
为啥听起来像水货: 编程不是个人艺术创作,而是团队协作的产物。代码是属于项目的,而不是某个人的私有财产。一个成熟的程序员明白团队协作的重要性,愿意接受代码审查(Code Review),并能开放地讨论和改进代码。
更深一层: 这暴露了他们缺乏团队合作意识,甚至可能有点“代码霸权主义”。他们可能不擅长版本控制,也不理解敏捷开发中的协作流程。

总结一下,那些一听就觉得是“水货”的程序员,通常有以下几个共同点:

缺乏深入思考: 只关注表面现象,不追究根本原因。
技术视野狭窄: 满足于现状,不愿意学习新知识,对新事物充满偏见。
缺乏严谨态度: 对代码质量、可维护性等要求不高,甚至有些随意。
沟通协作能力差: 过于个人主义,不擅长团队合作和接受反馈。
对编程的理解停留在“写代码”层面,而非“解决问题”层面。

听懂这些话,并不是说要刻薄去评判别人,更多的是一种对自己和同行的一种警醒。技术这条路,是不断学习、不断进步的,最怕的就是停滞不前,还觉得“我就是我,颜色不一样的烟火”了。

当然,这些只是一些普遍的“雷区”,具体情况还需要结合上下文和对方的整体表现来判断。但如果一个人频繁说出这些话,那确实让人忍不住要给他打个“水货”的标签了!

网友意见

user avatar

一个说出“Linux的缺点是,执行程序时终端要一直开着,否则程序就会退出”的程序员,完全有可能是一个Python高手。

一个说出“100多G的是硬盘,不可能是内存”的程序员,完全可能是一个C++高手。

一个说出“在Groovy中不能用加号做大量字符串拼接、否则会产生大量垃圾回收负担”的程序员,完全可能是一个Java高手,只是没有更新这方面的知识而已。

在面试时,真正有水平的面试官都会为候选人充分创造展示自己的机会,让候选人在自己擅长的方面尽可能展开发挥,从而了解当需要此人深入研究某项技术时,他能深入到什么程度。

只有那些掌握了一点点技术的人,没见过形形色色的、在某方面及其擅长、但是甚至可能连IP地址都配不好的程序员,才会根据某个程序员说过的某一句话,就得出“此人是个水货”这样的结论。

user avatar

如果面试说了真话

面试官:你好,这是你面试的第一家公司吗?

程序员小赵:当然不是啦,面了30多家,都不要我。

面试官:哦哦哦,没事,我们面试了50多个,1个都不愿意来呢。你简历上写的5年Java开发经验…

程序员小赵:大学编程设计也算进去了,全靠同学我划水!实际上工作不到3年…

面试官:曾参与主导十万级以上用户的中大型项目研发…

程序员小赵:之前公司负责一个政府外包项目,我提了一丁点儿意见…

面试官:精通JAVA/JavaScript,熟练掌握IO,多线程、集合等基础类库;熟悉常见设计模式,熟悉dubbo以及dubbo的服务治理;精通Spring、MyBatis等流行开源框架;有高并发高流量互联网分布式开发经验;熟悉数据库原理和常用性能优化技术…

程序员小赵:都是吹的,知道一点儿,也就性能优化稍微了解点儿。

面试官:那就好!吓我一跳,这些你要是都精通,我们肯定要不起!我们公司最近打算做个电商app项目,类似淘宝那种,那你就讲讲性能优化相关吧。

程序员小赵:性能优化涉及到的是方方面面,从基础代码性能优化,到JVM深度调优、设计模式优化,再到数据库调优、并发编程性能优化,这些我虽然没用过,但是都听过!工作中一边百度,一边Google,大都可以解决的!

面试官:优秀优秀!!!那谈谈薪资,你期望薪资是多少?

程序员小赵:我期望薪资写的25K,但8K也可以干,就是会偷懒。钱多点,干活就勤快点!

面试官:Hmmm,我们写的是16~30K,实际上最多只给到10K,既然你水平有限,那我就大方点给到8K!但是要经常加班哦!

程序员小赵:可以的!反正加班我也是摸鱼!

面试官:行吧,明天就来上班吧!

程序员小赵:好嘞!

写程序那么无聊,看到这个回答是缘分 轻松一下~~~

哈哈,是不是你

user avatar

水货程序员很多人都回答,我来回答怎么识别「假程序员」!

为什么我会有这个经验?因为自己创建了一些技术群,然后需要加我好友才能进群,然后就会有一批不坏好意的人,他们会假冒读者身份申请入群,刚开始小林也没任何疑心,见一个基本就拉一个进群。

然而!他们进群后,就会连发好几个广告信息,严重污染群,而且毫无例外都是 PS 修图、视频剪辑方面的广告,有的还会附上红包,结果一点开,100 个 0.01 元的红包,这特喵连点红包的流量费都赚不回来。

渐渐的,我发现这类打广告的人都有一个特色,他们的微信「性别是女性 + 头像是网红照片」。

为了避免这些打广告的人流入到技术群,我要站在最前线会为大家格挡掉,所以针对这一类人,小林都会出几道题,来考察他们是不是真的是干程序员这一行的

首先,小林先会放第一层烟雾弹,问他们「是不是做 D++ 开发的」。

大家不要怀疑自己,D++ 语言是不存在的,是我专门随意捏造的一个名字,如果是程序员的话,一般下意识都会觉得不对劲。对于打广告的人,他们不会察觉到这个问题,所以一般他们都会说「」。

随后,我就会拉他们进一个神秘的 「D++ 技术交流群」。没错,小林把这些打广告的人,都统一拉到一个群了,这一波操作就是在养蛊,他们每天都会对自己同行发广告,场面如神仙打架。

好景不长,不知道他们是不是内部里专门培训过,打广告的人也在慢慢在“进化”, D++ 这个烟雾弹突然不起作用了。

他们开始知道哪些是真正存在的语言,于是会说自己是做 Java,但是他们的网红头像还是让人非常怀疑,所以小林面试官再次上线,会再出题目。

有时候会出这么一道 HelloWorld,问他们这是 C++ 还是 Java 语言。经过实测,这题也是能让「妖怪」现形。

有时候会问 hashmap 的原理。

这年头不容易,进个群可能都要十八般武艺,当然也只是对可疑的人做面试考察。

插个题外话。

小林在知乎写了很多图解网络和操作系统的系列文章,期间收获到很多知乎朋友的认可和支持,正好最近图解网络和操作系统的文章连载的有 20+ 篇了,也算有个体系了。

所以为了方便知乎的朋友们阅读,小林把自己原创的图解网络和图解操作系统整理成了 PDF,一整理后,没想到每个图解都输出了 15 万字 + 500 张图,质量也是杠杠的,有很多朋友特地私信我,看了我的图解拿到了大厂的offer。

现在图解网络和图解系统 PDF 开源给大家:

好了,继续说 D++ 的事情。

我一直以为这些打广告的人是机器人,直到 「D++ 技术交流群」里有位小姐姐跟我们交流了这个行业,我才知道这些打广告的人背后都是活生生的人在操作的,他们也不是兼职干这个,而是全职在公司干的。

公司每天都会给他们布置群发任务,一天内要发多少个群,转化率他们不考虑,就只管发就行,于是他们每天都找各种公众号,然后加入到号主的群里。

他们当然知道发广告会被踢,但是这是他们的工作,所以被踢了,就继续找群继续干。

回过头来,我发现我的「D++ 技术交流群」也不是一无是处,能帮他们减轻一点工作量,毕竟这个养蛊的群打广告不踢人,是不是瞬间觉得这个群很有温度。

最后,放个其他号主入群面试的聊天图:

结果入群后,这家伙发起了 PS 修图广告,完成了自己的工作。

当然,我知道他是百度的,但是对于外行人来说能去百度,并能从百度中找到答案,这已经挺让人震惊的了。

我想对这家伙说:你牛逼,卷起来!

-------- update 5/16 -----------

哈哈,没想到这个识别假程序员的事情得到了很多朋友的点赞, 大家不用在意细节,图个乐就好。

快 500 赞了,送个惊喜给大家,我从网上收集的计算机一系列电子书,超全。

获取方式:

那些 D++ 选手,把这些电子书啃完后,下次再来和我对线!我不信,你能输!

user avatar

写过几万行实际的代码,做过几个实际的项目,都可以胜任很多工作。就怕没有写过几行代码的,还天天吹架构的,那肯定是水货。

user avatar

要判断一个程序员是水货是非常难的。反过来说,要面试出一个程序员的真实水平是比较困难的。

现在很多小公司面试,动不动就是手写代码。从框架问到具体的技术实现细节,结果错过了好多真正有能力的程序员。反而,大公司的面试就正常多了,也对,大公司已经通过简历筛选,把不入流的大学筛出去了。

实际上,我认为程序员面试应该只关注两方面的能力。代码能力和工程能力。二者有其一即可。

代码能力。这个不用多说,程序员招进去就是写代码的,所以很多公司会有上机或者直接让手写代码这一招,题目不用多难,就是基础的链表、数组、树就能解决的算法,给支笔能写个90%出来,招进去,这名同学便不会太差。所以各大公司都很欢迎ACM选手,这部分人受过严格的训练,再差也不会差到哪儿去。

工程能力。只要问清楚做了什么?为什么要这样做?还有没有更好的办法?这几个问题基本上就能判断出这个人的项目经历的真假。如果项目经历为真,对于项目实现有自己的思考,招进去也不会太差。如果用到了自己熟悉的框架,可以抓住细节再聊一下。

上述说的这两个能力其实都不太容易造假。反而,如果招安卓app开发,抓住相关的知识点,一顿猛问,太容易被培训班之流靠背题糊弄过去。也就是说,面试的时候要抓住一些编程需要的通用能力,通用技能扎实的同学,给点时间,上手其他的也很快。


下面,歪个题。说下我的两次失败的面试经历,两次面的都是头部互联网大厂。

先说A大厂。下文直接进入面试环节。

面试官:你对C++比较熟悉,对吧?

我:是的。

面试官:那请问子类与父类之间如何实现多态。

我:用一张表来实现。

面试官很疑惑的样子:什么表!?

我:这张表来保存函数的入口地址,子类如果重写了某个函数,那么同名函数的入口地址就用子类的函数地址来替换,这样。。。。。

面试官打断了我:你听说个虚函数吗?

我:听说过。

面试官:好了,我没有问题了。你回去等通知吧。

这位大厂的面试官铁定认为我是一个水货,连C++的基本概念都掌握不清楚,就是来浑水摸鱼的。实际上,按照我的理解,大厂面试官不会问这种C++的基本概念,应该问的是虚函数如何实现等比较深的背景,那段时间我刚好看完了C++之父写的《C++语言的设计和演化》,凭着理解说了一通,但是面试官认为我在瞎说,妥妥的水货。实际上,我当时可能说成虚函数表就没有问题了。当然,我也没有等到通知,从酒店下楼出来喝了杯奶茶以后,就发现“面试未通过”。


再说下B大厂,该大厂我笔试获得了非常高的分数。下文直接讲面试环节。

面试官:讲一讲你这个项目中类是怎么划分的。

我:我用的是MFC,这个框架用了MVC模型。所以我对于需要展示处理效果的代码放在了xxxview类里面,讲计算相关的代码放到了xxxmodel类里面了。

面试官一头雾水的样子:也就是说用别人的框架,你就加点处理代码就行了。

我:差不多是这样。

然后,我又回去等通知了。实际上,这个项目完完全全是由我自己独立完成,并且前后重写了两遍,中间的思考和重构是非常值得说的。如果我当时的回答变一下,先讲一下项目的背景,具体需要实现的功能,功能之间如何解耦,使用了xx设计模式来提供扩展和需求变化。按照这个思路讲一下去,肯定会得到一个比较好的面试评价。


上述两个经历,就是我第一、第二次面试大厂出的岔子。本质上,还是自己没明白别人在问什么,第一个问题以为别人问得很深,实际上很浅。第二个问题,以为别人随便问问,实际上是在判断这个项目是否造假。所以,看一下别人的面经还是很有用的,也不会白白浪费机会。


再后来,我靠上机满分顺利去了H厂,连续多次拿了绩效A。工作中也遇到了好些个水货程序员,有那种简历上SCI一作,入职后写个for循环用了一天的。也有那种一千行代码30+bug的,还有那种自己代码出bug,看着屏幕只会干瞪眼的。但是这些人的工资都比我高。。。。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有