Java高级程序员面试大纲——备战金三银四跳槽季

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的轨迹),还是钱给少了,不受重视。

准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说)。

今天给大家分享下chenssy在这次跳槽中整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。

项目介绍

大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人经常抱怨自己每天在堆业务,但没有成长。事实上,很多情况下确实在堆业务,但并不是没有成长的。并非做中间件或者技术架构才是成长,例如我们的需求分析能力,沟通协作能力,产品思维能力,抽象建模能力等都是一个非常重要的硬实力。

好的,现在进入正文。

1、明确项目是做什么的

2、明确项目的价值。(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?)

3、明确项目的功能。(这个项目涉及哪些功能?)

4、明确项目的技术。(这个项目用到哪些技术?)

5、明确个人在项目中的位置和作用。(你在这个项目的承担角色?)

6、明确项目的整体架构。

7、明确项目的优缺点,如果重新设计你会如何设计。

8、明确项目的亮点。(这个项目有什么亮点?)

9、明确技术成长。(你通过这个项目有哪些技术成长?)

Java基础

1、List 和 Set 的区别

2、HashSet 是如何保证不重复的

3、HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?

4、HashMap 的扩容过程

5、HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?

6、final finally finalize

7、强引用 、软引用、 弱引用、虚引用

8、Java反射

9、Arrays.sort 实现原理和 Collection 实现原理

10、LinkedHashMap的应用

11、cloneable接口实现原理

12、异常分类以及处理机制

13、wait和sleep的区别

14、数组在内存中如何分配

Java 并发

1、synchronized 的实现原理以及锁优化?

2、volatile 的实现原理?

3、Java 的信号灯?

4、synchronized 在静态方法和普通方法的区别?

5、怎么实现所有线程在等待某个事件的发生才会去执行?

6、CAS?CAS 有什么缺陷,如何解决?

7、synchronized 和 lock 有什么区别?

8、Hashtable 是怎么加锁的 ?

9、HashMap 的并发问题?

10、ConcurrenHashMap 介绍?1.8 中为什么要用红黑树?

11、AQS

12、如何检测死锁?怎么预防死锁?

13、Java 内存模型?

14、如何保证多线程下 i++ 结果正确?

15、线程池的种类,区别和使用场景?

16、分析线程池的实现原理和线程的调度过程?

17、线程池如何调优,最大数目如何确认?

18、ThreadLocal原理,用的时候需要注意什么?

19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之间的差别?

20、LockSupport工具

21、Condition接口及其实现原理

22、Fork/Join框架的理解

23、分段锁的原理,锁力度减小的思考

24、八种阻塞队列以及各个阻塞队列的特性

Spring

1、BeanFactory 和 FactoryBean?

2、Spring IOC 的理解,其初始化过程?

3、BeanFactory 和 ApplicationContext?

4、Spring Bean 的生命周期,如何被管理的?

5、Spring Bean 的加载过程是怎样的?

6、如果要你实现Spring AOP,请问怎么实现?

7、如果要你实现Spring IOC,你会注意哪些问题?

8、Spring 是如何管理事务的,事务管理机制?

9、Spring 的不同事务传播行为有哪些,干什么用的?

10、Spring 中用到了那些设计模式?

11、Spring MVC 的工作原理?

12、Spring 循环注入的原理?

13、Spring AOP的理解,各个术语,他们是怎么相互工作的?

14、Spring 如何保证 Controller 并发的安全?

Netty

1、BIO、NIO和AIO

2、Netty 的各大组件

3、Netty的线程模型

4、TCP 粘包/拆包的原因及解决方法

5、了解哪几种序列化协议?包括使用场景和如何去选择

6、Netty的零拷贝实现

7、Netty的高性能表现在哪些方面

分布式相关

1、Dubbo的底层实现原理和机制

2、描述一个服务从发布到被消费的详细过程

3、分布式系统怎么做服务治理

4、接口的幂等性的概念

5、消息中间件如何解决消息丢失问题

6、Dubbo的服务请求失败怎么处理

7、重连机制会不会造成错误

8、对分布式事务的理解

