# Java-learning **Repository Path**: iweiwei/Java-learning ## Basic Information - **Project Name**: Java-learning - **Description**: Java相关知识总结,包括Java基础、MySQL、Springboot、MyBatis、Redis、RabbitMQ等等,面试必备! - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 202 - **Created**: 2023-01-29 - **Last Updated**: 2023-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 作者简介😜 大彬,**非科班自学Java**,校招斩获京东、携程、华为等多家互联网中大厂offer。作为一名转码选手,深感这一路的不易,**半年的自学经历**,彻底改变了我的职业生涯。坚持分享自学Java经历、计算机知识、Java后端技术和面试经验等,希望能帮助到更多的小伙伴,**我踩过的坑你们不要再踩**。 [点击此处](https://zhuanlan.zhihu.com/p/395162772) 查看我的**自学路线**。 # 面试网站 大彬自己搭建了一个**小破站**,将**本仓库所有的面试题**都整理到小破站了,欢迎大家访问~ 网站地址:https://topjavaer.cn ![](http://img.topjavaer.cn/img/image-20221030165150524.png) # 仓库相关 ## 简介 **本仓库用于分享互联网大厂高频面试题、Java核心知识总结,包括Java基础、并发、MySQL、Springboot、MyBatis、Redis、RabbitMQ等等,面试必备!** **面试专题相关的文章已经整理成PDF,需要的小伙伴可以自行下载**:[Java高频面试题PDF](http://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247485445&idx=1&sn=1c6e224b9bb3da457f5ee03894493dbc&chksm=ce98f543f9ef7c55325e3bf336607a370935a6c78dbb68cf86e59f5d68f4c51d175365a189f8#rd) 如果你是Java初学者,不知道下一步该学什么内容,可以看下我总结的**2021年最新的[Java学习路线](https://zhuanlan.zhihu.com/p/395162772)**。如果喜欢看视频学习,可以参考这个:[播放量1000万+!B站最值得学习的Java视频教程](https://zhuanlan.zhihu.com/p/397533240)。 如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的**公众号『 程序员大彬 』**,后台回复『 PDF 』可以**下载最新版本的大厂高频面试题目PDF版本**。

个人公众号


微信交流群 公众号 知乎 牛客网 掘金 免费PDF

