# Summary 面试别人 本质也是book yiur time的思路 同时也是提高自己的面试能力 [[重写]]重载? [什么是读写分离?如何实现?](什么是读写分离?如何实现?.md) | | | | | ----------------------------------------------------- | --------------------------------------- | ----------------------------- | | [[八股-Transformer]] | | | | | | | | [八股-IDEA](八股-IDEA.md)、[八股-Maven&Git](八股-Maven&Git.md) | [八股-DDD](八股-DDD.md) | | | [八股-操作系统](八股-操作系统.md) | [[八股-JVM]] | | | [八股-计算机网络](八股-计算机网络.md) | [八股-Tomcat](八股-Tomcat.md) | [八股-Netty](八股-Netty.md)<br> | | [八股-Java基础](八股-Java基础.md) | [八股-集合类](八股-集合类.md) | [八股-设计模式](八股-设计模式.md) | | [八股-Java并发](八股-Java并发.md) | | | | | | | | [八股-Spring](八股-Spring.md) | [八股-ElasticSearch](八股-ElasticSearch.md) | | | [八股-Kafka](八股-Kafka.md) | [八股-RabbitMQ](八股-RabbitMQ.md) | [八股-RocketMQ](八股-RocketMQ.md) | | [八股-缓存](八股-缓存.md) | [八股-Redis](八股-Redis.md) | | | [八股-数据库](八股-数据库.md) | [八股-MyBatis](八股-MyBatis.md) | | | [八股-定时任务](八股-定时任务.md) | | | | [八股-日志](八股-日志.md) | | | | | | | | [八股-场景题](八股-场景题.md) | [八股-线上问题排查](八股-线上问题排查.md) | [八股-架构设计](八股-架构设计.md) | | | | | | [八股-配置中心](八股-配置中心.md) | [八股-注册中心Zookeeper](八股-注册中心Zookeeper.md) | [八股-Dubbo](八股-Dubbo.md) | | [八股-分布式](八股-分布式.md) | [八股-SpringCloud](八股-SpringCloud.md) | | | [八股-高可用](八股-高可用.md) | [八股-高并发](八股-高并发.md) | [八股-高性能](八股-高性能.md) | | | | | | [八股-容器](八股-容器.md) | [八股-云计算](八股-云计算.md) | [八股-微服务](八股-微服务.md) | - 你作为项目组长,有制定过哪些规范吗? - 你对加班怎么看待? - 你最近在学什么新技术吗? - 你最近在看什么书? - 你觉得你有什么缺点? - 你还有什么想要反问我的吗? - 如何在团队合作中解决冲突和达成共识 - 对自己的未来发展有什么想法和计划 - 最有成就感的项目或工作经历 - 离职的原因是什么 - 能不能说一下你对自己的评价 [MIT 6.824 Distributed System](MIT%206.824%20Distributed%20System.md) [MIT 6.828 Operating System Engineering](MIT%206.828%20Operating%20System%20Engineering.md) [CS144 Computer Network](CS144%20Computer%20Network.md) [[UCB CS186 Introduction to Database System]] [Viva$](Viva$.md) ![image.png|1000](https://imagehosting4picgo.oss-cn-beijing.aliyuncs.com/imagehosting/fix-dir%2Fpicgo%2Fpicgo-clipboard-images%2F2024%2F12%2F15%2F02-23-42-3147c79416e6bf106d5e422b52c8d54b-202412150223331-0f70b3.png) # Notes RD是"Research and Development"的缩写,在软件公司中通常指软件研发工程师。 ## 优劣势 技术人的优势如果把技术人的困境一句话总结成一个词,就是单一。 - 能力上的单一,是因为过度关注技术含量; - 人际关系的单一,是圈子太小,且高度同质; - 思维方式的单一,是由于追求确定,再加上眼前的利益,这些都是很多人被困住的原因。 当然,技术人不只有信息茧房的困境,相比很多行业的从业人员,技术人也有很多独特优势。在我看来,两个方面优势非常明显。 - 思维活跃,学习能力强技术人的平均学历水平是高于社会平均水位的。在瞬息万变的互联网行业,技术人本来的工作就是特别费脑,每天在这样的磨炼之下,*大脑越磨越锋利*,所以相比一些传统行业,工作十年只是把一年的工作经验重复了十年,大多数技术人其实是一直在*不断学习*的,也是付费学习的主力军,整体学习新知识的能力非常强。而且大多技术人对新技术的敏锐度很高,比如 AI 出来,去深度研究的还是技术人居多。 - *互联网*虽然不是完美的,但确实沉淀了很多非常好的、*先进的做事方法*,比如用户画像、小步快跑、MVP 验证等等。长期在前沿技术、先进思维的浸泡下,大多数技术人会有不错的成长心态,思维也比较敏捷。 - 有复杂问题的攻坚能力。技术人的工种有很多细分,但如果把技术人工作做一个抽象,其实就是在错综复杂的系统中去找到规律,发现问题,分析问题并最终解决问题。举个例子,小 A 所在的公司最近发展很快,在大力推广产品 APP,但推广效果不符合预期。"推广结果不好"不好是一个问题,那如何去"分析问题"呢?可能有投放渠道的问题,这个更多是商务层面去解决,而作为技术人,你可能会发现自己公司的 APP 包比竞对大不少,下载下来首页打开还经常很慢。这时候就可以通过技术手段缩小包的大小,提升首屏的秒开率等,帮助公司更好地推广 APP。这种发现问题、分析问题、解决问题的能力,在很多场景下具备很好的可迁移性。一个曾经带反作弊研发的技术 Leader 后来去带客服坐席团队。在降低客服进线量的问题上,他发现完全可以复用带反作弊研发团队的思路。一个朋友从互联网去传统行业做了几年数字化转型,回来感叹,*很多技术人是被代码的舒适区困住了,只要突破这一点,其实很多方向可以做,我们本身的素质和学习能力都是非常够用的*。 | 模块 | 讲次 | 标题 | 时长 | | | -------------- | ---- | ---------------------------------------------------- | ----- | --- | | 开篇词 | 开篇词 | 以面试题为切入点,有效提升你的Java内功 | 05:54 | | | 模块一 Java基础 | 第1讲 | 谈谈你对Java平台的理解?| 08:04 | | | | 第2讲 | Exception和Error有什么区别?| 11:15 | | | | 第3讲 | 谈谈final、finally、finalize有什么不同?| 11:04 | | | | 第4讲 | 强引用、软引用、弱引用、幻象引用有什么区别?| 10:24 | | | | 第5讲 | String、StringBuffer、StringBuilder有什么区别?| 12:00 | | | | 第6讲 | 动态代理是基于什么原理?| 11:25 | | | | 第7讲 | int和Integer有什么区别?| 11:05 | | | | 第8讲 | 对比Vector、ArrayList、LinkedList有何区别?| 12:46 | | | | 第9讲 | 对比Hashtable、HashMap、TreeMap有什么不同?| 12:16 | | | | 第10讲 | 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?| 10:47 | | | | 第11讲 | Java提供了哪些IO方式?NIO如何实现多路复用?| 11:41 | | | | 第12讲 | Java有几种文件拷贝方式?哪一种最高效?| 12:39 | | | | 第13讲 | 谈谈接口和抽象类有什么区别?| 11:07 | | | | 第14讲 | 谈谈你知道的设计模式?| 08:24 | | | 模块二 Java进阶 | 第15讲 | synchronized和ReentrantLock有什么区别呢?| 09:37 | | | | 第16讲 | synchronized底层如何实现?什么是锁的升级、降级?| 11:03 | | | | 第17讲 | 一个线程两次调用start()方法会出现什么情况?| 10:02 | | | | 第18讲 | 什么情况下Java程序会产生死锁?如何定位、修复?| 09:38 | | | | 第19讲 | Java并发包提供了哪些并发工具类?| 10:33 | | | | 第20讲 | 并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?| 08:37 | | | | 第21讲 | Java并发类库提供的线程池有哪几种?分别有什么特点?| 12:31 | | | | 第22讲 | AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?| 11:04 | | | | 第23讲 | 请介绍类加载过程,什么是双亲委派模型?| 13:59 | | | | 第24讲 | 有哪些方法可以在运行时动态生成一个Java类?| 08:30 | | | | 第25讲 | 谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError? | 10:43 | | | | 第26讲 | 如何监控和诊断JVM堆内和堆外内存使用?| 12:37 | | | | 第27讲 | Java常见的垃圾收集器有哪些?| 12:26 | | | | 第28讲 | 谈谈你的GC调优思路? | 14:36 | | | | 第29讲 | Java内存模型中的happen-before是什么?| 10:18 | | | | 第30讲 | Java程序运行在Docker等容器环境有哪些新问题?| 10:25 | | | 模块三 Java安全基础 | 第31讲 | 你了解Java应用开发中的注入攻击吗?| 09:56 | | | | 第32讲 | 如何写出安全的Java代码?| 10:32 | | | 模块四 Java性能基础 | 第33讲 | 后台服务出现明显"变慢",谈谈你的诊断思路?| 10:26 | | | | 第34讲 | 有人说"Lambda能让Java程序慢30倍",你怎么看?| 11:20 | | | | 第35讲 | JVM优化Java代码时都做了什么?| 10:08 | | | 模块5 Java应用开发扩展 | 第36讲 | 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?| 09:25 | | | | 第37讲 | 谈谈Spring Bean的生命周期和作用域?| 10:00 | | | | 第38讲 | 对比Java标准NIO类库,你知道Netty是如何实现更高性能的吗?| 09:28 | | | | 第39讲 | 谈谈常用的分布式ID的设计方案?Snowflake是否受冬令时切换影响?| 10:03 | | | 周末福利 | 周末福利 | 谈谈我对Java学习和面试的看法 | 07:19 | | | | 周末福利 | 一份Java工程师必读书单 | 08:53 | | | 结束语 | 结束语 | 技术没有终点 | 03:36 | | | | 结课测试 | Java核心技术的这些知识,你真的掌握了吗?| 00:38 | |