# BATJTMD,大厂招聘,都招什么样Java程序员?

作者:小傅哥
博客:https://bugstack.cn (opens new window)
原文:https://mp.weixin.qq.com/s/-O2Apy-llourtjQPbHyAiA (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、前言

Java学到什么程度可以找工作?

最近总看到类似这样的问题,也有一些工作3年左右的小伙伴问小傅哥,该怎么进大厂。其实你说 Java 学多少可以找到工作,主要看你想在哪个城市找、找什么样的公司、找什么样的待遇。因你的要求高低不同,你遇到的面试要求也会随之改变。

因此,为了让大家更清楚的看到学多少Java能找工作,我抽取了北京头部互联网公司的大量职位招聘要求,分析出一份可以让你明卷面试的考点。看过都说😁学习有方向、面试也不慌!

# 二、互联网公司都分布在哪里

知己知彼,百战不殆,先看看有哪些互联网公司,都分布在北京的哪些地方,也能方便你,面试不迷路、跳槽不辛苦。筛选了部分公司,还有很多不一一列举了!

# 1. 常见大厂

图 11-1 常见互联网大厂,筛选20家

  • 没有排名,随机筛选,随机排序
  • 公司包括:华为、联想、新浪、百度、小米、58同城、搜狗、爱奇艺、腾讯、去哪网、美团、饿了吗、汽车之家、字节跳动、当当网、CSDN、亚马逊、京东、360、滴滴

# 2. 地理位置

图 11-2 互联网大厂地理位置分布

  • 从图上可以看到大部分互联网公司都分布在北边,😁让人怪不好意思的,集中在一块挺好,下楼吃个饭就跳槽了。
  • 就我自己而言更喜欢靠边一点的公司,因为租房便宜、不用挤地铁、不用把时间浪费在路上、不用听马路的嘈杂。

# 三、什么样的技术能进入大厂

# 1. 你的简历

可能很大一部分1~3年找工作的小伙伴,只是按照模板填写好简历就完事了,很少考虑公司都需要什么、自己的职位是否匹配。

但你可能忽略了,你的这份简历才更多的决定了你会遇到一个什么样的公司、什么样的面试官、什么样的考题。最终决定你与这家公司的匹配的程度。

在与很多小伙伴沟通中发现,其实很大一部分程序员都不会写简历的,或者说写不好简历。好像是有话说不出来,或者是不知道该把这些话说在哪。一份简历主要得体现出你个人的信息、技术栈广度和深度、项目经验以及最后一块拓展内容。

而这份简历想达到最终的效果,也就是拿Offer。那么一定要给面试官挖坑,当然这个坑不是真坑。而是你要在简历中突出自己的优势项、技术亮点、优秀经历,也同时在这些点中留出技术话题,让面试官可以和你有的

但如果说你胡乱写简历,说自己懂HashMap。那面试官来劲了,问你:Hash为什么用31计算扰动函数的作用是什么,以及它可以被应用在哪些地方负载因子嘎哈的HashMap是开放寻址还是拉链寻址链表什么时候树化以及迁移数据算法是什么2-3树和红黑树有什么关系等等,你不晕才怪,也不能给面试官留下好印象。如果你还不会这些技术,赶快看小傅哥的面经手册 • 拿大厂Offer (opens new window) 吧!

# 2. 大厂考题

以下这部分考题分析数据是通过抽样的方式,从Boss直聘中选取六个互联公司,每个公司找3~5个,工作1~3年岗位应聘要求,从中分析各面试考点综合汇总。

样例数据

# 2.1 阿里、百度、腾讯

图 11-3 阿里、百度、腾讯,1~3年招聘要求梳理

每个公司的每个职位要求会略有不同,所以不能一概而论,某一行没有写某项技术点也不能代表什么。以上更多的是参考以及自己在面试求职时可以按照这个方式进行梳理。

  • 阿里,在技术上会更加希望你有深度和广度,也善于把技术能应用到项目中,并有一定的学习能力。同时在工作中,要有责任心、沟通能力和解决问题的落地的能力。
  • 百度,同样希望可以精通一些框架的深层次内容,有一定的技术经验,更偏向于落地技能。同时也希望你是爱学习的面试者,最好有Github相关内容。工作中积极、主动、抗压,认真,善于沟通。
  • 腾讯,除了基础语言学习外,要有一些扩展,同时要深入理解语言特性。这可能和腾讯本身是用C、C++有关,要知其然,知其所以然。同时希望在数据结构和算法上有一定的了解和认知,也可以在工作中有责任心、抗压能力以及问题分析和解决能力。

