Java面试题分享4

面试整体事项

简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的。推荐boss直聘,我觉得很好用(不是广告)。一般的整体面试流程都是电面->现场面->HR面->等着。不要觉得HR说让你回去等消息就是GG了,他们也要跟你之前的面试官讨论,再向领导汇报,如果说不急可能还要和其他候选人比较,所以HR让你回去等消息绝对不是说明你完蛋了。面试前准备好自我介绍,1分钟左右就可以,可以写在纸上,电面可以照着念,等你到了现场面了基本也都快背下来你的自我介绍了。准备好扎实的基础,这是一切的根源,没实力怎么都没用的。面试中你可以把你的面试官往你会的知识上引导(我遇到过你会什么他不问什么的)。遇到了设计类题目不要着急,面试官不是为了让你几分钟设计一个高并发高可用设计模式完美的架构,只是想看看你的思路,看看你应变的能力,然后给你些提示看看你能否迅速的调整。offer都会有的,不要着急,把面试当成一个交流的过程。

需要准备的知识

以下为在近期面试中比较有印象的问题,也就不分公司了,因为没什么意义,大致分类记录一下,目前只想起这么多,不过一定要知道这些问题只是冰山一角,就算都会了也不能怎么样,最最重要的,还是坚实的基础,清醒的头脑。

Java基础

HashMap的源码,实现原理,JDK8中对HashMap做了怎样的优化。HaspMap扩容是怎样扩容的,为什么都是2的N次幂的大小。HashMap,HashTable,ConcurrentHashMap的区别。极高并发下HashTable和ConcurrentHashMap哪个性能更好,为什么,如何实现的。HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么。java中四种修饰符的限制范围。Object类中的方法。接口和抽象类的区别,注意JDK8的接口可以有实现。动态代理的两种方式,以及区别。Java序列化的方式。传值和传引用的区别,Java是怎么样的,有没有传值引用。一个ArrayList在循环过程中删除,会不会出问题,为什么。@transactional注解在什么情况下会失效,为什么。

数据结构和算法.

B+树快速排序,堆排序,插入排序(其实八大排序算法都应该了解一致性Hash算法,一致性Hash算法的应用

JVM

JVM的内存结构。JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。JVM的栈中引用如何和堆中的对象产生关联。可以了解一下逃逸分析技术。GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。标记清除和标记整理算法的理解以及优缺点。eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。强软弱虚引用的区别以及GC对他们执行怎样的操作。Java是否可以GC直接内存。Java类加载的过程。双亲委派模型的过程以及优势。常用的JVM调优参数。dump文件的分析。Java有没有主动触发GC的方式(没有)。

多线程

Java实现多线程有哪几种方式。Callable和Future的了解。线程池的参数有哪些,在线程池创建一个线程的过程。volitile关键字的作用,原理。synchronized关键字的用法,优缺点。Lock接口有哪些实现类,使用场景是什么。可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap中的segment)。悲观锁,乐观锁,优缺点,CAS有什么缺陷,该如何解决。ABC三个线程如何保证顺序执行。线程的状态都有哪些。sleep和wait的区别。notify和notifyall的区别。ThreadLocal的了解,实现原理。

数据库相关

常见的数据库优化手段索引的优缺点,什么字段上建立索引数据库连接池。durid的常用配置。

计算机网络

TCP,UDP区别。三次握手,四次挥手,为什么要四次挥手。长连接和短连接。连接池适合长连接还是短连接。

设计模式

观察者模式代理模式单例模式,有五种写法,可以参考文章单例模式的五种实现方式可以考Spring中使用了哪些设计模式

分布式相关

分布式事务的控制。分布式锁如何设计。分布式session如何设计。dubbo的组件有哪些,各有什么作用。zookeeper的负载均衡算法有哪些。dubbo是如何利用接口就可以通信的。

缓存相关

redis和memcached的区别。redis支持哪些数据结构。redis是单线程的么,所有的工作都是单线程么。redis如何存储一个String的。redis的部署方式,主从,集群。redis的哨兵模式,一个key值如何在redis集群中找到存储在哪里。redis持久化策略。

框架相关

SpringMVC的Controller是如何将参数和前端传来的数据一一对应的。Mybatis如何找到指定的Mapper的,如何完成查询的。Quartz是如何完成定时任务的。自定义注解的实现。Spring使用了哪些设计模式。Spring的IOC有什

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值