飞猪 后端 Java 一面
7.13 晚9点 电话面 1小时22分
自我介绍
项目
- 课程发布分布式事务的流程
- 如果快速点击两下发布课程,在后端如何保证幂等性(进行唯一ID验证之前)
计算机网络
- 拥塞控制协议原理
- 为什么是三次握手,如果是两次或者四次会导致什么
java并发
- lock和synchronized的区别
- AQS的原理
- 如果是非公平锁,是否还维持FIFO队列,如果维持FIFO是如何操作的(AQS 的 CLH 队列中)
- synchronized锁升级过程(对应升级条件)
- JMM内存模型解释
jvm
- 垃圾回收的三种方式
- 新生代和老年代分别用什么
- 老年代用标记整理的根本原因
- 锁的信息存在运行时数据区哪个部分
Mysql
- b+树和b树
- 语句的执行流程
- 查询语句的索引
- MVCC机制,可重复读下生成ReadView时机
- 如果生成两个ReadView带来什么问题
Redis(问熟悉哪个中间件,默认是redis)
- Hash结构底层用什么数据结构实现
- 缓存的更新策略
- RDB机制
- 全量同步和增量同步对应条件
- 在全量同步时产生的数据放在哪里
- 从节点长时间宕机恢复后如何同步
- 如果repl_backlog需要存储的数据超过容量会发生什么
- 如果有abcd先存储刚好占满这个环形数组,后续来了f,最后环形数组的内容是什么。
- redis分布式锁在多线程下遇到的问题
- 如果一个线程的redis在占有redis分布式锁过程中发生异常,ttl过期,另一个线程抢占到锁,如何处理
算法(给代码环境 手写,讲解思路,默认是一道,后面临时加了一道)
- 矩形中找字符串,m * n二维网格board,给一个字符串word,如果word存在于网格,返回true,否则返回false,单词必须按照字母顺序,通过相邻单元格内的字母构成,相邻指水平相邻或垂直相邻
- 链表删除倒数第n给节点,返回头节点。
反问:
- 飞猪的什么部门,大致什么业务
- 用到的技术栈
- 回答情况
全凭记忆写的,会漏掉一些问题,总体来说就是从一个知识点不断加深去考察。
祈祷收到2面
#面经笔经##飞猪##阿里##2023毕业生求职有问必答##23届找工作求助阵地#