9、如何实现负载均衡,有哪些算法可以实现?

10、Zookeeper的用途,选举的原理是什么?

11、数据的垂直拆分水平拆分。

12、zookeeper原理和适用场景

13、zookeeper watch机制

14、redis/zk节点宕机如何处理

15、分布式集群下如何做到唯一序列号

16、如何做一个分布式锁

17、用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗

18、MQ系统的数据如何保证不丢失

19、列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题

20、zookeeper的选举策略

21、全局ID

数据库

1、mysql分页有什么优化

2、悲观锁、乐观锁

3、组合索引,最左原则

4、mysql 的表锁、行锁

5、mysql 性能优化

6、mysql的索引分类:B+,hash;什么情况用什么索引

7、事务的特性和隔离级别

缓存

1、Redis用过哪些数据数据,以及Redis底层怎么实现

2、Redis缓存穿透,缓存雪崩

3、如何使用Redis来实现分布式锁

4、Redis的并发竞争问题如何解决

5、Redis持久化的几种方式,优缺点是什么,怎么实现的

6、Redis的缓存失效策略

7、Redis集群,高可用,原理

8、Redis缓存分片

9、Redis的数据淘汰策略

JVM

1、详细jvm内存模型

2、讲讲什么情况下回出现内存溢出,内存泄漏?

3、说说Java线程栈

4、JVM 年轻代到年老代的晋升过程的判断条件是什么呢?

5、JVM 出现 fullGC 很频繁,怎么去线上排查问题?

6、类加载为什么要使用双亲委派模式,有没有什么场景是打破了这个模式?

7、类的实例化顺序

8、JVM垃圾回收机制,何时触发MinorGC等操作

9、JVM 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的

10、各种回收器,各自优缺点,重点CMS、G1

11、各种回收算法

12、OOM错误,stackoverflow错误,permgen space错误

欢迎大家加入Java高级架构:863621962

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

进群修改群备注:开发年限-地区-经验

方便架构师解答问题

工作1-5年开发经验,当你们提出涨工资的时候,或者要offer的时候底气怎么样,是不是底气十足,不给涨工资就辞职,是不是有自信提出来主管、或者是项目经理都能同意,他们相当设法把你留住。如果这样你才是成功。什么技术都没有何谈工资!

给你分析一下这些技术,给大家罗列一些技术,看你有没有学到这些技术。

性能调优

图片描述(最多50字)

应用框架源码解读

图片描述(最多50字)

分布式架构

图片描述(最多50字)

微服务专题

图片描述(最多50字)

团队协作开发

图片描述(最多50字)

B2C商城项目实战

图片描述(最多50字)

原文地址:http://blog.51cto.com/13927790/2175652

时间: 2024-10-11 04:46:02

Java高级程序员面试大纲——备战金三银四跳槽季的相关文章

金三银四跳槽季,你应该如何逆袭冲进BATJ?

想起刚刚入门的时候,工作和学习上是完全找不到方向的,再然后渡过了一段时间的新手期之后,工作的方向虽然逐渐变得清晰起来,但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书.收藏没读的贴.mark了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了. 我曾经就很喜欢看一些博客或者是一些"看起来"比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就mark下来,基本上几分钟就能读完.可一段时间下来,虽然读了不少东西,但是还是有种在原地打转

春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!

春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR!2020年了,先祝大家新年快乐!今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三银四求职季到来,下面教你8个"妙招",希望能帮你顺利面试成功.1.知道如何写算法如果你申请的是软件工程师的工作,那么显然你需要知道如何编码.写代码脚本其实与写算法来解决软件问题略有不同.用人单位可能会提出这样的问题,"写一个算法,可以从链表中找到某个元素,并将此元素挪到列表末尾.&q

备战“金三银四”:分享面试小技巧及必问面试题(含答案!)

面试技巧 1.背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目.技术都无法描述清楚的话,我想没有哪家公司会接受这样的,哪怕你是超级人才,你自我表述不行,估计也会为此头疼,所以,切记:一定要背好自己的简历,不要求你能全部记下,至少要熟记你最近所待过的两家公司,这两家公司里面你做过的项目,你负责的模块,项目里面用到的技术以及相对应的技术实现方案(这个尤为重要). 2.深入了解并熟记部分Java基础