# 2.2 字节、美团、京东

图 11-4 字节、美团、京东,1~3年招聘要求梳理

分析完上面三家公司,再看看这三家互联网对应聘者的要求。注意数据依旧是抽样,所以面试者在投递简历时,一定要自己拆解分析

  • 字节,更注重Java基础、算法、数据结构,同时对于常用的技术要有一定的了解深度。对代码方面要有良好的设计和代码品味追求,同时希望你关注业界最新技术,有好奇心和进取心。工作中,有产品意识。对于研发来说,产品意识很重要
  • 美团,美团的技术科目属于比较面的比较广和深的,尤其是字节码编程技术,在其他一些招聘中是没有看到的。除此之外更希望你有一定的学习能力,参与过Github开源项目,有技术钻研精神。在工作中,有较强的思维逻辑,难点攻克,复杂问题推进落地,责任感等。这可能也和美团的技术氛围有关,他们的技术博客做的也不错。百度搜美团技术,https://tech.meituan.com/ (opens new window)
  • 京东,各家公司都非常注重Java基本功,这些面试题可能不难但也很难。另外在常用框架和相应的技术深度上要有一定了解,尤其是各个框架的原理和实现机制,如果你能自己动手写一个,那么会更好。另外在技术经验上,可以有分布式、高并发等经验,也可以非常用的运用设计模式,编写出不错的代码。同时希望你有一定的学习能力,博客、开源代码、Github、Gitee等。工作中,有过程控制意识、风险意识以及良好的沟通和解决问题的能力。

# 3. 考点总结

图 11-5 面试官考点总结

综上,各家公司的招聘要求,梳理出七个方向的考点,包括:基本功底、常用技术、技术深度、技术经验、学习能力、工作能力、项目经验。

  • 基本功底,是一个程序员的主科目语言的学习程度的一个基本考察,这部分内容需要平时大量积累和总结。否则一本简单的Java书很难全部给你讲透彻,因为Java中包括了太多的内容,远不止API使用。
  • 常用技术,这个聊的是你的技术广度,和岗位技术匹配度。比如需要用到过RPC,那你用过Dubbo。如果你的公司暂时用的技术不多,或者还是处于单体服务,那么需要自己补充。
  • 技术深入,除了技术广度接下来就是技术深入,在你常用的技术栈中,你有多了解他们,了解源码吗、了解运行机制吗、了解设计原理吗。这部分内容常被人说是造火箭,但这部分内容非常重要,可以承上启下的贯穿个人修为和薪资待遇。
  • 技术经验,什么是技术经验呢?这是落地能力,除了你可能认为上面一些是纸上谈兵,是造火箭。那么接下来这部分内容就是你是否真造过一个火箭,真完成过一个难题。所以这部分是从结果证明,不是你会什么,而是你做过什么。
  • 学习能力,作为程序员你是否保持热情,是否依旧在积极努力的关注技术,是否为自己的成长不断添砖加瓦、是否还有好奇心和较强的求知欲。一般会从这里看你是不是一个真正的Coder!
  • 工作能力,以上的种种能力,最终要体现到工作上,要能看出你的交付能力。否则即使你再优秀,也不能把你当成一个吉祥物。工作能力的体现,才是真的为团队、为部门、为公司,贡献价值的。
  • 项目经验,这项内容会根据不同公司的不同业务线而不同,就像你懂交易、支付,那么面试花呗、借呗、白条等工作岗位就会很吃香。

# 四、突破成长瓶颈的技术书籍

根据以上大厂岗位要求,总结了可以破敌的技术书籍!

技术成长的每一个阶段都会遇到一个与之匹配的、难以跨越的,技术瓶颈期!这个阶段没有一次能解决的神药,只有自己不断的积累、沉淀、破局,到最后的爆发。而这些知识可能最开始都是枯燥的,就像看了大A不会小a,看了小a又牵扯出小b,没办法只能一层层的扒,一层层的学。

书籍下载:扫码关注公众号:bugstack虫洞栈,回复:电子书

扫码关注公众号:bugstack虫洞栈

# 1. 推荐

# - 小傅哥的《重学 Java 设计模式》 ⭐⭐⭐⭐

