数据结构论坛

首页 » 分类 » 分类 » 由孙子兵法看程序员跳槽
TUhjnbcbe - 2023/8/28 20:01:00

下面一句话是《孙子兵法》中的原文,告诉我们在战争之前需要精确的思考,讨论,这样在后续的实战中才能有战胜的把握。在战争之前考虑的问题越多,胜算的把握也就越大,考虑的越少,胜算的把握也就是越少。

夫未战而庙算胜者,得算多也,未战而庙算不胜者,得算少也。多算胜,少算不胜,而况于无算乎!

那么,这个东东跟我们广大程序员跳槽有什么关系呢?相信很多同学听过“裸面”这个词吧,“裸面”的意思就是没有任何准备就去面试,结果可想而知。因此,我们广大程序员在做面试之前也要充分“算”一下,这样才能“胜”。正所谓不打无准备之仗,那我们程序员在跳槽之前需要准备哪些东西呢?

基础技术

无论是做前端开发还是后端开发,还是做全栈工程师,基础技术一定要扎实。这里的基础技术未必是我们上学的时候学习的计算机体系结构或者操作系统等内容。更精确的说,这些基础技术就是本领域要用的基本技术,比如做前端的要对HTML、JavaScript和CSS精通,至于诸如AngularJS框架或者BootStrap框架通常并非基础技术。

基础技术的精通对于后续开发的影响是不言而喻的。这里的影响不仅仅是开发速度,还有定位文件的效率。在开发速度方面,一个熟手的产出可能是一个生手的3倍以上,而且质量也要高很多。后期解决Bug的效率更是高出一大截。

这里所说的基础技术的掌握程度是相对深层次的,而非简单的熟悉使用。比如前段开发不仅需要对上述的HTML和JS要熟悉,对网络协议和操作系统等基础技术也需要精通。这样,在出现某些网络问题时,我们可以通过WireShark或者tcpdump抓包分析。然而,如果前端程序员对网络知识理解的很肤浅,或者没有这方面的认识,解决问题的思路就无法形成,更不要说真正解决问题。

面试题库

“知己知彼,百战不殆”,只有更深入的了解目的公司,才能更有把握的拿到该公司的offer。因此在面试之前进行刷题是必须要做的事情。当然,这个也是要具体问题具体分析的。目前互联网大厂都是有算法和数据结构相关的面试题环节的。因此如果面试该类的大厂就需要从网搜罗该厂的历史面试题或者刷某扣的题库。

有些同学总觉得刷题毫无意义,而且这些算法和数据结构的知识在日常开发中也都用不到。老实说,这种理解本身是很片面的,你用不到并不代表别人用不到。说的不客气一点,在日常开发中没有用到算法和数据结构的知识,那是因为你的项目太low了。这句话可能不中听,不过如果大家看一下Linux内核的代码或者诸如LevelDB和Redis等开源项目的代码就会发现,里面充斥着各种算法和数据结构的知识。

废话不多说,这里就是强调一点,算法和数据结构无论是面试还是实际开发都很重要,一定要学透了。

简历

简历的重要程度不用多废话了吧,无疑是面试的敲门砖。如果简历写的不好,基本不会有面试的机会,更不要说拿到offer了。大厂的HR每天收到简历数量常人可能无法想象。认识一个做HR的朋友,其每个简历的阅读时间大概在10-20秒,也就是如果你的简历没有亮点,会马上被扔到一边(俗称人才库)。因此,简历很重要,很重要,很重要,重要的话说三遍。

本号以为简历应该

1
查看完整版本: 由孙子兵法看程序员跳槽