Java学习+面试指南(转)
目录
Java
基础
容器
并发
JVM
I/O
Java 8
优雅 Java 代码必备实践(Java编程规范)
网络
操作系统
Linux相关
数据结构与算法
数据结构
算法
数据库
MySQL
- 【推荐】MySQL/数据库 知识点总结
- 阿里巴巴开发手册数据库部分的一些最佳实践
- 一千行MySQL学习笔记
- MySQL高性能优化规范建议
- 数据库索引总结
- 事务隔离级别(图文详解)
- 一条SQL语句在MySQL中如何执行的
Redis
数据库扩展
代办......
系统设计
常用框架
Spring/SpringBoot
- Spring 学习与面试
- Spring 常见问题总结
- SpringBoot 指南/常见面试题总结
- Spring中bean的作用域与生命周期
- SpringMVC 工作原理详解
- Spring中都用到了那些设计模式?
ZooKeeper
数据通信/中间件
RPC
消息队列
权限认证
- 权限认证基础:区分Authentication,Authorization以及Cookie、Session、Token
- JWT 优缺点分析以及常见问题解决方案
- 适合初学者入门 Spring Security With JWT 的 Demo
分布式 & 微服务
API 网关
网关主要用于请求转发、安全认证、协议转换、容灾。
配置中心
代办......
唯一 id 生成
服务治理:服务注册与发现、服务路由控制
代办......
架构
设计模式
面试指南
备战面试
- 【备战面试1】程序员的简历就该这样写
- 【备战面试2】初出茅庐的程序员该如何准备面试?
- 【备战面试3】7个大部分程序员在面试前很关心的问题
- 【备战面试4】Github上开源的Java面试/学习相关的仓库推荐
- 【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答
- 【备战面试6】美团面试常见问题总结(附详解答案)
- 【备战面试7】一些***难的面试问题总结
常见面试题总结
- 第一周(2018-8-7) (为什么 Java 中只有值传递、==与equals、 hashCode与equals)
- 第二周(2018-8-13)(String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?、什么是反射机制?反射机制的应用场景有哪些?......)
- 第三周(2018-08-22) (Arraylist 与 LinkedList 异同、ArrayList 与 Vector 区别、HashMap的底层实现、HashMap 和 Hashtable 的区别、HashMap 的长度为什么是2的幂次方、HashSet 和 HashMap 区别、ConcurrentHashMap 和 Hashtable 的区别、ConcurrentHashMap线程安全的具体实现方式/底层具体实现、集合框架底层数据结构总结)
- 第四周(2018-8-30).md (主要内容是几道面试常问的多线程基础题。)
面经
Java学习常见问题汇总
工具
Git
Docker
其他
资源
书单
实战项目推荐
Github 历史榜单
待办
- Java 多线程类别知识重构(---正在进行中---)
- Netty 总结(---正在进行中---)
- 数据结构总结重构(---正在进行中---)
说明
JavaGuide介绍
- 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
- 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。
Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET。
利用 docsify 生成文档部署在 Github pages: docsify 官网介绍
作者的其他开源项目推荐
- springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护)。
- programmer-advancement : 我觉得技术人员应该有的一些好习惯!
- spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。
关于转载
如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。
转自:https://github.com/Snailclimb/JavaGuide