# Summary [[重写]]重载? [什么是读写分离?如何实现?](什么是读写分离?如何实现?.md) | | | | | :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------- | | | | | | # 后端 | | | | [八股-IDEA](八股-IDEA.md)、[八股-Maven&Git](八股-Maven&Git.md) | [八股-DDD](八股-DDD.md) ✅ | | | [[八股-操作系统]]✅ | [[八股-JVM]] | | | [八股-计算机网络](八股-计算机网络.md)✅ | [八股-Tomcat](八股-Tomcat.md)✅ | [八股-Netty](八股-Netty.md) | | [八股-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)✅ | | # 算法 | | | | [[八股-Transformer]]✅ | | | | [[八股-机器学习基础]] | [[八股-深度学习基础]] | [[八股-特征工程]] | | [八股-NLP大模型](八股-NLP大模型.md) | [八股-CV计算机视觉](八股-CV计算机视觉.md) | [八股-推荐系统](八股-推荐系统.md) | | [[八股-强化学习]] | [[八股-模型优化与调参]] | [[八股-模型部署与推理]] | | [八股-PyTorch&TF框架](八股-PyTorch&TF框架.md) | [八股-多模态](八股-多模态.md) | [八股-算法手撕代码](八股-算法手撕代码.md) | | # 大数据 | | | | [[八股-Hadoop生态]] | [[八股-Hive数仓]] | [[八股-Spark计算]] | | [八股-Flink实时计算](八股-Flink实时计算.md) | [八股-HBase&NoSQL](八股-HBase&NoSQL.md) | [八股-数仓建模理论](八股-数仓建模理论.md) | | [[八股-ClickHouse/Doris]] | [[八股-数据湖(Hudi/Iceberg)]] | [[八股-大数据SQL调优]] | | [八股-数据调度(Airflow)](八股-数据调度(Airflow).md) | [八股-ElasticSearch(大数据)](八股-ElasticSearch(大数据).md) | [八股-大数据架构设计](八股-大数据架构设计.md) | | # 产品 | | | | [[八股-产品思维与方法论]] | [[八股-需求分析与挖掘]] | [[八股-用户研究]] | | [八股-竞品分析](八股-竞品分析.md) | [八股-PRD与文档写作](八股-PRD与文档写作.md) | [八股-交互设计&UI](八股-交互设计&UI.md) | | [[八股-数据分析与指标体系]] | [[八股-A/B测试]] | [[八股-商业化与变现]] | | [八股-项目管理(Agile&Scrum)](八股-项目管理(Agile&Scrum).md) | [八股-B端产品设计](八股-B端产品设计.md) | [八股-产品场景题&费米估算](八股-产品场景题&费米估算.md) | | ## 运营 | | | | [[八股-用户运营(UE/LTV)]] | [[八股-活动运营]] | [[八股-内容运营]] | | [八股-社群与私域运营](八股-社群与私域运营.md) | [八股-新媒体运营](八股-新媒体运营.md) | [八股-增长黑客(Growth)](八股-增长黑客(Growth).md) | | [[八股-数据分析(漏斗模型)]] | [[八股-文案与策划]] | [[八股-短视频运营]] | | [八股-品牌营销](八股-品牌营销.md) | [八股-渠道投放(SEM&SEO)](八股-渠道投放(SEM&SEO).md) | [八股-运营场景题](八股-运营场景题.md) | | # 销售 | | | | [[八股-销售方法论(SPIN/MEDDIC)]] | [[八股-客户关系管理(CRM)]] | [[八股-商务谈判技巧]] | | [八股-ToB大客户销售](八股-ToB大客户销售.md) | [八股-电话&陌生拜访](八股-电话&陌生拜访.md) | [八股-招投标流程](八股-招投标流程.md) | | [[八股-销售漏斗管理]] | [[八股-SaaS产品销售]] | [[八股-渠道管理]] | | [八股-解决方案编写](八股-解决方案编写.md) | [八股-客户成功(CSM)](八股-客户成功(CSM).md) | [八股-销售心态与抗压](八股-销售心态与抗压.md) | | # 前端 | | | | | | | ### 互联网客户端 (Client-side / Mobile) > **核心涵盖:** iOS原生、Android原生、跨端框架(Flutter/RN)、以及通用的性能优化与架构设计。 |**🍎 iOS (Swift/OC)**|**🤖 Android (Kotlin/Java)**|**⚔️ 通用 & 跨端 (Common)**| |---|---|---| |[[八股-Swift基础]]✅|[[八股-Kotlin&Java基础]]✅|[[八股-Flutter]]| |[八股-Runtime](八股-Runtime.md)✅|[八股-Android四大组件](八股-Android四大组件.md)|[八股-React Native](八股-React Native.md)| |[八股-RunLoop](八股-RunLoop.md)|[八股-Handler机制](八股-Handler机制.md)✅|[八股-客户端架构](八股-客户端架构.md)| |[八股-iOS内存管理](八股-iOS内存管理.md)✅|[八股-View绘制体系](八股-View绘制体系.md)|[八股-性能优化(APM)](八股-性能优化(APM).md)✅| |[八股-Block与GCD](八股-Block与GCD.md)|[八股-Binder&IPC机制](八股-Binder&IPC机制.md)|[八股-客户端网络](八股-客户端网络.md)| |[八股-UIKit与事件响应](八股-UIKit与事件响应.md)|[八股-触摸事件分发](八股-触摸事件分发.md)|[八股-数据存储](八股-数据存储.md)| |[八股-KVC与KVO](八股-KVC与KVO.md)|[八股-JVM&ART虚拟机](八股-JVM&ART虚拟机.md)|[八股-音视频开发](八股-音视频开发.md)| |[八股-CocoaPods&SPM](八股-CocoaPods&SPM.md)|[八股-Gradle&Jetpack](八股-Gradle&Jetpack.md)|[八股-热修复与插件化](八股-热修复与插件化.md)| --- ### 💡 重点说明 1. **iOS 的核心考点**: - **Runtime & RunLoop**:这是区分初级和中高级 iOS 开发的试金石。 - **内存管理**:虽然现在都是 ARC,但面试极爱问 `weak` 的底层实现(SideTable)以及 `Block` 的循环引用。 2. **Android 的核心考点**: - **Handler & Binder**:Android 系统运转的基石,几乎必问。 - **View 绘制 & 事件分发**:解决自定义 View 和 滑动冲突问题的基础。 3. **通用趋势**: - **跨端 (Flutter/RN)**:现在纯原生开发岗越来越少,大厂通常要求懂一点跨端技术。 - **性能优化 (Performance)**:面试官非常喜欢问“如何通过 Instruments (iOS) 或 Systrace (Android) 排查卡顿”或者“App 启动速度如何优化到秒开”。 [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 | 模块 | 讲次 | 标题 | 时长 | | | :------------------- | :----- | :------------------------------------------------------- | :----- | :-- | | 开篇词 | 开篇词 | 以面试题为切入点,有效提升你的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 | |