## 贡献指南 欢迎各位小伙伴参与本仓库的维护工作,如果你发现有以下问题,可以直接提交**issue**或者**pull request**: - 笔记存在笔误(手动码字在所难免,欢迎提pr订正) - 笔记内容存在错误 - 知识点欠缺,不够完善 - ... 当然不止以上这些问题,只要你觉得有**待改善**的地方,都可以提出你的建议(提交**issue**或者**pull request**) 参与贡献的小伙伴,希望你可以**遵守以下规范**: - [如何在 Github 上规范的提交 PR](https://juejin.cn/post/7167734674167447582) - [如何向开源社区提issue](https://github.com/seajs/seajs/issues/545) # 简历很重要 - [23套精美简历模板](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247489358&idx=1&sn=dd1b91f115438c29a4215c674b8761e4&chksm=ce98ea08f9ef631e2c8361269f28c01db73eca1ff5b91ba0a0ec8c9a6b9fdcb46a5e16c57020#rd) - [简历投递之后总是石沉大海?](docs/campus-recruit/resume.md) # 精选资源 - [200多本经典的计算机书籍](https://github.com/Tyson0314/java-books) - [谷歌师兄刷题笔记](https://t.1yb.co/A6id)(推荐 :+1:) - [BAT大佬总结的刷题手册](https://t.1yb.co/yMbo)(推荐 :+1:) - [Java优质项目推荐](https://www.zhihu.com/question/325011850/answer/2257046656) - [优质视频教程推荐](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247487149&idx=1&sn=aa883c9f020945d3f210550bd688c7d0&chksm=ce98f3ebf9ef7afdae0b37c4d0751806b0fbbf08df783fba536e5ec20ec6a6e1512198dc6206&token=104697471&lang=zh_CN#rd)(推荐 :+1:) # 面试前准备 - [我建议你这样去刷题](docs/campus-recruit/leetcode-guide.md) - [项目经验怎么回答?](docs/campus-recruit/project-experience.md) - [没有项目经验,怎么办?](docs/campus-recruit/lack-project-experience.md) - [你在项目里遇到的最大困难是什么,如何解决的?](docs/campus-recruit/lbiggest-difficulty.md) - [面试官问你的职业规划是怎样的?该怎么回答](docs/campus-recruit/interview-question-career-plan.md) - [面试官问你有什么要问我的吗?该怎么回答](docs/campus-recruit/question-ask-me.md) - [HR问目前拿到哪几个offer了,怎么回答好?](docs/campus-recruit/hr-ask-offers.md) # Java - [**Java高频面试题总结**](docs/java/java-basic.md) (推荐 :+1:) - [Java集合高频面试题](docs/java/java-collection.md)(推荐 :+1:) - [Java并发高频面试题](docs/java/java-concurrent.md) (推荐 :+1:) - [JVM高频面试题](/docs/java/jvm.md)(推荐 :+1:) **Java重要知识点** - [Java8新特性总结](docs/java/java8-all.md) - [Java19新特性](docs/advance/excellent-article/19-java19.md) - [Java Stream常见用法汇总](docs/advance/excellent-article/26-java-stream.md) - [泛型中的T、E、K、V,是什么含义?](docs/advance/excellent-article/24-generic.md) - [面试官:反射是如何影响性能的?](docs/java/basic/reflect-affect-permance.md) - [面试官:详细说说你对序列化的理解?](docs/java/basic/serialization.md) **JVM重要知识点** - [美团面试:熟悉哪些JVM调优参数?](docs/advance/excellent-article/9-jvm-optimize-param.md) - [一次简单的JVM调优,拿去写到简历里](docs/advance/excellent-article/5-jvm-optimize.md) - [阿里排错神器--Arthas](docs/advance/excellent-article/23-arthas-intro.md) - [Java堆内存是线程共享的?](docs/java/jvm/jvm-heap-memory-share.md) # 数据库 ## MySQL - [MySQL高频面试题50道](docs/database/mysql.md)(**知乎1k+收藏,推荐** :+1:) **重要知识点**: - [MySQL执行计划详解](docs/database/mysql-execution-plan.md)(推荐 :+1:) - [图解索引下推](https://mp.weixin.qq.com/s/W1XQYmihtSdbLWQKeNwZvQ)(推荐 :+1:) - [MySQL最大建议行数 2000w,靠谱吗?](docs/advance/excellent-article/12-mysql-table-max-rows.md) - [order by是怎么工作的?](docs/advance/excellent-article/13-order-by-work.md) - [8种最坑SQL语法](docs/advance/excellent-article/7-sql-optimize.md) - [为什么说数据库连接很消耗资源](docs/advance/excellent-article/18-db-connect-resource.md) - [SELECT COUNT(*) 会造成全表扫描?](docs/advance/excellent-article/25-select-count-slow-query.md) ## Redis - [Redis高频面试题总结](docs/redis/redis.md)(牛客高赞,推荐 :+1:) **重要知识点**: - [Redis如何实现库存扣减操作和防止被超卖?](docs/advance/excellent-article/1-redis-stock-minus.md) - [Redis持久化详解](docs/redis/article/redis-duration.md) - [为什么Redis 6.0 引入多线程](docs/redis/article/redis-multi-thread.md) - [缓存和数据库一致性问题,看这篇就够了](docs/redis/article/cache-db-consistency.md) ## ElasticSearch - [ElasticSearch高频面试题](https://mp.weixin.qq.com/s/Ffb8NDgavf9QAWYBm0qAVg) # 框架 ## Spring - [Spring高频面试题30道](docs/framework/spring.md)(推荐 :+1:) **重要知识点**: - [Spring为何需要三级缓存解决循环依赖,而不是二级缓存?](docs/advance/excellent-article/6-spring-three-cache.md) - [@Transactional事务注解详解](docs/advance/excellent-article/2-spring-transaction.md) - [一文彻底搞懂Spring事务传播行为](docs/framework/spring/transaction-propagation.md) ## Spring Boot - [Spring Boot总结](框架/SpringBoot实战.md) - [SpringBoot面试题总结](docs/framework/springboot.md) **重要知识点**: - [SpringBoot自动装配原理](docs/advance/excellent-article/3-springboot-auto-assembly.md) ## Spring MVC [Spring MVC面试题总结](docs/framework/springmvc.md) ## Mybatis [Mybatis入门知识点](框架/深入浅出Mybatis技术原理与实战.md) [Mybatis面试题总结](docs/framework/mybatis.md) ## SpringCloud [SpringCloud面试题](docs/framework/springcloud-interview.md)(推荐 :+1:) [SpringCloud总结](docs/framework/springcloud-overview.md) ## Netty [Netty实战笔记](docs/framework/netty-overview.md) # 计算机网络 [计算机网络常见面试题总结](docs/computer-basic/network.md) (**知乎1k+收藏!推荐 :+1:**) **重要知识点**: - [有了HTTP,为啥还要用RPC](docs/advance/excellent-article/15-http-vs-rpc.md) # 数据结构与算法 - [常见数据结构总结](docs/computer-basic/data-structure.md) - [如何高效的刷LeetCode?](https://www.zhihu.com/question/280279208/answer/2377906738) - [120道Leetcode题解(高频)](https://topjavaer.cn/leetcode/hot120/) # 设计模式 [字节跳动大佬总结的设计模式PDF](https://t.1yb.co/y96J) [设计模式的六大原则](https://topjavaer.cn/advance/design-pattern/1-principle.html) 常见的**设计模式**详解: - [设计模式之单例模式](https://topjavaer.cn/advance/design-pattern/2-singleton.html) - [设计模式之工厂模式](https://topjavaer.cn/advance/design-pattern/3-factory.html) - [设计模式之模板模式](https://topjavaer.cn/advance/design-pattern/4-template.html) - [设计模式之策略模式](https://topjavaer.cn/advance/design-pattern/5-strategy.html) - [设计模式之责任链模式](https://topjavaer.cn/advance/design-pattern/6-chain.html) - [设计模式之迭代器模式](https://topjavaer.cn/advance/design-pattern/7-iterator.html) - [设计模式之装饰器模式](https://topjavaer.cn/advance/design-pattern/8-decorator.html) - [设计模式之适配器模式](https://topjavaer.cn/advance/design-pattern/9-adapter.html) - [设计模式之观察者模式](https://topjavaer.cn/advance/design-pattern/10-observer.html) - [设计模式之代理模式](https://topjavaer.cn/advance/design-pattern/11-proxy.html) - [设计模式之建造者模式](https://topjavaer.cn/advance/design-pattern/12-builder.html) # 分布式 - [微服务面试题](docs/advance/distributed/4-micro-service.md) - [RPC面试题](docs/advance/distributed/3-rpc.md) - [全局唯一ID](docs/advance/distributed/1-global-unique-id.md) - [分布式事务总结](docs/advance/distributed/6-distributed-transaction.md) - [分布式架构演进](https://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=2247490543&idx=1&sn=ee34bee96511d5e548381e0576f8b484&chksm=ce98e6a9f9ef6fbf7db9c2b6d2fed26853a3bc13a50c3228ab57bea55afe0772008cdb1f957b&token=1594696656&lang=zh_CN#rd) - [新一代分布式任务调度框架](docs/advance/excellent-article/22-distributed-scheduled-task.md) # 高并发 - [限流算法总结](docs/advance/concurrent/1-current-limiting.md) - [负载均衡](docs/advance/concurrent/2-load-balance.md) - [限流的几种方案](docs/advance/excellent-article/17-limit-scheme.md) - [面试官:如何保证接口幂等性?一口气说了12种方法!](docs/advance/excellent-article/8-interface-idempotent.md) # 消息队列 1. [消息队列面试题](docs/message-queue/mq.md) 2. [RabbitMQ面试题总结](docs/message-queue/rabbitmq.md) (推荐 :+1:) 3. [Kafka面试题总结](docs/message-queue/kafka.md) (推荐 :+1:) **重要知识点:** - [消息队列常见的使用场景](docs/advance/excellent-article/27-mq-usage.md) - [如何从0到1设计消息队列](docs/advance/system-design/16-mq-design.md) # 海量数据场景题 1. [大数据中 TopK 问题的常用套路](https://topjavaer.cn/mass-data/8-topk-template.html) 2. [统计不同电话号码的个数](https://topjavaer.cn/mass-data/1-count-phone-num.html) 3. [出现频率最高的100个词](https://topjavaer.cn/mass-data/2-find-hign-frequency-word.html) 4. [查找两个大文件共同的URL](https://topjavaer.cn/mass-data/3-find-same-url.html) 5. [如何在100亿的数据中找到中位数](https://topjavaer.cn/mass-data/4-find-mid-num.html) 6. [找出最热门的查询串](https://topjavaer.cn/mass-data/5-find-hot-string.html) 7. [如何找出排名前500的数字](https://topjavaer.cn/mass-data/6-top-500-num.html) 8. [如何按照 query 的频度排序?](https://topjavaer.cn/mass-data/7-query-frequency-sort.html) 9. [5亿个数的大文件怎么排序?](https://topjavaer.cn/mass-data/9-sort-500-million-large-files.html) # 系统设计 - [扫码登录](docs/advance/system-design/1-scan-code-login.md) - [订单超时未支付自动取消](docs/advance/system-design/2-order-timeout-auto-cancel.md) - [短链系统设计](docs/advance/system-design/3-short-url.md) - [超卖问题](docs/advance/system-design/4-oversold.md) - [秒杀系统设计](docs/advance/system-design/5-second-kill.md) - [秒杀系统设计的5个要点](docs/advance/system-design/12-second-kill-5-pointmd) - [微信红包系统如何设计?](docs/advance/system-design/6-wechat-redpacket-design.md) - [如何把一个文件较快的发送到100w个服务器?](docs/advance/system-design/7-file-send.md) - [如何用 Redis 统计用户访问量?](docs/advance/system-design/10-pdd-visit-statistics) - [实时订阅推送设计](docs/advance/system-design/11-realtime-subscribe-push.md) - [权限系统设计方案](docs/advance/system-design/13-permission-system.md) - [如何设计一个抢红包系统](docs/advance/system-design/15-red-packet.md) - [如何从0到1设计消息队列](docs/advance/system-design/16-mq-design.md) - [购物车系统怎么设计?](docs/advance/system-design/17-shopping-car.md) - [如何设计一个注册中心?](docs/advance/system-design/18-register-center.md) # 安全 - [什么是JWT?](docs/advance/excellent-article/16-what-is-jwt.md) - [单点登录(SSO)设计与实现](docs/advance/system-design/8-sso-design.md) # 大厂面经汇总 - [字节跳动](docs/campus-recruit/interview/1-byte-and-dance.md) - [腾讯](docs/campus-recruit/interview/2-tencent.md) - [百度](docs/campus-recruit/interview/3-baidu.md) - [阿里](docs/campus-recruit/interview/4-ali.md) - [快手](docs/campus-recruit/interview/5-kuaishou.md) - [美团](docs/campus-recruit/interview/6-meituan.md) - [shopee](docs/campus-recruit/interview/7-shopee.md) - [京东](docs/campus-recruit/interview/8-jingdong.md) - [华为](docs/campus-recruit/interview/9-huawei.md) - [网易](docs/campus-recruit/interview/10-netease.md) # 优质文章 - [干掉“重复代码”的技巧有哪些](docs/advance/excellent-article/4-remove-duplicate-code.md) - [大文件上传时如何做到秒传?](docs/advance/excellent-article/10-file-upload.md) - [架构的演进](docs/advance/excellent-article/14-architect-forward.md) - [8种架构模式](docs/advance/excellent-article/11-8-architect-pattern.md) - [几种常见的架构模式](docs/advance/excellent-article/20-architect-pattern.md) - [线上接口很慢怎么办?](docs/practice/service-performance-optimization.md) # 工具 [Git 超详细总结!](docs/tools/git-overview.md)(推荐 :+1:) [Linux 常用命令总结!](docs/tools/linux-overview.md) [Docker 基础总结!](docs/tools/docker-overview.md) [Maven 基础总结!](docs/tools/maven-overview.md) [Nginx 高频面试题](docs/tools/nginx.md) # 交流 如果想进**技术、面试交流群**,可以扫描下方二维码加我微信,**备注加群**,我拉你进群,群里有BAT大佬,互相学习~

