首页 > 笔经面经 > 字节日常实习一面二面(已OC)

字节日常实习一面二面(已OC)

头像
qackqi #字节面试#
发布于 2021-12-02 23:21:46 APP内打开
赞 6 | 收藏 51 | 回复11 | 浏览3155

一面 45min

1.     用过线程池吗,说说java线程池

讲了线程池工厂类创建,自定义参数创建,七个参数,线程池怎么工作的

2.     讲一下javahashmap底层结构

基础八股,1.7 1.8两种实现,1.7头插循环死链,1.8改尾插 寻址算法优化

3.     讲讲java里面的锁

说了一下synchronized底层原理,锁升级,自旋,自适应自旋。然后说了一下AQS的设计,实现原理

4.     https协议

只记得对称和非对称,其他的记不太清了

5.     es mysql redis要怎么保持数据一致性

扯了半天,最后大概说的是根据业务需求来判断,如果业务实时性要求没那么高的话可以缓存晚点删,而且es本来也就是一个准实时的引擎,很难做到实时同步。如果真的需要实时数据的话路由到队列中串行化操作等等。也不知道说的对不对



二面 70min

1.     mysql的数据怎么同步到es

用工具,logstash,直接打进去

2.     数据库十张表做关联查询,mysql性能差,做连接把数据打到es里面去,做成一张宽表去支持查询。每张表的数据都有可能更新,假设多个表同时更新,如何保证数据同步到宽表中。

a)      数据一致性问题

b)      并发压力问题

这个问题扯了有二十分钟,太复杂就不贴出来了,过程中扯到了redis,面试官就问如果用redis的话key要怎么设计,要我具体设计出来。整个回答过程说的比较抽象的东西面试官都让我具体说出来,心态差点爆炸。

3.     算法,面试官直接手敲题目

a)      10*10矩阵,找到最大的2*2矩阵     这题我只能想出on,问我能不能再优化,我实在想不出来。。到现在也没想明白怎么优化

b)      10*10矩阵,求出0,09,9最大路径和           简单记忆化深搜,秒撕

4.     讲一讲垃圾回收的理解

说了各种垃圾算法,什么分代,标记,可达性,三色标记之类的

5.     年轻代老年代使用标记复制标记整理的原因

6.     什么时候触发老年代gc

满了,system.gc

7.     Concurrenthashmap内部实现

1.7 1.8两种结构,然后分析put函数源码,ForwordingNode等等。

8.     java里面有几种锁

Synchronized,剩下的基本都是继承AQS,然后讲了AQS原理,源码 然后问我chl队列节点有几种状态,我说只记得有五种,具体记不得了。

9.     线程池关键参数

10.     拒绝策略有哪些

一时还真想不起来,只记得异常跟自己执行,说了自己可以根据业务去写拒绝策略

11.  Mysql什么情况下会回表

12.  Count(1)count(*)差别,哪个快

Count(1)快,但是mysqlcount(*)有优化

13.  数据库执行的结果会和explain出来的结果不一样吗,举个例子

有时候数据库会错误认为不走索引更快一些,比如某些时候认为全表查询的时候更快就不会走索引,我举了一个用性别做索引的例子。

14.  Mysql这块在连接池这块有哪些参数

不知道。

下午三点多面试结束六点hr就打电话过来说要给我发offer了,问我啥时候能够入职,不得不说字节效率还是高啊

更多模拟面试

11条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