# doc **Repository Path**: codePen9/doc ## Basic Information - **Project Name**: doc - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Say something ​ **这里我准备总结一下关于面试Java岗的一系列面试题,包括操作系统/计算机网络这种科班基础,还有数据结构和算法这种硬实力之外,关于Java的JVM、并发编程、Spring全家桶源码、Redis、MySQL、各种MQ消息中间件、zookeeper、dubbo等等也会进行整理和概括,同样,对于我知道的阿里、字节等一线大厂的面试真题我也会尽量整理出来,当然答案我会做出来以后逐步发表在问题的下面,供大家进行学习和参考。** ​ **欢迎各位不吝赐教,如有误导之处,烦请指点,及时修改。** ​ **Tencent:1061268907** --- **每一个优秀的人背后都有一段沉默的时光,那是付出很多努力却不一定有结果的日子,我们把它叫做扎根。** **如果你不是985/211 你想要获得更好的生活水平,你只有付出比他们更多的努力,才可能获得,生活都是公平的,你在那里付出和扎根,未来就会在那里开花结果,加油。** ----- ## 去大厂之前要有的技术水平: ### 理论基础: - 操作系统:进程/线程、并发/锁、内存管理和调度、I/O原理等等 - 计算机网络:ARP协议、IP/ICMP协议、TCP/UDP协议、DNS/HTTP/HTTPS协议、Session/Cookie等等 ### Java技术栈: - **Java基础:**着重考察集合类的底层源码。 - **多线程高并发:**各种锁、synchronized、volatile 、CAS、AQS、ThreadLocal、线程池、juc并发工具类等等 - **JVM**:类加载机制、内存模型、JVM调优、垃圾回收、各种算法、JMeter、Hotspot源码等等, - **设计模式:**工厂、单例、适配器、装饰器、观察者、策略模式等等 - **数据结构:**字符串、数组、链表、二叉树、堆、栈、队列、哈希等等 - **算法:**查找、排序、贪心、分治、动态规划、回溯等等(字节最喜欢考算法) - **Spring源码:**容器初始化、Environment原理 、监听器、IOC、AOP原理等等 - **SpringBoot:**Starter原理、启动原理、自动装配原理、整合数据库、整合各种中间件、整合权限等等 - **SpringCloud:**熟悉常用组件,注册中心Eureka、Consul、负载均衡器Ribbon,客户端调用工具Rest和Feign,分布式配置中心Config,服务保护Hystrix,网关Zuul ,Api管理Swagger,服务链路Zipkin,消息总线Bus等 - **SpringMVC、MyBatis...** - **MySQL调优:**SQL书写优化、事务、乐观锁、悲观锁、索引原理、分区设计和优化等等 - **Redis:**数据结构、布隆过滤器、缓存LRU 、持久化RDB、AOF、主从复制、CAP等等 - **zookeeper:**集群,高可用,高并发解决方案,服务降级,限流,熔断,隔离等,熟悉分布式和微服务常见解决方案等 - **Netty:**NIO、ByteBuffer 、内存管理、channel原理、编码器等等 - **消息中间件:ActiveMQ、RabbitMQ,Kafka,RocketMQ** - **Elasticsearch、Dubbo、Nginx、**还有一些就不多做赘述。。。 - **还有项目、项目、项目** ### Web技术栈: - 由于不是专门从事前端,只需要学会基本使用即可 - **HTML5+CSS3(熟悉)** - **JavaScript、ES6(熟悉)** - **Node、Webpack(了解)** - **Vue、React(了解)** - **Bootstrap、layui..(了解)** -----