本文共 3480 字,大约阅读时间需要 11 分钟。
面试只是对个人技术及应变能力的一次考验。只有解决了一个问题,你才有机会遇见下一个问题,共勉。
1、ArrayList、LinkedList、Vector的区别
(1)baiArrayList、Vector、LinkedList类都是java.util包中,均为可伸缩数组。
(2)ArrayList和Vector底层都是数组实现的,所以索引数据快,删除、插入数据慢。
(3)ArrayList采用异步的方式,性能好,属于非线程安全的操作类。Vector采用同步的方式,性能较低,属于线程安全的操作类。
(4)LinkedList底层是链表实现,所以,索引慢,删除、插入快,属于非线程安全的操作类。
2、HashMap和HashTable的区别,Hashmap实现原理
3、String和StringBuffer的区别
(1)String:
•是对象不是原始类型。
•为不可变对象,一旦被创建,就不能修改它的值。
•对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
•String是final类,即不能被继承。
(2)StringBuffer:
•是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。
•它只能通过构造函数来建立,StringBuffer subffer=new StringBuffer();
•对象被建立以后,在内存中就会分配内存空间,并初始保存一个null,通过它的•append方法向其赋值 subffer.append(“hello word”);
(3)字符串连接操作中StringBuffer的效率要明显比String高;
String对象是不可变对象,每次操作String都会建立新的对象来保存新的值。
StringBuffer对象实例化后,只对这一个对象操作。
4、gc的概念,如果A和B对象循环引用,是否可以被GC?
5、Java中的内存溢出是如何造成的 ,知道内存泄漏吗?原因?
6、String s = “123”;这个语句有几个对象产生
7、Exception和RuntimeException的区别,作用又是什么?
8、java异常体系知道吗?error和exception有什么区别?
9、FileInputStream与FileReader区别。
FileInputStream是字节流,FileReader是字符流,用字节流读取中文的时候,可能会出现乱码,而用字符流则不会出现乱码,而且用字符流读取的速度比字节流要快;
10、char型变量中能不能存贮一个中文汉字?为什么?
11、List、Set、Map是否都继承自Collection接口? 他们的区别
12、java反射中的应用场景
13、注解用过吗?作用是什么?
14、java编译时和运行时有什么区别?
15、知道socket吗?和Websocket有什么区别?
直接上面经内容:
1. 请求响应断链如何解决?请求下单之后,网络断开了,我们这边请求没接收到下单的结果怎么办?
2. 重复出票怎么处理?重复下单怎么处理? 3. 分布式锁如何实现的?redis分布式锁和zk分布式锁有什么区别? 4. redis分布式锁实现的话,setnx和expire命令,如果A线程将expire操作操作到了B线程了,也就是expire了另一个线程的资源,这种怎么避免? 5. 线程池是什么? 6. Future是什么?有什么作用? 7. 线程池核心数是20个,最大线程数是40个,讲一下任务进入线程池的原理逻辑? 8. 线程池阻塞队列有哪几种? 9. 优先队列了解吗?优先队列底层实现机制? 10. 你说下LinkedBlockingQueue底层阻塞的原理是什么? 11. 你说一下ReentrantLock和Synchronize的区别? 12. ReentrantLock和读写锁的区别? 12. AQS里的setState()是什么时候调用? 13. 讲一下锁的升级策略? 14. HTTP和HTTPS的区别? 15. 对称加密和非对称加密有什么区别?HTTPS是用到了那种加密方式? 16. 看你简历说是熟悉JVM,那JVM有哪几种GC算法? 17. 新生代中为什么会有From Survice和To Survice区? 18. 使用CMS垃圾收集器时,遇到大对象比较多导致频繁GC,该如何解决这种情况? 19. GCRoot是什么?哪些对象是GCRoot? 20. MySQL中有哪些索引类型? 21. B+树和B树有什么区别? 22. 联合索引什么情况下会失效? 23. 最左匹配原则是什么? 24. MySQL有哪几种隔离级别? 25. 幻读是什么?RR隔离级别能解决幻读吗?那RR隔离级别是怎么解决幻读的? 26. 你知道间隙锁吗?间隙锁的作用是什么?是怎么解决幻读的? 27. SpringAOP了解吗?有哪几种实现方式? 28. CGLIB什么情况下会失效? 29. 为什么要同时重写equals和hashcode?总结:其实场景题还是老样子,回答的不好,然后知识点之间细节没拉满,归根结底就是学的不够好,不够扎实。自己离互联网大厂还是有大差距,接下来还需加倍努力提升自己的水平,要拉满细节!!!
公司:同程艺龙成都
岗位:Java开发工程师 形式:现场面试(二面) 时长:50min
二面 现场部门老大面 是在同程艺龙成都办公地面试的,时间是在周六下午三点,公司周末双休没上班,只有面试官、hr以及前台小姐姐几个人。
总结:本次面试在经过面试官的同意后对本次面试进行了录音,方便之后进行面试复盘。从这次复盘的结果来看,此次部门老大面没怎么问简历上的内容,估计是一面里有面试记录,所以一面面的大部分内容都没有再次问到。从这次面试来看,对于一个知识点你理解了和用你自己的语言表述出来是两种不一样的情况!!然后就是自己在Java技术栈的广度和深度都欠缺太多,想进互联网大厂的话还任重道远啊。许愿Offer。
非常幸运,成功上岸拿到了offer,入职之后还需要继续加倍努力,冲鸭!!!
到此这篇关于文章就结束了!
点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦!
转载地址:http://cxfvi.baihongyu.com/