# 赞赏 如果觉得**本仓库**对您有帮助的话,可以请大彬**喝一杯咖啡**(小伙伴们赞赏的时候可以备注下哦~) | 微信 | 支付宝 | | --------------------------------------------- | ------------------------------------------------- | | ![](http://img.topjavaer.cn/img/微信收款.png) | ![](http://img.topjavaer.cn/img/支付宝赞赏码.png) | 每笔赞赏我会在下面记录下来,感谢你们,我会更加努力,砥砺前行~ | 日期 | 来源 | **用户** | **金额** | 备注 | | ---------- | ------------ | -------- | -------- | ------------------------ | | 2021.11.19 | 微信收款码 | *张 | 6.66元 | 支持! | | 2021.11.25 | 支付宝收款码 | *海 | 1元 | | | 2021.12.10 | 微信收款码 | 浩*y | 10元 | | | 2021.12.15 | 微信收款码 | biubiu* | 6.66元 | 好 | | 2022.02.17 | 微信收款码 | *齐 | 8元 | | | 2022.05.03 | 微信收款码 | *哈 | 2元 | | | 2022.06.12 | 微信收款码 | *可 | 8.8元 | | | 2022.10.19 | 微信收款码 | *斌 | 10元 | 支持一下,希望能持续更新 | | 2022.11.16 | 支付宝收款码 | *雄 | 2元 | | | 2022.12.02 | 微信收款码 | *军 | 5元 | |