Java科大国创面经
- 电话面试,随便问了些技术问题,最后还问了个
问:LeetCode里面medium级别的算法题,偏简单redis有没有用过,常用的数据结构以及在业务中使用的场景,redis的hash怎么实现的,rehash过程讲一下和JavaHashMap的rehash有什么区别?
问:redis cluster有没有了解过,怎么做到高可用的?
问:redis的持久化机制,为啥不能用redis做专门的持久化数据库存储?了不了解tcp/udp,说下两者的定义,tcp为什么要三次握手和四次挥手?
问:tcp怎么保证有序传输的,讲下tcp的快速重传和拥塞机制,知不知道time_wait状态,这个状态出现在什么地方,有什么用?(参考quic)
问:知道udp是不可靠的传输,如果你来设计一个基于udp差不多可靠的算法,怎么设计?http与https有啥区别?说下https解决了什么问题,怎么解决的?
问:说下https的握手过程。看你项目里面用了etcd,讲解下etcd干什么用的,怎么保证高可用和一致性?
问:既然你提到了raft算法,讲下raft算法的基本流程?raft算法里面如果出现脑裂怎么处理?
问:有没有了解过paxos和zookeeper的zab算法,他们之前有啥区别?你们后端用什么数据库做持久化的?有没有用到分库分表,怎么做的?索引的常见实现方式有哪些,有哪些区别?
问:MySQL的存储引擎有哪些,有哪些区别?InnoDB使用的是什么方式实现索引,怎么实现的?
问:说下聚簇索引和非聚簇索引的区别?有没有了解过协程?说下协程和线程的区别?算法题一个,剑指offer第51题,数组中的重复数字?
#软件开发笔面经##牛客创作赏金赛#