2021年5月10日面经分析——腾讯Java工程师社招面试经历

2021年5月10日面经分析——腾讯Java工程师社招面试经历

一面

mysql索引结构

mysql的索引结构分为RDB和AOF两种。

2、redis持久化策略?

(1)RDB:快照形式是直接把内存中的数据保存到一个dump的文件中,定时保存,保存策略。当Redis需要做持久化时,Redis会fork一个子进程,子进程将数据写到磁盘上一个临时RDB文件中。当子进程完成写临时文件后,将原来的RDB替换掉。

(2)AOF:把所有的对Redis的服务器进行修改的命令都存到一个文件里,命令的集合。使用AOF做持久化,每一个写命令都通过write函数追加到appendonly.aof中。aof的默认策略是每秒钟fsync一次,在这种配置下,就算发生故障停机,也最多丢失一秒钟的数据。缺点是对于相同的数据集来说,AOF的文件体积通常要大于RDB文件的体积。根据所使用的fsync策略,AOF的速度可能会慢于RDB。Redis默认是快照RDB的持久化方式。

3、zookeeper节点类型说一下;

4、zookeeper选举机制?

5、zookeeper主节点故障,如何重新选举?

6、syn机制?

7、线程池的核心参数;

8、threadlocal的实现,原理,业务用来做什么?

9、spring di的原理;

10、四次挥手;

11、gcroot选择;

12、标记清除算法的过程,标记清楚算法如何给对象分配内存空间?

13、cms算法的缺点;

【二面】

1、correnthashmap?

2、threadlocal原理?

3、hashmap;

4、Java数据类型,同步机制;

5、讲讲贪心算法;

6、如果线上用户出现502错误你怎么排查?

7、并发量很大,服务器宕机。你会怎么做?

【三面】

1、syn和lock的区别,哪个更好?怎么选择?

2、hashmap源码,为什么8个节点变成红黑树 又为什么到了6个节点才恢复为链表?

3、缓存穿透,怎么解决?

4、负载均衡算法,实现;

5、轮询和随机的缺点;

6、分布式服务治理;

7、dns迭代和递归的区别;

8、为什么连接的时候是三次握手,关闭的时候却是四次握手?

因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值