本书是作者小傅哥,投入50天时间,从互联网实际业务开发中抽离出,交易、营销、秒杀、中间件、源码等22个真实业务场景,编写了18万字271页的实战型Java编程资料。如果书中含有不易理解的内容,一定是作者在编写的过程中缺少必要的描述和严格的校准,感谢把你的意见或者疑问提交给我,也欢迎与我多一些交互,互相进步共同成长。

# - 小傅哥的《字节码编程》 ⭐⭐⭐

让人怪不好意思的,说是出书有点膨胀,毕竟这不是走出版社的流程,选题、组稿、编著、审读、加工到出版发行。但全书共计107页,11万7千字,20个章节涵盖三个字节码框架(ASM、Javassist、Byte-budy)和JavaAgent使用并附带整套案例源码!

# - 《JAVA核心知识点整理》 ⭐⭐⭐⭐

一份整理的蛮不错的Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

# - 计算机是怎样跑起来的(日)矢泽久雄 ⭐⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

矢泽久雄,曾在Software House做过程序员,电脑作家之友会会长。工作之余笔耕不辍,从电路到编程语言均有涉及。代表作有《程序是怎样跑起来的》等。本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。

# 2. Java

# 1. 《Java虚拟机规范(Java SE 7)》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

如果不太熟悉jvm,这个读起来非常乏味(只有规范,没有多余解释),但如果阅读过相关深入java虚拟机,再读这个,会非常有亲切感。

# 2. 《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。作者周志明,是资深Java技术、机器学习和企业级开发技术专家,现任远光软件研究院院长,人工智能博士在读。

# 3. 《JAVA核心知识点整理》⭐⭐⭐⭐

一份整理的蛮不错的Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

# 4. 《On Java 8 编程思想》 (opens new window)⭐⭐⭐⭐

本书原作者为 [美] Bruce Eckel,即《Java 编程思想》的作者。译者在翻译中同时参考了谷歌、百度、有道翻译的译文以及《Java编程思想》第四版中文版的部分内容(对其翻译死板,生造名词,语言精炼度差问题进行规避和改正)。最后结合译者自己的理解进行本地化,尽量做到专业和言简意赅,方便大家更好的理解学习。

# 5. 深入浅出+Java+多线程 ⭐⭐⭐⭐

笔者在读完市⾯上关于Java并发编程的资料后,感觉有些知识点不是很清晰,于是 在RedSpider社区内展开了对Java并发编程原理的讨论。鉴于开源精神,我们决定 将我们讨论之后的Java并发编程原理整理成书籍,分享给⼤家。 如果您或者您的单位愿意赞助本书或本社区,请发送邮件到RedSpider社区邮件组redspider@qun.mail.163.com或加微信redspider-worker进⾏洽谈。

# 6. 《Java核心技术 I》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

不同于一般的 Java入门书,此书对api的讲解非常详细,细节部门颇多。举个例子,java对象序列化时会写入什么内容,本书都有详细的介绍

# 7. 《effective java 3》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

全书以一种比较松散的方式将这些条目组织成11章,每一章都涉及软件设计的一个主要方面。因此,本书并不一定需要按部就班地从头读到尾,因为每个条目都有一定程度的独立性。这些条目相互之间经常交叉引用,因此可以很容易地在书中找到自己需要的内容。

# 8. 《Java解惑》 ⭐⭐⭐

挺有意思的一本书,它列举了许多平常不太注意的细节问题,可能大部分时候我们都不会碰到此类问题,但如果读过,一旦碰到,就会留意此类问题。

# 9. 《Thinking In Java 4》⭐⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

值得用2年深入抚摸的书籍,对于学习java技术除了最开始的入门书籍后,这是一本非常值得阅读的书籍。

# 10. 《Java内存模型》 ⭐⭐⭐⭐

Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它涵盖了缓存,写缓冲区,寄存器以及其他的硬件和编译器优化。

# 11. 《Java并发编程实践(全)》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序中取得了显著的进步,提高了Java虚拟机的性能以及并发类的可伸缩性,并加入了丰富的新并发构建块。在《JAVA并发编程实践》中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,还阐释了创造它们的原因,及其背后的设计模式。

# 12. 《Spring揭秘》 ⭐⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

本书内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的Spring图书。

