当前位置: 首页 > 面试经验 >

极兔速递-社招-Java一面

优质
小牛编辑
97浏览
2023-03-28

极兔速递-社招-Java一面

2023.02.08晚,感觉答得不是很好,但是面试官人很好,刚挂了电话没一会就约我二面时间

自我评价:整体来说mysql的log日志、mq的底层理解有点模糊,然后要答到点上,不要答无关的东西显示自己理解有多深,不然就给自己挖坑而且让面试官感到厌烦,然后就是组织好语言,知道就知道,不知道就不知道,节约双方时间。

1. Java

  1. 线程安全集合: hashtable,vector, courrenthashmap
  2. jdk1.7和1.8区别:没了解过=_=,脑袋突然断路。(增加了lambda表达式)
  3. Java锁和底层原理:按不同类型划分,讲了synchronized和reentranlock,锁升级,aqs,可重入性
  4. volatile: 禁止指令重拍,有序,可见,内存屏障
  5. hashmap的底层结构:数组链表红黑树


2. 数据库

  1. Binlog,redolog, undolog作用和区别:redolog一般用于数据恢复,binlog一般用于备份,保证数据的持久化。undo保证事务的原子性,一般用于事务回滚
  2. 为什么要刷盘到redolog而不直接写入磁盘?:不知道=_=,上个问题给自己埋的坑(redo log是顺序IO,比直接刷盘的随机IO更快)
  3. Mysql隔离级别,是否解决幻读: 默认可重复读,可重复读其实是没有解决幻读的,只能解决脏读。但是在MYSQL中,引入了MVCC,且开启了间隙锁,所以直接上是解决了幻读了的(感觉面试官是在引导我说出这些,自己讲的还是有点让人误解 参考链接:https://learnjava.baimuxym.cn/pages/%E5%8F%AF%E9%87%8D%E5%A4%8D%E8%AF%BB%E6%98%AF%E5%90%A6%E8%83%BD%E8%A7%A3%E5%86%B3%E5%B9%BB%E8%AF%BB%EF%BC%9F/)
  4. Mysql锁,知道意向锁吗:按不同类型划分,讲了表锁行锁、X锁,S锁。意向锁就是协调表锁和行锁的,行加了什么锁,表就加什么锁。
  5. Redis数据类型和数据结构:5种string,hash,list,set,zset。6种sds,inset,dict,quicklist,ziplist,skiplist。
  6. Redis持久化:RDB和AOF和各种工作原理。(还问了个AOF相关的,没听过说不了解,就跳过了)


3. 框架和中间件

  1. 哪些分布式锁:redis-setnx, redission。
  2. 知道zk的分布式锁吗?: 没了解过(跳)
  3. jvm内存平时怎么调优:感觉自己答得很乱。实际是用jps或者arathas等命令排查异常线程,或者下载dump文件用jprofile分析等之类的操作
  4. rabbitmq如何避免消息堆积,顺序性,消息模式:增加队列消费能力或线程池处理消息及时响应,提高消费能力顺序性:一个队列对应一个消费者,rabbitmq内部用队列来保证消息模式:一对一,一对多广播,还是就是topic主题参考链接:JavaGuide https://javaguide.cn/high-performance/message-queue/rabbitmq-questions.html#%E5%A6%82%E4%BD%95%E4%BF%9D%E8%AF%81-rabbitmq-%E6%B6%88%E6%81%AF%E7%9A%84%E9%A1%BA%E5%BA%8F%E6%80%A7


#Java##社招#
 类似资料: