本文转自 Bennyhuo 的博客
原文地址:www.bennyhuo.com/2023/08/29/…
一般这么写的,都不算知晓。
朋友们好,我是 bennyhuo。
我们肯定见过写着 “知晓 XXX 言语” 的简历,我在曩昔几年的作业经历中就见过知晓 Java、知晓 C++ 甚至知晓 Kotlin 的简历,这在几年前尤其盛行。
当然,现在我们稍微做一些功课就会看到“千万不要在简历中写知晓 XXX“ 之类的警告,不知道我们有没有想过,为什么写知晓便是不行呢?
什么是知晓?
要搞清楚这个问题,先得搞清楚什么是知晓。
知晓: 透彻知晓。
晋 左思 《魏都赋》:“硕画知晓,目无匪制,推锋积纪,鋩气弥鋭。” 唐 李咸用 《赠陈望尧》诗:“若説知晓事艺长,词人争及孝廉郎。”《醒世恒言刘小官雌雄兄弟》:“不过数月,经书词翰,无不知晓。”如:他知晓英语。
这个解说十分清楚,但有一个很费事的问题,所谓知晓其实是一个偏片面理性的描绘,而不是一个可以量化的规范。
我举个比如,汉语是我的母语,我虽然天天说汉语,但我假如说我知晓汉语,肯定有许多朋友会觉得”你不是在开玩笑吧“,但假如这话我跟火星人说,他们必定觉得没毛病。
“难以量化”就会让表述的成果十分片面,考虑到我们的文化背景考究狂妄自负,所以说自己知晓 Kotlin,知晓 Java,就让人感觉这位提名人有些自负。
什么样的提名人喜欢写知晓?
从我的面试筛简历的经历来看,写知晓 Kotlin、知晓 Java 的提名人,无非是期望证明自己对 Kotlin 或许 Java 的掌握比较不错,可以胜任这份作业。
换个简单的说法,便是期望经过写自己知晓 Kotlin 来证明自己会 Kotlin。是不是听起来有些不对劲?这不是典型的循环论证吗?就好像说,bennyhuo 的视频很不错,由于很风趣相同,本质上说的是一件事儿,而没有给出详细的论据。bennyhuo 的视频很不错,由于他的视频一不带节奏,二不贩卖焦虑,三我编不下去了。
总归便是要给出详细的论据来证明你的定论,而不是用一个定论来证明另一个定论,或许用一个片面的描绘来证明一个客观的状况。事实上,一个无法量化的描绘其实无法证明任何定论。
这道理很难懂吗?当然不是。那为什么前几年那么多人喜欢这么写呢?一方面,互联网快速发展的早期,招聘单位招人许多时候便是为了储备人才,挑选规范方面的确存在比较宽松的状况,这使得勇于自信地在简历上说自己知晓 XXX 的提名人的确更简单蒙混过关;另一方面,或许也的确存在一些提名人没有可以拿得出手的项目,便是没得写,只好说自己擅长什么,熟练什么,知晓什么了。
为什么知晓成为简历上的忌讳?
知晓二字在简历中成为忌讳,除了由于这个词表述的内容难于量化以外,还有一个重要原因便是许多提名人其实甚至连普遍意义上的熟练掌握都达不到,就敢写自己知晓。
举个比如,我曾经在面试过程中碰到过说自己知晓 Java 的提名人,所以我问他 final 关键字有什么作用,他说润饰变量不可变,润饰类不能被继承,润饰办法不能被覆写。十分规范的八股答案是吧。
但作为一个知晓 Java 的开发者,我们的答复必须融入自己的了解。润饰的变量不可变,那么
- 我们应该在什么状况下用 final 润饰变量?
- final 润饰的静态变量和成员变量有什么区别?
- final 润饰的 String 和 ArrayList 有什么区别?
- 有没有什么办法修正被 final 润饰的变量?
- 被 final 润饰的变量在并发中有什么作用?
- 为什么匿名内部类只能捕获 final 的局部变量?
这些都可以聊,这肯定不是网上随便搜到的八股题目所可以涵盖的,也最能体现自己的水平。
这样的比如太多了,所以最终”知晓“二字与狼来了相同,让人看到只能联想到一个字:
怎样证明自己的确知晓?
当然,也不排除的确有些提名人真的知晓某一项技能。
讲个小故事。我之前打算从腾讯出来,找作业的时候有个面试官看了我的简历预备聊点儿 Kotlin 协程的内容,成果他犹豫了,他半吐半吞最终来了一句,Kotlin 协程方面应该没啥好问的了,看你还出了一门 C 言语的课程,我们要不聊聊 C 吧。为啥会这样呢?由于那会儿是 21 年 3 月,他看《深化了解 Kotlin 协程》这本书现已写完快一年了,而 C 言语的课程刚上线几个月,估计我现已把协程快忘光了,就别问了吧,给点儿面子。
哈哈,开个玩笑。程序员的圈子里边,高手是十分多的,总有大佬是真的知晓某些技能的,人家要写简历会怎样证明自己知晓呢?
在评论这个问题之前,我想先跟我们聊一下“武松打虎”的故事。武松上山前在店里吃酒,店小二说山上有只山君十分凶恶,现已伤了多人性命,晚上千万不能上山。成果武松不听劝阻,上山后呢,又在打斗时又侧重描绘了山君是怎么怎么厉害,却很少提及武松知晓什么功法,成果呢?山君被武松打死了,武松的武力值我们瞬间就能了解,无需多言。
类似地,假如需求证明你知晓什么技能,你需求罗列你做过的相关的详细作业,例如想要证明自己知晓 Kotlin,那就说说自己使用 Kotlin 做过哪些公司项目,做过哪些与 Kotlin 言语强有关的技能专项,参与过哪些开源的 Kotlin 项目,或许给 Kotlin 官方提过 PR 等等。经过介绍这些项目的细节,来展示你对 Kotlin 的掌握程度,让面试官自己推断出你“知晓 Kotlin”的定论,而不是自己把定论说出来。
同样是那次出来找作业,有一个面试官对编译器比较感兴趣,所以问我有没有研究过 Kotlin 的编译器,我说这块儿还涉猎的比较少。不过现在不相同了,这段时间我在 GitHub 上开源了好几个 Kotlin 元编程相关的项目:
- kanyun-inc/Kace (公司级开源项目)
- KotlinDeepCopy
- Kotlin-Trim-Indent
- kotlin-compile-testing-extensions
- Klue
不仅如此,经过两年的尽力,我又写了一本书:《深化实践 Kotlin 元编程》。
>>>点击检查概况<<<
这本书的内容可以说是躺在 Kotlin 和 Java 编译器的源码上写完的。假如几年后有机会再出去面试,不管是问我 Java、Kotlin 的反射的作业机制仍是 APT 和 KSP 的完成细节,甚至 Kotlin 编译器插件的内部原理,我都能说的头头是道。
既然如此,我觉得我在简历上写个熟练掌握 Kotlin 应该问题不大,不过明显让面试官自己得出定论作用会更好,而我只会说我啥也不会。
关于作者
霍丙乾 bennyhuo,Google 开发者专家(Kotlin 方向);《深化了解 Kotlin 协程》 作者(机械工业出版社,2020.6);《深化实践 Kotlin 元编程》 作者(机械工业出版社,2023.8);前腾讯高级工程师,现就职于猿教导
- GitHub:github.com/bennyhuo
- 博客:www.bennyhuo.com
- bilibili:霍丙乾 bennyhuo
- 微信大众号:霍丙乾 bennyhuo