佬啥时候报批的

相关推荐

08-11 18:27
已编辑
门头沟学院 Java
一面 自我介绍(略)为什么上一段实习干了四个月就走了?(回校答辩+准备秋招)根据项目拷打八股环节MVCC原理CountDownLatch项目中具体怎么使用的Redis使用场景?缓存数据库一致性保证?高并发场景,应对措施思考流程?(当时脑子短路只答了个利用缓存+负载均衡,实际应该还有异步处理 消息队列削峰 分库分表 限流降级等)然后就是拷打笔试环节,穿插了一点八股(synchornized和可重入锁底层区别,多线程题其他处理方案等)反问:公司业务、二面时间隔一天二面:还是问上一段实习为什么干4个月就走了,这次能实习多久?(六个月以上)然后没问项目八股,问了一道笔试题的变式,刚开始主包没理解他什么意思,后来才想出来,也正确答出来了。问完笔试就直接结束了,也没问我反问,还是我主动问的,问了一下如果这轮通过了,下一轮hr面时间,他说等hr通知。这周一hr通知挂,理由是“逻辑边界不严谨,反应速度不够,查问题引导了一段时间才反应过来”😂我尼玛,你出个变式,我难道不思考就能想出来吗👏🏻。而且他的笔试网站巨抽象,用的markdown整理代码格式,也没有测试样例之类的。早就在牛客上看过这公司风评不行,在无关紧要的地方挂人。现在看来果然如此。一个日常实习还这么多轮面试,浪费lz一周时间😡,发篇面经给想投这家公司的uu们做个参考吧。这次面完吃一堑长一智了,投简历之前一定得先看看公司风评,然后做好心理预期
查看8道真题和解析
点赞 评论 收藏
分享
put添加元素的流程1 首先会去借助哈希值计算桶索引的值,运算函数为(n-1)&hash值进行与计算。:计算哈希值,jdk7之前是直接引用哈希值计算,而jdk8开始则借助哈希扰动的算法,原理呢就是将原哈希值向右移动16位,异或运算哈希值,将高位哈希值与地位哈希值都可以很好的参与到计算当中,减少哈希冲突的概率2 判断该桶索引位置是否为空,如果为空直接进行存放Node节点。如果不为空,需要遍历链表或者红黑树,去判断是否存在相同的key,如果不同则插入,相同则覆盖。:8开始为尾插,8之前为头插(多线程扩容可能会导致链表出现死循环的问题)插入新节点后3对数组的元素进行计数,当数组当中的元素数量大于负载因子与容量的乘积时,会触发扩容机制,两倍的扩容速度,扩容过程当中存在对元素桶索引的重新分配问题:在jdk7之前会使用(2n-1)&hash重新算一遍桶索引的位置(n为原数组长度):但是在jdk8开始,将(2n-1)&hash进行拆分,拆成(n-1)&hash+n&hash=原索引位置+n&hash,在判断过程当中呢,实现对n&hash的计算即可,判断计算是否为零,为零则保留原索引,不为零则在原索引的基础之上加上旧数组长度,接着移动就简单了,将原先的链表拆分为两个临时链表,后续直接一次性挂载即可。4判断是否需要树化,先判断链表长度,在链表长度达到8的条件下,判断数组长度是否达到64,达到就将链表树化,没达到64就以2倍的速度进行扩容。
如果再来一次,你还会选择...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务