100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

时间:2019-03-25 07:44:41

相关推荐

合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)

上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络、数据结构和算法、分布式理论和微服务的常见面试题。

一.网络

网络的话,主要集中在tcp协议的考察,NIO的select,poll,epoll。https和http协议的考察。

1. Tcp和udp的区别?Tcp的三次握手和四次分手?为什么要三次握手,为什么要四次分手?为什么会有time-wait,close-wait?出现大量的time-wait是什么原因?要怎么解决呢?

2. IO的模型有哪几种?Reactor和preactor线程模型有了解?

3. NIO的三大件分别是什么?Jdk 中Buffer和netty中buff的区别是什么?

4. Channel和stream有什么不同?

5. Select,poll,epoll的区别?Epoll的ET和LT分别是什么?有什么区别?在什么场景下使用?

6. Tcp是怎么保证消息的可靠传输的?网络的拥塞控制和流量控制分别是指什么?Tcp的报文头有了解过,报文头怎么保证消息可靠性?

7. 简述一下HTTP协议,http1.0,http1.1和http2.0的区别?

8. 访问发生了什么?DNS解析的流程有了解么?

9. http请求哪些是幂等的?Get和post的区别是什么?常见的http状态码是什么?http的请求头有哪些参数,说说你知道的?

10. 简述一下长连接和短链接,我们该怎么选择长连接和短连接?

11. IOS七层协议有了解么?Ip协议是哪层协议?

12. https的流程可以描述一下么?如果没有证书可以么?

13. Cookie和session的区别是什么?

14. 什么是分块传输?

二.数据结构和算法

面试中数据结构常考的有数组、链表、队列、栈、堆、树、图、哈希表、跳跃表,常见的算法有排序算法、二分查找、动态规划、深度遍历、广度遍历、分治算法、回溯法等。

1. 聊聊你知道的排序算法?其中算法时间复杂度、空间复杂度、稳定性和最坏最好的情况下的时间复杂度。

2. 数组和链表的优缺点是什么?

3. 如果现在要找出一个数组中top n的数,可以使用什么数据结构?

4. 有了解过跳跃表么?其优点是什么?为什么Redis的zset使用跳跃表的结构?跳跃表的遍历时间复杂度是多少?

5. 栈、队列的区别是什么?

6. 前缀树的数据结构可以实现?在哪些地方可以使用?

7. 红黑树有了解?什么时候发生左旋、右旋、换色?分别怎么实现?

8. ALV树、二分查找树和红黑树的区别是什么?

9. 完全二叉树和满二叉树的区别是什么?一颗高度为h的满二叉树的节点右多少个?如果换成是完全二叉树呢?

10. 知道哪些hash算法,如果hash发生碰撞,常见的解决方案有哪些?

11. B+树和B树的区别是什么?为什么innodb的索引使用B+树,其优点在哪里?B+树是怎么调节平衡的?一颗N个节点b介的B+树的高度是多少?

三.分布式理论和微服务系统

分布式理论有两个基本的理论基础:CAP和BASE理论,一致性协议。涉及到的分布式知识有分布式UUID,分布式锁,分布式事务,分布式session等。

1.请简述一下CAP理论,我们常见的中间件分别侧重点是什么?简述一下BASE理论?

2.有了解过哪些一致性协议?Poxos、ZAB、raft协议有了解?有了解过gossip协议?什么是强一 致性,弱一致性,最终一致性,顺序一致性。

3.分布式锁的实现方案?

4.分布式uuid的实现方案?

5.一致性hash算法了解么?

6.分布式事务的实现方案?

7.分布式session的实现方案?

8.接口如何实现幂等?

9.不同的系统怎么实现单点登入?怎么实现权限校验?

10.聊聊微服务治理,分别涉及到哪些方面?你们系统在高可靠上采取了哪些措施?应对高并发有什么方案?系统的监控运维和服务降级、熔断的方案是什么?

11.SOA架构和微服务架构的区别?解释下微服务,分布式,一致性,幂等这些概念?它们之间有什么联系?

12.常见的负载均衡算法有哪些?

13.聊聊你理解的resful框架,和rpc框架的区别?

14.常见的rpc框架有哪些?Rpc框架的原理是什么?有没有自己实现过一个rpc框架?

15.如何做微服务的限流?常见的限流算法有哪些?漏桶算法和令牌桶算法的区别是什么?

聊聊微服务拆分?你们系统是怎么拆分的,这种拆分有什么优缺点?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。