“灾难无情人有情”:备战金三银四之微服务架构问题!(含解析)

前言: 现在IT界跳槽已成常态,跳槽,可能有以下原因: 技术达到瓶颈,无法在此公司有好的提升,前几年我感觉基本不会出现,至少我现在没出现. 实力与薪资不匹配. 和同事 领导不和,如果你在几家公司都这样,要自我检讨一下是不是自己的问题. 仅个人观点,其他诸如地域 情感 兴趣等个人原因不做讨论. 这也导致很多企业在用人时会比较在意员工的稳定性一般外包公司都会比较忙,相对来说,成长应该是比较快的,而你的工作性质偏业务,那么你要想清楚一个问题,以后你的发展轨迹是怎样的?是在技术方向越走越远呢,还是在管理

金九银十跳槽季余温过后,记录以往走过的面试经历

前言 金九银十跳槽季不知不觉已经过去一月有余,在这一个月里面,刷了不少题,面了很多公司,把过往的经历整理出来,为大家提供一些经验,以防踩坑 对此很多面试中遇到的问题,花了15个小时整理成为了一份983页的PDF文档. 一.面试前的准备 工欲善其事,必先利其器:想要使他的工作做好,一定要先让工具锋利.要做好一件事,准备工作非常重要. 准备主要还是三个方面: 第一个,简历:第二个,刷题(包括Java.kotlin.android和算法):第三个,HR的面试通关准备.我下面一步一步的来讲. 1.1简历

2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你

2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你 前言: 本文收集整理了各大厂常见面试题N道,你想要的这里都有 内容涵盖:Java.MyBatis.ZooKeeper.Dubbo.Elasticsearch.Memcached.Redis.MySQL.Spring.Spring Boot.Spring Cloud.RabbitMQ.Kafka.Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码. 看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏

金三银四,我面试七家公司拿到四个offer,面试历程和感悟分享

人人都说金三银四,由于一些个人的原因,博主也在今年的四月份抽空面了几家公司,这里来总结下学习到的东西. 先简单的说下博主的情况: 2015年7月份毕业,到现在加上实习可以算三年工作经验 base武汉,相比于北上广深,工作机会少了点 目前就职于驾考/汽车行业的互联网公司 大概就这么多,给出自身的情况是想给大家一个参考.由于并没有敢裸辞,所以边上班边去面试.今年找工作给我的感受是:市场貌似已经饱和,自己投递的很多简历都没了下文,面试很多走的内推,也没了之前很多的猎头电话,一个字形容就是 "惨&quo

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)

引言 元旦匆匆而过,2020年的春节又接踵而来,大家除了忙的提着裤子加班.年底冲冲冲外,还有着对于明年的迷茫和期待! 2019年有多少苦涩心酸,2020年就有更多幸福美好,加油,奥利给!怀着一颗积极向上的心,来面对未来每一天的挑战! 所谓"兵马未动,粮草先行",我们打响明天的战役也需要精神食粮来做后勤保障才是. 在此我整理了一份安卓开发面试指南,希望对磨砺锋芒.奋发向上的小伙伴有所帮助,祝你早日剑指大厂,扬帆起航,奥利给! Java基础 Java集合框架 Java集合--ArrayLi

金三银四铜五铁六

鲁班简称LB 据说,金三银四,截止今天为止面试黄金时间已经过去十之八九,而LB恰逢是这批面试大军其中的一名小兵,很不幸今年恰逢遇上了互联网寒冬(即各大公司都在裁员,对外提供岗位相对较少的,这意味着很多猿即将面临着更多的竞争对手和相对较少的岗位困境),LB求职过程种种被虐,尸体趟过召唤师峡谷每个角落,如今历历在目,终究,当初的一名无名小卒如今已是一名超级兵哈哈,但是从这个事情上却学到了不少的东西,LB不亏. 经验也总是用来交流用的,于是LB觉得有必要记录下来,也许对猿们会有一丝帮助. 首先,找工作