启明星辰java实习面经

1.介绍公司和部门
2.自我介绍
3.用了布隆过滤器,谈一下布隆过滤器
4.布隆过滤器用了hash,有那些hash冲突解决方案?
hashmap链表红黑树
5.hashmap链表多少长度转红黑树,为什么定这个值?
答了泊松定理泊松分布,面试官说太学院派了,实际开发不这样😂
6.算法题 最小栈 说思路
7.看你使用了lambook,原理
不知道,答了反射,错
8.什么是反向代理
9.什么是正向代理
不知道
10.threadlocal怎么实现线程私有
11.threadloacl中hash冲突怎么解决,看过源码吗
答不出,没看过源码
12.单元测试做过吗,用了哪些宝
用过springboottest,不知道是不是单元测试
13.有研究过springboottest原理吗
没有
14.我提问

一面感觉答得不好,面试官很耐心,不会的会解释清楚。

第二天上午约二面

二面
面试官说技术面过了,那问点项目
1.项目都是自己做的吗
2.开发的完整流程走过没有(打包上线之类的)
3.单元测试写过吗
4.开发中用了哪些数据结构,解决了哪些问题?
5.做了哪些优化
索引,redis…
6.性能多大提升,测过吗
7.redis怎么保证的一致性
8.看你用了字典树,解释一下字典树呢,是自己实现的吗
9.你是先知道应该这么优化,设计初就知道,还是说先自己做,发现性能很差再优化?
10.为什么要做联合索引,相比单列有什么优势呢?
11.你的环境,开发框架什么的都是自己搭建的吗
12.springboot的starter底层实现了解过没有
13.注解配置用了哪些
14.我问问题
参与哪些业务
会加班吗

二面完半小时oc
全部评论
threadlocal采用线性探测解决冲突,之所以没有采用链表法我个人认为是因为threadlocal存的元素不多,线性探测速度更快
1 回复 分享
发布于 2024-03-20 20:52 河南

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
牛客51274894...:意思是光刷力扣还不够卷
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
4
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务