难得的国产良心技术书籍,既没有大量堆砌Spring源码,也没有原封不动地翻译官方文档。作者以自己的深厚功力和独特视角一步一步地把Spring框架抽丝剥茧地展现在读者面前,从谋篇布局和字里行间都能看出作者的用心之处。如果你想深入了解Spring的方方面面,这本书非读不可,而且读一遍都不够,要每隔一段时间反复阅读,尤其第二部分IOC和第三部分AOP,它们是Spring的基础,也是这本书的精华所在。这里不妨给个建议,以这本书为蓝本把Spring框架用到的设计模式和原则认真梳理一遍,结合源码认真理解为何要这样设计。如若这样,假以时日,功力必有小成啊。最后感谢作者,感谢我能遇到这本书

# 13. 《Spring源码深度解析》 ⭐⭐⭐ - 点击购买(支持作者) (opens new window)

由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring的设计理念和整体架构、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息服务等内容。

# 14. 《深入理解SpringCloud与微服务构建》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

本书以微服务的基本概念介绍性开篇,逐步引出Java平台下打造微服务的利器SpringBoot微框架。书中从SpringBoot微框架的“出身”开始,循序渐进,为大家剖析SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。

# 15. 《美团技术后台篇》 ⭐⭐⭐⭐

2019年美团点评高级技术汇总,深入且清晰设计到Java核心技术。包括;字节码编程、全链路监控、美团分布式 ID 生成服务开源等。

# 16. Java Concurrency in Practice ⭐⭐⭐⭐⭐

This book covers: Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

# 3. DB

# 1. 《MySQL王者晋级之路》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

十年磨一剑,汇集作者多年MySQL数据库领域的一线实战与教学经验,由浅入深剖析MySQL的体系结构、备份恢复、复制、高可用集群架构、优化、故障排查、新版本特性、监控、升级及技术面试宝典等知识点。

# 2. 《数据库索引设计与优化》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。此书适用于已经具备了SQL 这一关系型语言相关知识,希望通过理解SQL 性能相关的内容,或者希望通过了解如何有效地设计表和索引而从中获益的人员。

# 3. MYSQL技术内幕:INNODB存储引擎 - ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

这本书更深入地介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,帮助用户真正了解一个数据库存储引擎的开发。

# 4. Redis

# 1. 《Redis设计与实现》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

黄健宏 软件开发者,他喜欢函数式编程,热爱开源软件。出于对数据库的强烈兴趣,他开始阅读和分析 Redis 源代码,并对 Redis 2.6 和 Redis 3.0 的源代码进行了详细注释。

# 2. 《Redis 深度历险:核心原理与应用实践》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

作者:钱文品,老钱。可以说这是一本深挖到redis骨头的技术书籍,整个内容涵盖;基础和应用篇、原理篇、集群篇、拓展篇、源码篇共 5 大块内容,值得学习。

# 3. 《Redis开发与运维》 ⭐⭐⭐⭐- 点击购买(支持作者) (opens new window)

付磊,张益军 | 搜狐视频高级研发工程师,都拥有多年Redis开发运维经验,为公司多个核心业务提供Redis服务。两人共同编写了本书,在本书中全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。

# 5. 架构&设计

# 1. 《代码整洁之道》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。

# 2. 《Head_First设计模式(中文版)》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

Head First陆续的介绍了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单件模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、组合模式、状态模式、代理模式,在介绍各种模式的期间,用简单的应用场景、通俗的语言引导读者去思考这些模式是如何利用和遵循相应OO原则的,然后再清晰的总结出每种模式的定义。

# 3. 《编写可读代码的艺术》 ⭐⭐⭐ - 点击购买(支持作者) (opens new window)

细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。

# 4. 《重构 改善既有代码的设计》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

“不要容忍破窗户” 如果两个或更多的地方实现同一职责,则改变时会带来麻烦。所以要遵循DRY原则,单一职责。这本书的每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。向你讲述如何有效的重构以及是否进行重构。

# 5. 《设计数据密集型应用 Designing Data Intensive Applications》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

作者是英国剑桥大学的一名分布式系统研究员,在此之前他曾是软件工程师和企业家,在 Linkedin 和 Rapportive 工作过,从事大规模数据基础设施相关的工作。书中包含:深入分析你已经在使用的系统,并学习如何更高效地使用和运维这些系统、理解分布式系统研究,这些研究是现代数据库构建的基石、了解一致性、可伸缩性、容错性和复杂度之间的权衡。推荐人:BK

