java 基础
Posted yc5518
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 基础相关的知识,希望对你有一定的参考价值。
Java基础:各种基础容器的原理、虚拟机(内存分区、GC)、多线程(CAS、AQS、线程池、锁分类及原理)
数据库:mysql基础,事务隔离,InnoDB存储引擎原理,MVCC和锁
分布式缓存:redis、memcache等的原理、协议、区别、集群部署
Spring:AOP和IOC
分布式系统:CAP、分布式事务、分布式一致性原理
MQ消息队列:比如kafka(底层原理,包括数据存储、HA,消息必达以及幂等实现方式等)
RPC:dubbo、GRPC、Spring cloud等
还有一些公司比较喜欢问算法题,比如头条(据说还让人手写红黑树实现,不过没给我面试机会)、腾讯、阿里等,这就需要额外准备下:
常用的数据结构:各种树、图论
常用的排序算法:堆排序、快速排序、归并排序
刷题:剑指offer、leetcode首选
对于每一个知识点,最好都深入了解下,面试官都喜欢刨根问底深入底层原理,简单拿HashMap来说,一般面试官首先会问你HashMap的原理,然后从你的回答中继续让你解释HashCode的作用,再从你的回答中继续让你解释HashMap如何计算Hash值,再从你的回答中继续让你解释HashMap的扩容原理,再从你的回答中引出红黑树(JDK1.8之后HashMap开始使用红黑树)。一个HashMap就可以考察一个人的Java基础、算法基础、数据结构基础、对最新JDK的了解程度、深究底层原理的能力。
对于阿里和腾讯有个tip就是,如果某个岗位面挂了,还可以再投其他事业部,不过再投之前要好好准备下,每一次面试记录都会被保存。从去年12月就开始看机会,先拿一些小公司练手,然后在投大公司。
LinkedBlockingQueue
ArrayBlockingQueue
以上是关于java 基础的主要内容,如果未能解决你的问题,请参考以下文章