有赞Java面经,问的非常细节




有赞:

1 自我介绍和项目

2 Java的内存分区

3 Java对象的回收方式,回收算法。

4 CMS和G1了解么,CMS解决什么问题,说一下回收的过程。

5 CMS回收停顿了几次,为什么要停顿两次。

6 Java栈什么时候会发生内存溢出,Java堆呢,说一种场景,我说集合类持有对象。

7 那集合类如何解决这个问题呢,我说用软引用和弱引用,那你讲一下这两个引用的区别吧。

8 Java里的锁了解哪些,说了Lock和synchronized

9 它们的使用方式和实现原理有什么区别呢,使用的话,synchronize用于方法和代码块,可以锁对象和类以及方法,Lock一般锁一块代码。并且Lock可以搭配condition使用。
实现原理的话,synchronized使用底层的mutex锁,需要系统调用,而Lock则使用AQS实现。

10 synchronized锁升级的过程,说了偏向锁到轻量级锁再到重量级锁,然后问我它们分别是怎么实现的,解决的是哪些问题,什么时候会发生锁升级。

11Tomcat了解么。说一下类加载器结构吧,我说不知道,说了些别的。

12 问我会什么框架,说了Spring,问我Spring中如何让A和B两个bean按顺序加载,我说依赖关系,他问怎么实现,然后说要用dependon注解,我说不了解。

13 beanfactory和applicationcontext是什么关系,使用有什么区别。

14 MySQL的sql优化了解么,答了解索引优化。

15 他问我如何做一条sql的优化,说了慢日志和explain。

16 MySQL集群的主从复制怎么做的,具体有哪些线程做哪些事情,使用了哪些日志。

17 CAP定理说一下,为什么三者只能选二,为什么分区容忍性必须保证。

18 平时了解哪些技术是牺牲了一致性来保证可用性的,我说消息队列,他问我MySQL是不是,我说MySQL主从复制应该是。

19 工作中CAP的A和P是怎么选择的,我说选P吧,他的意思是选A。

20 算法题:

一:10亿个数去重,我说用hash分片做,他说可能不均匀,然后我说了bitmap,他说那数字量更多怎么办,我说那就两个bitmap把。他说下一题吧。

二:十亿个数找前10个最大的,小顶堆过一遍即可。他说如果要提高效率呢,我说可以分片做堆排序再进行归并即可。他说OK。

没了

关注微信公众号「黄小斜」后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。 

#有赞##面经##内推##秋招##Java工程师#
全部评论
球球你,收手吧
点赞 回复 分享
发布于 2018-08-22 21:40
看到13题想着还可以扯扯淡,17题CAP已经不知道是什么了,20题怀疑自己学的不是Java。
点赞 回复 分享
发布于 2018-08-22 23:24
那就用两个bitmap吧,哈哈哈
点赞 回复 分享
发布于 2019-03-21 18:00
本文发于微信公号【程序员江湖】分享程序员求职、技术和生活的那些事 | 关注即可领取3T免费学习资料,BAT校招老司机等你来撩
点赞 回复 分享
发布于 2018-11-17 10:52
有赞必须现场面吗
点赞 回复 分享
发布于 2018-09-30 00:32
最后一题大根堆吧
点赞 回复 分享
发布于 2018-09-22 12:52
10亿个数去重那题可以先采样,根据采样结果分割或者哈希
点赞 回复 分享
发布于 2018-09-08 17:16
CAP 里面的 AP 为什么要选 A啊 看很多书籍不都是 P (分区容忍性)是必须的么 一般都是在 CA 立马抉择 分区容忍性保证了,分布式系统在遇到任何网络分区故障的时候,仍然需要能对外提供一致性和可用性的服务,除非是整个网络环境都发生了故障。 如果没有了P 。。。那可用性和一致性还怎么搞?
点赞 回复 分享
发布于 2018-09-08 17:06
题主是华科本吗?厉害
点赞 回复 分享
发布于 2018-09-08 14:39
题主回答上来多少啊
点赞 回复 分享
发布于 2018-08-26 11:35
现在这种小公司技术要求这么高的么,是准备开高薪抢人么。。。
点赞 回复 分享
发布于 2018-08-23 18:42
这是那个公司?
点赞 回复 分享
发布于 2018-08-23 09:56
现在一看到找前几大(几小),第一反应就是bfprt😷。。。。堆也可以吗?复杂度会不会高了些
点赞 回复 分享
发布于 2018-08-23 00:37
synchronized底层mutex上锁和解锁都是系统调用?
点赞 回复 分享
发布于 2018-08-22 23:35
神仙啊。
点赞 回复 分享
发布于 2018-08-22 22:58
膜dalao
点赞 回复 分享
发布于 2018-08-22 22:46
就想知道大佬目前收获几枚offer,感觉面试面的很带劲呀
点赞 回复 分享
发布于 2018-08-22 22:18
tomcat和spring底层那个确实很难,其他还算基础,为大佬打call~
点赞 回复 分享
发布于 2018-08-22 22:09
有赞的内推吗?
点赞 回复 分享
发布于 2018-08-22 22:08
  好深啊,大佬无疑了
点赞 回复 分享
发布于 2018-08-22 21:52

相关推荐

03-15 00:45
已编辑
高德地图_go开发(实习员工)
问的很简单都秒了,但是面试官没开摄像头,疑似kpi,无后续。--------------------3/14更新,3/12通知给了口头offer,3/13发了意向书,已拒。一面(35min)(25/3/6)(无后续)    1、自我介绍    2、介绍一下你的那个Python相关项目(本科毕设,web系统+算法模型提供部分接口)    3、Java面向对象有哪些特点呢?详细说一下。    4、介绍一下hashmap;为什么要把链表转换为红黑树呢?红黑树查找的时间复杂度?1.7和1.8的区别。    5、介绍一下concurrentHashmap。    6、synchronized锁和Lock锁有什么区别?    7、公平锁的一个底层是怎么实现的呢?    8、线程池的核心参数、拒绝策略、提交一个任务执行流程?    9、spring有哪些特点?(ioc/aop)    10、spring中对于循环依赖是怎么解决的?    11、MySQL和redis的区别?    12、MySQL的索引结构是什么?    13、MySQL的事务有哪些特性?怎么保证?    14、MySQL的默认隔离级别?可重复读是怎么做到的呢?    15、介绍一下MVCC和快照读readview。    16、一般在什么场景下会使用redis?    17、对于大量的请求,如果此时缓存中还没有写入数据怎么办?    18、介绍一下redis实现的分布式锁。    19、有用过es和mongo DB吗?(知道,没用过)    20、消息中间件用过吗?说一下你的使用场景?    21、一个场景,如果说有一个接口响应的比较慢,如果说让你排查,你会怎么去排查?(上下游接口、大key问题,只答了两,后面试官补充)    无手撕,反问业务。
胖墩墩的查理在学c语言:哥们我是五号面的 流程差不多
查看21道真题和解析
点赞 评论 收藏
分享
评论
16
313
分享

创作者周榜

更多
牛客网
牛客企业服务