# 6. 《企业应用架构模式》 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。

# 6. 其他系列

# 1. 《阿里工程师的自我修养》 ⭐⭐⭐⭐

从入门到进阶,从普通员工到主管,从知识到落地,从量的积累到质的飞跃,在不确定性的世界中,你遇到的种种难题,阿里工程师正在探索着最优解。3大思维、10个技巧、10年感悟……每经过一次大的战役,阿里工程师都会复盘、沉淀,这些经验值得细品。

# 2. Java开发手册(嵩山版) ⭐⭐⭐⭐

《阿里巴巴 Java 开发手册》主要提炼了阿里巴巴集团技术团队的集体编程经验和软件设计智慧,可全面、立体地帮助开发者的成长和团队代码文化形成。嵩山版首次新增前后端规约等内容,可帮助开发者码出规范,码出质量。

# 3. 《Http权威指南》⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

如果以前没有深入了解http,读了此书,会觉得以前了解的关于http的内容都弱爆了。经典书籍,中文版2012年发版,翻译的还不错,值得阅读。

# 4. Elasticsearch 权威指南 中文版 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

这本指南都会帮助你了解其中最基本的概念,从最基本的操作开始学习 Elasticsearch。同时将向你介绍讲解结构化搜索、统计、查询过滤、地理定位、自动完成以及你是不是要查找的提示。并且探讨如何给数据建模能提升 Elasticsearch 的性能,以及在生产环境中如何配置、监视你的集群。

# 5. 计算机是怎样跑起来的(日)矢泽久雄 ⭐⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

矢泽久雄,曾在Software House做过程序员,电脑作家之友会会长。工作之余笔耕不辍,从电路到编程语言均有涉及。代表作有《程序是怎样跑起来的》等。本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。

# 6. 编码:隐匿在计算机软硬件背后的语言 ⭐⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

是一本讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼就武断地认为它是晦涩而难懂的。作者用丰富的想象和清晰的笔墨将看似烦杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此更加深刻地理解计算机的工作原理。这种理解不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。

# 7. 计算机程序的构造和解释(原书第2版) ⭐⭐⭐⭐⭐

《计算机程序的构造和解释(原书第2版)》1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,《计算机程序的构造和解释(原书第2版)》对于计算机科学的教育计划产生了深刻的影响。第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。

# 8. 代码大全(第2版) (opens new window) ⭐⭐⭐⭐⭐

第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎:第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。

# 9. 编程匠艺 (opens new window) ⭐⭐⭐⭐

如果你可以编写出合格的代码,但是想更进一步、创作出组织良好而且易于理解的代码,并希望成为一名真正的编程专家或提高现有的职业技能,那么Pete Goodliffe编写的这本本书都会为你给出答案。本书的内容涵盖编程的各个要素,如代码风格、变量命名、错误处理和安全性等。此外,本书还对一些更广泛的编程问题进行了探讨,如有效的团队合作、开发过程和文档编写,等等。

# 10. Zookeeper 分布式过程 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

作者介绍Flavio Junqueira 是微软研究院在英国剑桥大学的研究人员之一。他拥有美国加州大学圣地亚哥分校计算机科学博士学位。他的研究范围涉及分布式系统的各个方面,包括分布式算法、并发性和可扩展性。他是Apache项目如Apache ZooKeeper(PMC主席和提交者)和Apache BookKeeper(提交者)的积极贡献者。他一有空就喜欢睡觉。

# 11. 黑客与画家 ⭐⭐⭐⭐ - 点击购买(支持作者) (opens new window)

本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。

# 五、总结

  • 面试也是一场有准备的战斗,知己知彼才能游刃有余。面试怎么面主要是看简历怎么写,最终是你来主导面试,还是被主导,更多也是依赖于你的技术身家。
  • 任何时候都需要主动学习、有技术眼光和魄力,既能吹得了造火箭的牛、也能落地出实际的产物、技能帮公司实现价值,也能让自己有一定的收入。才是你应该永久追求的目标,和突破瓶颈的价值。
  • 少一些躁动、少一些不安,多一些沉稳、多一些沉淀,只要你愿意积累就一定会突破瓶颈,都是这条路上的打工人,不要总让自己的大脑被别人牵着走,也不要活在别人嘴里。奥利给😎 阅读原文,进入知识宝藏!