前言:
现在姐妹们对“中级java面试题”可能比较注意,你们都想要分析一些“中级java面试题”的相关资讯。那么小编同时在网摘上收集了一些对于“中级java面试题””的相关资讯,希望咱们能喜欢,看官们快快来学习一下吧!最近面试了不少家公司,从一家非外包跳到了外包(委屈脸Ծ‸Ծ),下面总结一下最近的一些心得体会 1.如果在做技术只是为了过日子,而没多大兴趣,那你必须需要考虑一下行业发展方向了。选定一个行业,深入某个行业发展,熟悉业务+技术,你会得到更多。懂业务的技术人,往往比技术大牛,牛逼(所以我选了这家银行外包)
2.面试中问了挺过关于运维的东西的,比如redis的集群策略,mq的集群策略等等,如果你公司中有运维,不需要你做搭建部署的工作,那你也得关注和学习公司所有运用的相关技术,多向运维学习
3.很多面试官都会顺着你的简历去问,不会的别写,写了就得会,别给自己挖坑!
4.简历和自我介绍凸显自己的亮点!想想自己有什么亮点或者使自己拥有亮点,比如熟悉微服务相关技术栈,熟悉数据库优化等等,数据库优化比较吃香,不管哪家公司都需要数据库相关技术,推荐学习这个点
5.想工资高点,可以试着学好英语,进外企,这个应该比进大厂容易多了
面试题
工作经验2年,这次面试的是中级java,以下是一些比较常问的面试题,答案就自己Google吧
java基础
1.线程的各种状态 2.线程池的创建方式 3.set底层实现原理 4.HashMap,HashTable和CurrentHashMap的区别 5.常见设计模式 6.实现线程同步的几种方式 7.synchronized的底层实现原理
Spring相关
1.spring的事务管理类型 2.spring Bean的作用域 3.spingmvc原理 4.SpringMVC的controller是线程安全的吗 5.springboot配置文件加载原理
Mysql相关
1.mysql中索引的结构 2.聚簇索引,单列索引和多列索引的区别 3.mysql为什么需用b+Tree做索引结构 4.分布式系统中,主键如何选择 ANS:在只使用单数据库时,使用自增主键ID无疑是最适合的。但在集群、主从架构上时就会有一些问题,比如 : 主键的全局唯一
· UUID:uuid 是杂乱无章的,每次插入的主键位置是不确定的,可能在开头,也可能在中间,在进行主键物理排序的时候,势必会造成大量的 IO操作影响效率,因此不适合使用 UUID 做物理主键。比较适合的做法是把 uuid 作为逻辑主键,物理主键依然使用 自增ID;或者使用UNHEX()函数转换UUID至为16位字节的数字存储
· 通过应用程序生成一个 GUID,然后和数据一起插入切分后的集群
· Redis 生成 ID:这主要依赖于 Redis 是单线程的,所以也可以用生成全局唯一的 ID。 5.mysql优化
JVM相关
1.类的加载过程 2.常见垃圾回收算法 3.Full GC的触发条件 4.JVM调优
微服务与分布式相关
1.Ribbon的负载均衡策略 2.你知道哪几种负载均衡算法 3.eureka保护机制 4.eureka和zookepper区别 5.你如何理解springCloud 6.分布式锁解决方案 7.分布式事务解决方案
中间件相关
1.RabbitMq的几种工作模式 2.RabbitMq集群模式 3.redis集群策略 4.redis可以存1千万数据吗? ANS:当数据量达到1千万左右时,由于内存中不能存储如此大量数目的数据,频繁同磁盘进行数据交换,导致数据查询、存储性能的急剧下降,将导致服务不可用。 5.你公司所用的消息中间是什么,为什么选它?(同问,各种消息中间件的比较) 6.RabbitMq如何保证数据不丢失 7.缓存穿透,缓存击穿和缓存雪崩
看完后,可能你会说有些东西你根本接触不到或者没用,甭说了,面试官就是要问。不管你是否想往技术这块深入发展,只要你想跳槽涨工资,就好好学吧,多问多做。若后期想转型,则可以边学边往自己想要的方向发展。Just Do It!
小彩蛋:这次面试遇到一家奇葩的公司,面试了2分钟,就做了个简单自我介绍和简单的无关技术问答,然后就过了,13k(懵逼脸o((⊙﹏⊙))o),然后我直接拒了(提醒:这种公司千万不要去,虽然给的还行,但肯定是个大坑,这么简陋的面试就知道!)
文章首发于公众号【KEN DO EVERTHING】 本公众号专注于java相关技术,但不限于java、mysql、python、面试技巧、生活感悟等。分享优质博文,技术干货,学习资源等优质内容。 欢迎关注,一起学习,共成长!
标签: #中级java面试题