博睿数据-社招-Java一面

2023.03.14晚 面的好舒服,整体聊天都比较愉快,也算是面的比较全吧,考察了全方面技能点,双方交流都是有来有回的。挂了电话没一会就约了二面时间


[TOC]

🔥1. 数据结构和算法

1. 知道的数据结构:B+树,B树,红黑树,然后讲了各自的优缺点
2. 知道的算法:讲了下快排和时间空间复杂度(我说空间复杂度是O(1),其实应该是O(log(n)),牛客原题:https://www.nowcoder.com/questionTerminal/ce696aeb0c804e0bb9950d66890e31ee?)
3. 双端队列的特点和描述下用指针插入一个结点:左右都可插入弹出。然后就是结点next指向插入结点

🔥2. Java

1. HashMap底层原理:jdk1.8之后,数组链表红黑树,计算hashcode扰动函数和与运算到数组坐标后,以尾插法插入,然后数组>64和链表>8转变为红黑树(老八股文了)
2. 线程池创建方式:不晓得(Executor和ThreadPoolExecutor创建方式。感觉这里表现不好,明明不知道还卡顿,结结巴巴的耽误双方时间)
3. Jvm内存结构:pc,虚拟机栈,本地方法栈,堆(新生代(eden, survivor),老年代),方法区。
4. 线程共享和单独的区域:栈和pc是线程独享,堆是方法区是共享,然后堆中也有TLAB是线程独享。
5. String存储和名字定义:
 	1. 存储:jdk1.8之后,直接定义就是在堆中的字符串常量池常量就有,new就是堆中新开辟空间。
 	2. 代码中定义同包同名的String类是不可用的,定义不同包但是同名的String类是可用的。

🔥3. 排查能力

1. 你排查OOM思路:结合业务从先告警开始,结合日志从内存泄漏,内存分析分别谈起,然后谈dump对象内存结构,jprofile分析,结合代码定位到位置,分析解决问题,上线部署监控。(感觉自己答得还是有点像在背书,还是要自然点)
2. 生产CPU告警的流程:基本都是由大量线程导致的,分析流程还是和上面OOM差不多,就是加个火焰图分析,这里面试官感觉想听的是top,jstack命令这些,我用了个arthas直接带过了。

🔥4. 软性要求

  1. 觉得自己性格怎么样:阳光,随和
  2. 觉得公司什么最重要:归属感和项目的含金量
  3. 反问
#你觉得今年春招回暖了吗#
全部评论

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
6
10
分享

创作者周榜

更多
牛客网
牛客企业服务