从毕业之后一直在一家外企工作,企业本身是负载均衡相关,后来转为内资,在组里面做 SSL offload,工作三年了想换份工作。参加了几次面试,面了某曾经的技术大厂,现在某门户网站产品和某短视频疯狂扩张的企业。除了面曾经的技术大厂成功之外,其他两个都失败了。简单反思了一下,写写感受。
大厂面试的时候并不是那么的关心你内部为了优化做了哪些操作,如果先说出来一个性能改进的可量化标准,比方说数字(会好很多)。这一点可以说是最深刻的感受,即使在时间量级上没办法说出来,最好也找 QA 拿到性能数据,比方说新建,CC 等数据,来说明工作的重要性。如果我现在再去面试,我就会直接说,局域网环境下测试虚拟机 TLS1.2 的自动机延迟是 0.063s,而 TLS1.3 完整是 0.018s,reuse 直接为 0.009s 。这样子能直接体现工作效果的会好很多。
对广大毕业生而言,如果能毕业以后能进大厂还是进大厂吧。平台对于个人的提升未必会很大,但是平台的名声至少能帮助毕业生。我毕业为了户口进了小厂,这三年在 SSL 自动机的设计和优化花了不少功夫,但是很多这种协议栈上的优化对找工作是没有直接帮助的,很多细微的地方说了面试官不会觉得怎么样。
社招的时候最好能够把自己系统的内部简化出来再跟别人沟通,因为自有 TLS 协议栈的复杂,我发现很多时候向面试官解释协议栈的设计可能起到反方向的效果,去向面试官解释 TLS1.3 协议栈对于原有协议栈的破坏,我们做了很巧妙的什么什么,面试官往往会不以为然。(这里面我个人认为涉及到了一种所谓的大厂对于小厂技术的不屑,实际上这点我个人觉得可能并不是那么正确的,毕竟我厂的 SSL offload 是可以和 F5 干的,在国内的负载均衡算是鹤立鸡群,但是这东西你跟互联网的人说没啥用)
在工作和学习的时候,要注意保持自己工作的深度和广度,深度固然重要,但广度不可或缺。对自己厂的系统,多线程交互,内存申请之类的很熟悉的同时。是不是对于业内开源组件如 redis/nginx/dpdk 等了解?他们是如何实现一个高效的系统?
面试的时候,要学会包装自己,这点说出来可能比较荒谬,但是确实是,很多时候,所谓的研究思路,分析问题的方法的东西是很难看出来的,只需要背一套面经可能就能糊弄过去。类似为什么程序员应该关心 SC 而不是 CC ?这些道而不是术的问题很多时候也可以不是你研发的经验,只要知道就依然可以拿来使用。
祝愿各位和自己都能找到一份心仪的工作吧,愿你每天都能在学习效率之巅,而不是痛苦之谷中。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.