暂存篇:高频面试题基本总结回顾(含笔试高频算法整理)

news2024/11/16 20:26:02

 干货分享,感谢您的阅读!

暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理))

备注:引用请标注出处,同时存在的问题请在相关博客留言,感谢!

一、基本面试流程回顾

总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。

  • 自我介绍+项目介绍+项目细节/难点提问-------这个主要看个人的经历了,每个人都不一样
  • 基础知识点考核---------还是可以去增强自己的,也是这次的主要的一些总结思路
  • 算法题-----------一般都是LeetCode高频题或者剑指offer高频题,这个得在找工作之前的好好的练习。

二、基本高频算法题展示

基本高频算法考题总结如下,如有错误请告知,谢谢:

归属内容对应总结链接笔试定义代表题目展示

数学思维相关考题

数学思维高频考题

Letcode高频考题众数、快乐数、丑数、回文数、平方根、超级次方、二进制中1的个数等
字符串相关考题

字符串高频考题

Letcode高频考题最长公共子串、最长回文子串、最长无重复字符子串、最小覆盖子串、字符串相乘、中文数字表达转实际数字格式等
数组相关考题数组高频考题Letcode高频考题

找到数组 A 元素组成的小于 n的最大整数、两数之和、三数之和、搜索旋转排序数组、只出现一次的数字、最大子序列、最长连续递增序列、最长公共前缀等

散列相关考题散列高频考题Letcode高频考题

重复字符的最长子串、字母异位词分组、LRU缓存机制、重复元素、同构字符串等

栈相关考题栈高频考题Letcode高频考题

有效的括号、最小栈、用栈实现队列、用队列实现栈、逆波兰表达式求值、用数组实现一个栈、基本数学运算表达式求值等

队列相关考题队列高频考题Letcode高频考题

用队列实现栈、使用栈实现队列、设计循环队列、滑动窗口最大值、队列的最大值、用数组实现一个队列等

链表相关考题链表高频考题Letcode高频考题反转链表、链表中环的检测、链表中环的入口点、删除链表中倒数第K个节点、两个链表的第一个公共节点、链表的中间节点、合并两个有序链表、删除链表中的重复元素等
树相关考题树高频考题Letcode高频考题

二叉树的最大深度、对称二叉树、二叉树的最近公共祖先、二叉树的直径、二叉树的层平均值、二叉树的镜像、二叉树的最大宽度、平衡二叉树等

排序相关考题排序算法高频考题Letcode高频考题

冒泡排序、鸡尾酒排序、插入排序、选择排序、快速排序、归并排序、堆排序、Top K 问题分析、使用堆排序思想实现优先级队列、计数排序、桶排序、基数排序等

剑指offer考题剑指offer所有高频考题剑指offer考题汇总分析剑指offer全部高频题罗列
动态规划考题动态规划高频考题Letcode高频考题最大子序和、最长上升子序列、最长公共子序列、最大子数组乘积、编辑距离、单词拆分、爬楼梯、股票买卖问题、最佳买卖股票时机含冷冻期等
图论考题图论高频考题(国内一般不考)进阶分析考题岛屿数量、网络延迟时间、单源最短路径、负权最短路径问题、具有最小生成树的连通图的最小代价、找到最终的安全状态等
大厂新考题聚焦新版综合编程能力面试考查汇总大厂新考重点考查综合能力和理解能力等

三、基本面试题总结回顾

(一)Java高频面试题整理

相关答案参考:https://blog.csdn.net/xiaofeng10330111/article/details/53034130备注:针对基本问题做一些基本的总结,不是详细解答!1.HashMap和ConcurrentHashMap区别(必考)2. ConcurrentHashMap的数据结构(必考)3.高并发HashMap的环是如何产生的4.HashMap1.7与HashMap1.8的区别,从数据结构上、Hash值的计算上、链表数据的插入方法、内部Entry类的实现上分析?5.Hash1.7是基于数组...https://blog.csdn.net/xiaofeng10330111/article/details/53034130

考察方向分类:Java基础高频知识考点

1.基本类型和包装类区别

2.实例方法和静态方法有什么不一样?

3.Java指向的是引用还是地址?怎么理解?(高频考点)

4.Object类内的方法(高频考点)

5.hashCode方法的作用?

6.Java中一个字符占多少个字节,扩展再问int、 long、double占多少字节?

7.Boolean占几个字节?

8.Exception和Error

9.==和equals的区别?

10.String str="hello world"和String str=new String("hello world")的区别?(高频考点)

11.StringBuffer和StringBuilder的区别是什么?性能对比?如何鉴定线程安全?(高频考点)

12.StringBuffer 和 StringBuilder 底层怎么实现的?(高频考点)

13.switch支持哪些数据类型?支持long么?(高频考点)

14.创建一个类的实例都有哪些办法?(高频考点)

15.final、finnally、finalize的区别是什么?

16.Jdk1.8/Jdk1.7都分别新增了哪些特性?其他版本呢?(高频考点)

17.简单说下Lambda表达式,其解决了什么,相比java7的处理优化了什么?

18.有人说“Lambda能让Java程序慢30倍”,你怎么看?

19.SpI和API区别是什么?SpI底层实现是什么?

20.深克隆和浅克隆?(考频不多)

21.伪共享机制简述分析

22.假设引用了一个第三方的jar 有个类和我自己写的代码类一样,那么在类加载机制过程中是如何处理的?(高频考点)

23.Java提供了哪些IO方式? NIO如何实现多路复用?

24.谈谈接口和抽象类有什么区别?

考察方向分类:Java集合框架高频知识考点(高频考点集中地)

1.HashMap相关put操作,get操作等流程?(高频考点)

2.Hash为啥要扩容

3.HashMap如果我想要让自己的Object作为K应该怎么办?

4.Hashmap 线程不安全的原因(高频考点)

 5.HashMap1.7与HashMap1.8的区别,从数据结构上、Hash值的计算上、链表数据的插入方法、内部Entry类的实现上分析?

6.HashSet和HashMap区别

7.Hash1.7是基于数组和链表实现的,为什么不用双链表?HashMap1.8中引入红黑树的原因是?为什么要用红黑树而不是平衡二叉树?(高频考点)

8.HashMap、HashTable、ConcurrentHashMap的原理与区别?

9.HashMap和ConcurrentHashMap区别(高频考点)

10. ConcurrentHashMap的数据结构(高频考点)

11.高并发HashMap的环是如何产生的(高频考点)

12.哪些集合是线程安全的?

13.Collections.SynchronizedCollection方法实现原理是什么?

14.Array和ArrayList有什么区别?使用时注意事项有哪些?

15.常用的集合类有哪些?比如List如何排序(最好说下底层上的实现)?(高频考点)

16.ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么?

考察方向分类:多线程与并发编程高频知识考点(高频考点集中地)

1.进程和线程的区别,进程间如何通讯,线程间如何通讯?

2.Java中线程之间如何通信

3.并发和并行的区别

4.Java线程的状态?细说一下BLOCKED和WAITING有什么区别?(高频考点)

5.Java实现多线程的方式有哪些?(高频考点)

6.Java处理多线程的方式有哪些?

7.Java程序中启动一个线程是用run()还是start()?

8.Thread的start方法调用两次会怎么样?Thread是如何保证start方法调用只有一次生效?(高频考点)

9.什么是守护线程?有什么用?

10.两个线程如何串行执行?

11.可以运行时kill掉一个线程吗?

12.Synchronized的实现原理(高频考点)

13.volatile与synchronized的区别是什么?volatile作用(高频考点)

14.synchronized和Lock的区别(高频考点)

15.Atomic类如何保证原子性(CAS操作)(高频考点)

16.AtomicInteger、AtomicBoolean这些类之所以在高并发时高效,共同的原因是?

17.CAS?CAS 有什么缺陷,如何解决?(高频考点)

18.Java不可重入锁与可重入锁的区别如何理解?

19.无锁 VS 偏向锁 VS 轻量级锁 VS 重量级锁,解释锁升级?(高频考点)

20.乐观锁 VS 悲观锁?公平锁 VS 非公平锁?独享锁 VS 共享锁?

21.自旋锁 VS 适应性自旋锁,简单介绍

22.死锁发生的原因

23.用java 代码实现一个死锁用例,说说怎么解决死锁问题?回到用例代码下,如何解决死锁问题呢?(高频考点)

24.请实现让10个任务同时并发启动?

25.AQS理论的数据结构是什么样的?(高频考点)

26.ReentrantLock底层公平锁和非公平锁的原理(高频考点)

27.多线程中sleep与wait的区别是什么?

28.notify和notifyAll区别?

29.除了用Object.wait和Object.notifyAll来实现线程间的交互外,你还会常用哪些来实现?

30.ThreadLocal的原理和实现(高频考点)

31.ThreadLocal为什么要使用弱引用和内存泄露问题(高频考点)

32.ThreadLocal怎么解决内存泄露的问题?(高频考点)

33.为什么要使用线程池?

34.线程池的线程数量确定?状态分析?关闭方式?

35.如何控制线程池线程的优先级

36.核心线程池ThreadPoolExecutor的参数/常见线程池的创建参数是什么样的?(高频考点)

37.new ThreadPoolExecutor(10,100,10,TimeUnit.MILLISECONDS,new LinkedBlockingQueue(10));一个这样创建的线程池,当已经有10个任务在运行时,第11个任务提交到此线程池执行的时候会发生什么,为什么?

38.实现一个自定义的ThreadFactory的作用通常是?

39.常见的线程池创建和参数分析?(高频考点)

40.ThreadPoolExecutor的工作流程(高频考点)

41.ScheduledThreadPoolExecutor中的使用的是什么队列?内部如何实现任务排序的?

42.线程池的运行逻辑,FixedThreadPool、CachedThreadPool的原理(高频考点)

43.用Executors.newCachedThreadPool创建的线程池,在运行的过程中有可能产生的风险是?

44.阻塞队列ArrayBlockingQueue、LinkedBlockingQueue分析(高频考点)

45.请合理的使用Queue来实现一个高并发的生产/消费的场景,给些核心的代码片段。

46.线程池关闭原理

47.JUC下的常见类的使用,take、poll的区别,put、offer的区别?

48.Future原理,其局限性是什么?并说说CompletableFuture核心原理?

49.你是否了解fork/join(基本思想)?在工作中是如何使用的?说说他们的优势是什么?(高频考点)

50.Java线程池的调优经验有哪些?(线程池的合理配置)(高频考点)

51.一个请求中,计算操作需要50ms,db操作需要100ms,对于一台8核的机器来说,如果要求cpu利用率达到100%,如何设置线程数?(高频考点)

52.如果系统中不同的请求对应的cpu时间和io时间都不同,那怎么设置线程数量?(高频考点)

53.线程池核心数20,最大600,阻塞队列200,当QPS200(注意是qps)的时候,请求是调第三方阻塞超时,请问怎么提高它的吞吐量(注意不能加机器)?(高频考点)

54.当前线程池是200,线程单次处理请求20ms,那么理论上单节点的qps 是多少呢?

55.多线程对Long数据进行加和会存在什么问题?如何解决?

56.Netty 的线程机制是什么样的?

考察方向分类:其他扩展高频知识考点

1.LRU算法是怎么实现的?大致说明下(高频考点)

2.后台服务出现明显“变慢”,谈谈你的诊断思路?(高频考点)

3.你了解Java应用开发中的注入攻击吗?

4.在Java程序运行阶段,可以用什么命令行工具来查看当前Java程序的一些启动参数值,例如Heap Size等。

5.用什么命令行工具可以查看运行的Java程序的GC状况,请具体写出命令行格式。(高频考点)

6.用什么工具,可以在Java程序运行的情况下跟踪某个方法的执行时间,请求参数信息等,并请解释下工具实现的原理。

7.当一个Java程序接收请求,很长时间都没响应的话,通常你会怎么去排查这种问题?

8.NIO(New I/O)用到的组件有哪些?

9.Netty对比Java NIO做了什么优化?(必考)

(二)JVM相关面试问题整理

相关答案参考:https://blog.csdn.net/xiaofeng10330111/article/details/86516867对JVM重点知识点进行整理,同时这些主要的总结可用于高频面试题https://blog.csdn.net/xiaofeng10330111/article/details/86516867

1.分析JVM运行时数据区域(必考)

2.简单介绍一下Java内存模型(必考)

3.简述内存分配与回收策略

4.垃圾回收机制(必考)

5.强、软、弱、虚引用的区分?

6.Java 堆永久代的回收(该部分归属java7,大概率不会问了)

7.垃圾回收算法(必考)

8.Minor GC和Full GC触发条件

9.Minor GC 和 Full GC 有什么不一样吗?

10.简述GC中Stop the world(STW),并说出安全点

11.各垃圾回收器的特点及区别,怎么做选择?

13.G1和CMS的比较

14.CMS垃圾回收器存在的问题及解决方案(必考)

15.讲讲CMS垃圾回收器?讲讲G1垃圾回收器?(必考)

16.简述ZGC垃圾回收器(必考)

17.双亲委派模型

18.谈谈双亲委派模型的"破坏"

19.JDBC和双亲委派模型关系分析

20.JVM锁优化和锁膨胀过程(必考)

21.JVM中GC Root的选择标准是什么?相关JVM的调优参数有哪些?在工作中怎么调优的?

22.JVM性能监控有哪些?

23.一个4核8G的服务器,初步设置JVM参数,如何分配?(必考)

24.ClassLoader如何工作的?

25.对象的创建过程是什么样的?

26.Java管理内存、内存泄漏和泄漏的原因?(必考)

27.OOM说一下?怎么排查?哪些会导致OOM?(必考)

28.JVM虚拟机老年代什么情况下会发生gc,给你一个场景,一台4核8G的服务器,每隔两个小时就要出现一次老年代gc,现在有日志,怎么分析是哪里出了问题?

29.判定一个对象不可达要回收,举个实际例子来说明。有没有从代码层面去直接分析一下?

(三)MySQL相关面试问题整理

相关答案在这里逐步增加:MySQL相关问题整理(可用作高频面试题和查缺补漏)备注:针对基本问题做一些基本的总结,不是详细解答!1.事务的基本要素2.事务隔离级别(必考)3.如何解决事务的并发问题(脏读,幻读)(必考)4.MVCC多版本并发控制(必考)5.为什么选择B+树作为索引结构(必考)6.索引B+树的叶子节点都可以存哪些东西(必考)7.查询在什么时候不走(预期中的)索引(必考)8.sql如何优化9.explain是如何解析sql的...https://blog.csdn.net/xiaofeng10330111/article/details/105361002

1.现有一个IP地址,你觉得在数据库中以何种方式进行存储最好?性能分析对比字符串存储 vs 整数存储?为什么数据库通常推荐将IPv4地址存储为32位整数而不是字符串的原因

2.事务的基本要素(高频考点)

3.事务隔离级别(高频考点)

4.如何解决事务的并发问题(脏读、不可重复读和幻读)(高频考点)

5.脏读的表现和具体解决并发问题(必考)

6.不可重复读的表现和具体解决并发问题(高频考点)

7.幻读的表现和具体解决并发问题(高频考点)

8.简述MVCC多版本并发控制(高频考点)

9.从CRUD角度说一下InnoDB的MVCC实现机制

10.为什么选择B+树作为索引结构(高频考点)

11.为什么平衡二叉树(或红黑树)不适合作为索引?

12.总是谈及索引,那索引的目的是什么?

13.简单谈谈MYSQL Innodb索引的数据结构,并简述B+树的查找过程(高频考点)

14.说说索引使用注意事项与数据类型选择,或则说说MySQL常见索引

15.谈谈索引优化的思路(高频考点)

16.聚簇索引与非聚簇索引的区别?(高频考点)

17.InnoDB一棵B+树可以存放多少行数据?可否对InnoDB存储引擎B+树的树高进行推导

18.MyisAM索引与InnoDB索引相比较

19.查询在什么时候不走(预期中的)索引(高频考点)

20.SQL如何优化,给出思路(说出部分即可,一下也只是一些思路)

21.SQL执行顺序是什么样的?(高频考点)

22.explain是如何解析sql的

23.order by原理

24.InnoDB的行锁/表锁(高频考点)

25.说说行锁算法(记录锁+间隙锁+下一键锁)(高频考点)

26.myisam和innodb的区别,什么时候选择myisam

27.binlog\redolog\undolog都是什么,起什么作用?(高频考点)

28.数据库的乐观锁与悲观锁的区别是什么?乐观锁常用的两种实现方式是什么?

29.当前读和快照读

30.一条sql的执行过程?

31.数据库什么时候决定分库分表?怎么考虑的?

32.mysql 底层查询b+树流程(高频考点)

33.设置主键的时候为啥是按1递增的?有啥好处?

34.MySQL主从同步实现方式?有什么问题?如何解决?

35.什么是覆盖索引?如果查询主键id下覆盖索引还生效吗?(高频考点)

36.使用explain 查看数据已经使用了索引,但还是查询很慢,可能的原因是?

37.对于sql如下select a from T where b=23 and c>4 order by d,其如何建立索引可以使查询高效,如何验证?分析下(高频考点)

38.1000万的db数据分页怎么处理?

39.DB搜索引擎的组成是什么?原理是什么?

基本SQL练习

1.查询平均成绩大于等于85的所有学生信息

2.有两张表:订单表有订单号和产品id,产品表有产品id 和产品名称,设计SQL实现返回产品名称和每一项产品的总订单数

3.查询每个部门的员工数量和平均工资

4.查询每个部门的最高工资和最低工资

5.查询每个部门的员工数量和工资中位数

6.查询每个商品类别的销售数量和销售总额

7.查询每个商品类别的销售数量和销售总额,并按照销售总额从高到低排序

8.查询每个商品类别的销售数量和销售总额,并只显示销售总额排名前3的商品类别

(四)Redis相关面试问题整理

相关答案在这里逐步增加:Redis相关问题整理(可用作高频面试题和查缺补漏)_张彦峰ZYF的博客-CSDN博客备注:针对基本问题做一些基本的总结,不是详细解答!1.Redis在项目中的主要作用是是什么?怎么用的?(应用场景)2.Redis支持的数据类型(必考)3.zset跳表的数据结构(必考)4.Redis的数据过期策略(必考)5.Redis的LRU过期策略的具体实现6.如何解决Redis缓存雪崩,缓存穿透问题7.Redis的持久化机制(必考)8.Redis的管道pipel...https://blog.csdn.net/xiaofeng10330111/article/details/105360939

1.单线程的Redis为什么快?

2.Redis支持的数据类型(必考)

3.Redis和memcached的区别

4.Redis在项目中的主要作用是是什么?怎么用的?(必考)

5.Redis实现分布式锁的思路方案(必考)

6.分析基于Redis的限流器实现

7.Redis和DB数据一致性处理(必考)

8.Redis的数据过期策略分析(必考)

9.Redis的LRU过期策略的具体实现(必考)

10.分析Redis缓存雪崩问题以及解决方案(必考)

11.分析Redis缓存穿透问题和解决方案(必考)

12.Redis的持久化机制分析(必考)

13.分析下Redis的管道pipeline

14.Redis集群容错机制是什么样的?(必考)

15.Redis集群中某个master节点挂了,后面流程怎么判断?(必考)

16.高并发情况下,对于Redis的更新操作有哪些注意事项?

17.高并发下,先更新数据库,再删除缓存,存在啥问题,如何解决呢?

18.高并发情况下,先删除缓存,再更新数据库,这样会有啥问题,解决方案是?

19.zset跳表的数据结构分析(必考)

20.展开说说你了解的跳表

21.Redis使用跳表不用B+树的原因?

22.跳跃表和B+树结构上有啥区别

23.Redis的缓存优化方向有哪些?你们怎么理解的?对热点键的注意事项设计什么?

24.跳表(Skip List)三大问题举例

25.Zset底层的数据结构分析,如何体现的高效?(必考)

26.Redis 6.0以后的线程模型

27.Redis集群模式,节点怎么通信的?满足了CAP那两点?

28.Redis分布式锁实现上有啥问题缺陷?怎么解决?

29.如果是DB实现分布式锁的话,主要思路是?有啥问题?怎么解决?

30.Redis 分布式锁的问题缺以及优化思路

31.Redis 热点key 的问题和优化处理

32.Redis中有一批key瞬间过期,为什么其它key的读写效率会降低?

33.Redis的zset底层什么时候是hash,什么时候是跳表?

34.Redis 数据结构有哪些,底层实现都是什么?

35.Redis 热key 是什么,有什么问题,怎么发现,怎么解决?

36.Redis 中底层是跳表结构,那么插入和查询一个数的流程如何?如果是单位查询,流程又是如何实现的?

(五)Spring相关面试问题整理

相关答案在这里逐步增加:Spring相关高频面试题整理_张彦峰ZYF的博客-CSDN博客备注:针对基本问题做一些基本的总结,不是详细解答!1.Spring Boot与以前的Spring有什么区别?2.Spring Boot启动加载过程是什么样的?3.Spring的IOC/AOP的实现(必考)4.动态代理的实现方式(必考)是否使用过GCLB,和JDK的区别是什么?5.Spring如何解决循环依赖(三级缓存)(必考)6.Spring的@Transactional如...https://blog.csdn.net/xiaofeng10330111/article/details/105361028

1.Spring Boot与以前的Spring有什么区别?

2.Spring Boot启动加载过程是什么样的?

3.Spring的IOC/AOP的实现(必考)

4.动态代理的实现方式(必考)是否使用过CGLiB,和JDK的区别是什么?

5.何时使用JDK还是CGLiB?如何强制使用CGLIB实现AOP?

6.Spring在选择用JDK还是CGLiB的依据是什么?CGlib比JDK快?

7.Spring如何解决循环依赖(三级缓存)(必考)

8.Spring中解决循环依赖为什么要用三级缓存,二级为什么不行呢?

9.spring能解决那些循环依赖、不能解决那些循环依赖,为什么?

10.Spring注入bean的方式有哪些(列举下你使用过的注入Bean的方式)?

11.Spring的后置处理器分析

12.BeanFactory和ApplicationContext的联系和区别

13.说说你对spring事务的理解?

14.Spring的@Transactional如何实现的(必考)

15.Spring的事务传播级别

16.Spring的事务隔离级别

17.Spring的事务失效场景分析

18.Spring的事务失效原因分析(必考)

19.Spring Cloud Zuul网关的调优策略有哪些?怎么实现其高可用?Zuul和Gataway,你们项目中是怎么选择的?项目中对Zuul网关层的要求是什么样的?

20.Spring Cloud Eureka和Nacos对比?怎么做选择?Eureka中高可用是怎么做的?进行的调优有哪些?原理是什么?

21.Spring Cloud 中常用的注解有哪些?怎么用的?

22.Spring Cloud中的组件有哪些?具体说说?微服务架构中用到的关键技术有哪些?

23.Spring Cloud Config配置架构是什么样的?可视化怎么做的?设计的业务有哪些?

(五)网络协议与编程IO相关面试问题整理

相关答案在这里逐步增加:HTTP相关高频题整理_张彦峰ZYF的博客-CSDN博客备注:针对基本问题做一些基本的总结,不是详细解答!1.HTTP有哪些方法?返回状态码?2.三次握手过程?第三条丢了会怎样?有什么现象?3.HTTP报头格式?如何解析HTTP报头?4.TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl?...https://blog.csdn.net/xiaofeng10330111/article/details/105361059

1.TCP三次握手过程?第三条丢了会怎样?有什么现象?(高频考点)

2.TCP连接中的四次挥手?四次挥手的最后一个ack的作用是什么?为什么要time wait,为什么是2msl?(高频考点)

3.HTTP有哪些方法?返回状态码?

HTTP方法与描述:

HTTP状态码与描述:

4.GET方法与POST方法的区别

5.HTTP报头格式是什么样的?实际中如何解析HTTP报头呢?

6.URI和URL的区别

URI(统一资源标识符)

URL(统一资源定位符)

区别:

7.浏览器发生302跳转背后的逻辑?(高频考点)

8.简单说一下HTTP协议的交互流程?(高频考点)

9.HTTP和HTTPS的差异?(高频考点)

10.SSL/TLS的交互流程?

11.Rest和Http什么关系? 大家都说Rest很轻量,你对Rest风格如何理解?(高频考点)

12.TCP的滑动窗口协议有什么用?讲讲原理。(高频考点)

13.说一下HTTP的断点续传?解决方法是?

14.说说http协议的多线程下载原理以及实现步骤?有啥优势?

15.什么是长连接和短链接?举例说明(高频考点)

长连接(Keep-Alive)

短连接

16.cookie和session解决什么问题,相同点和不同点?(高频考点)

17.了解session集群解决方案,通用解决方案?(高频考点)

18.HTTP的安全校验主要有几种?可以说说?(高频考点)

19.epoll、select、poll原理

20.基于BIO实现的Server端,当建立了100个连接时,会有多少个线程?如果基于NIO,又会是多少个线程? 为什么?

21.通常来说基于NIO实现的Server端,会用多少个线程去处理IO事件,为什么?

(六)设计模式相关面试问题整理

1.MyBatis设计模式应用分析MyBatis设计模式应用分析_张彦峰ZYF的博客-CSDN博客对MyBatis中应用的一些设计模式的整体分析,主要从三方面进行展开分析:创建型设计模式+结构型设计模式+行为型设计模式,每一种都提炼源码进行对应的分析详解https://zyfcodes.blog.csdn.net/article/details/85330132

2.单例模式使用分析单例模式的使用总结_单例模式使用_张彦峰ZYF的博客-CSDN博客单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。实现方式介绍分析:饿汉式单例模式+懒汉式单例模式(双重检查锁)+静态内部类实现单例模式+注册式单例模式https://zyfcodes.blog.csdn.net/article/details/105652399

3.代理模式使用分析代理模式的使用总结_张彦峰ZYF的博客-CSDN博客目录一、代理模式二、静态代理(一)静态代理(二)静态代理简单实现三、动态代理(一)动态代理(二)动态代理简单实现四、动态代理原理分析五、InvocationHandler接口和Proxy类详解六、JDK动态代理和CGLIB动态代理代码示例比较与总结(一)定义创建用户管理接口(二)用户管理实现类,实现用户管理接口(被代理的实现类)(三)采用JDK代...https://zyfcodes.blog.csdn.net/article/details/105633821

4.装饰器模式使用分析装饰器模式的使用总结_装饰器模式实际运用_张彦峰ZYF的博客-CSDN博客一、装饰器模式的概念及怎么用?1.基本概念和功能:装饰器模式能够实现从一个对象的外部来给对象添加功能,有非常灵活的扩展性,可以在对原来的代码毫无修改的前提下,为对象添加新功能。除此之外,装饰器模式还能够实现对象的动态组合,借此我们可以很灵活地给动态组合的对象,匹配所需要的功能。2.举例分析:假设现在有这样一个需求,让你设计一个装修功能,用户可以动态选择不同的装修功能来装饰自己的房子...https://zyfcodes.blog.csdn.net/article/details/105608235

5.模板模式使用分析模版模式的应用实际举例_模板模式应用场景实例_张彦峰ZYF的博客-CSDN博客模版模式应该是工作中最常用的设计模式之一,直白的讲就是如果的一些处理方式是有一定的模版流程处理的,那么在应用中使用该模式在合适不过了。对于其基本的业务应用,我简单写了以下三个基本的通用模版(业务失败重试机制、业务前置检查流程模版、Thrift远程调用处理模版)来展示,有问题的可以留言纠正,谢谢!https://zyfcodes.blog.csdn.net/article/details/123619576

6.工厂模式和策略模式的综合使用分析工厂模式和策略模式的综合使用_工厂模式和策略模式结合_张彦峰ZYF的博客-CSDN博客一、简单的工厂模式了解与使用二、简单的策略模式了解与使用三、工厂模式和策略模式的综合使用https://zyfcodes.blog.csdn.net/article/details/106943391

7.状态模式的使用分析状态模式的使用总结_张彦峰ZYF的博客-CSDN博客状态模式基本介绍与应用分析介绍,同时对于Spring-statemachine状态机框架给出了应用,最后介绍在外卖营销业务中的具体案例分析https://zyfcodes.blog.csdn.net/article/details/106080007

8.责任链模式(以及变种管道模式)使用分析责任链模式(以及变种管道模式)的应用案例_管道模式和责任链模式_张彦峰ZYF的博客-CSDN博客责任链在实际开发中的应用还是比较多的,特别是在营销订购系统、审核流转换处理、任务流程处理系统等系统中,其实我们在开发中往往主要应用的主要无非是以下三个场景(起码以我的平时开发的角度来看):一是无需太关心责任链中各处理流的顺序的简单使用;二是需要关注处理顺序,按责任链条延续处理,每个处理节点均可对请求进行节点的处理, 或将其传递给链上的下个处理节点;三是在处理中和纯的责任链模式在链上只会有一个处理器用于处理业务数据存在差异,需要进行管道模式采用多个处理器都会处理业务数据。针对以上场景进行业务举例和代码书写https://zyfcodes.blog.csdn.net/article/details/123956717

(七)消息中间件相关面试问题整理

相关答案在这里逐步增加:消息中间件相关高频面题整理_张彦峰ZYF的博客-CSDN博客备注:针对基本问题做一些基本的总结,不是详细解答!1.用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?2.MQ系统的数据如何保证不丢失?...https://blog.csdn.net/xiaofeng10330111/article/details/105361083

1.用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?

2.消息中间件的组成有哪些?

3.消息中间件模式分类有哪些?(必考)

4.分析消息中间件的普遍优势(必考)

5.消息中间件常用协议分析

6.消息队列应用场景分析(必考)

7.Kafka数据如何保证不丢失?(必考)

8.Kafka如何保证消息按顺序执行?(必考)

9.Kafka如何保证消息不重复消费?(必考)

10.Kafka如何保证消息队列的高可用?(必考)

11.Kafka 如何保证可靠性?(必考)

12.Kafka的文件存储机制

13.Kafka消息是采用Pull模式,还是Push模式?(必考)

14.Kafka是如何实现高吞吐率的?

15.Kafka判断一个节点还活着的两个条件?

16.Kafka采用的拉取模式还是推送模式?两者有啥区别?

17.如果流量突增导致MQ积压过高,该如何处理?

18. Kafka 什么情况下数据丢失?

19.Netty和kafka都是用了零拷贝,那么零拷贝究竟是怎么实现的?底层原理是?

20.导致MQ积压的原因有哪些?怎么应对?

(八)业务系统及其他相关面试问题整理

相关答案在这里逐步增加:业务系统及其他相关面试问题整理备注:针对基本问题做一些基本的总结,不是详细解答!1.遇到线上相关问题怎么排查?2.高并发系统的限流如何实现?3.高并发秒杀系统的设计?4.负载均衡如何设计?5.假如双十一等一些促销有高并发访问量要来访问我们的数据,怎么样做到可靠的服务?6.一个黑名单集合,数据量很大,快速查询一个值是否在集合里,怎么设计,布隆过滤器。7.常见的设计模式及应用场景。...https://blog.csdn.net/xiaofeng10330111/article/details/105361100

1.遇到线上相关问题怎么排查?

2.高并发系统的限流如何实现?

3.高并发秒杀系统的设计?

4.秒杀并发情况下库存为负数问题分析

5.实现一套负载均衡架构,如何思考设计?考虑哪些主要内容呢?

6.假如双十一等一些促销有高并发访问量要来访问我们的数据,怎么样做到可靠的服务?

7.一个黑名单集合,数据量很大,快速查询一个值是否在集合里,怎么设计?

8.一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出。

9.设计题:钱包领券的架构设计。

10.春节红包的架构设计和容量设计

11.设计一个多级分类的表,然后组装数据返给前端

12.业务设计一个订单下单的流程,需要考虑哪些问题和使用哪些技术?如果有状态流转的话如何保证其有序性?

13.设计题:设计一种聊天模式,在该模式下用户A给用户B发送消息,在B没有回复消息前,A最多可以发送三条消息。实现思路是?具体实现是?

14.定时任务部署在多个服务器会重复执行,一般任务执行一次即可,如何设计保证可用性分析?

15.负载均衡的意义是?如何实现负载均衡呢?有哪些算法呢?4层负载均衡和7层负载均衡的区别是?

16.系统服务的幂等性实现分析?

17.怎么表达滑动窗口限流?

18.查询接口调优,不能用缓存,要求实时性,怎么调优?

19.现在用户要查询一张表,当流控降级时,兜底方案应该是怎么样的?

20.用户下订单,订单按什么字段分表?分表之后,如果想按照某个时间段查询指定时间段内的所有用户的订单怎么办?

21.给定一个内存区域用来停车,车可能有货车、轿车等,如何高效分配和设计?有哪些最优思考点?反思到程序的内存分配上,如何高效分配和管理内存呢?

22.给一个接口,入参是账户信息,出参是账户余额,问怎么设计接口?

23.学生选课系统做表设计分析,只聚焦在学生选课这个场景,最好说出表之间的关系分析

24.微博、微信朋友圈、头条的资讯推荐、快手抖音的视频推荐等,比如一条朋友圈状态、一条微博、一条咨询或一条短视频等发布,对应用户可以实时看到呢?

25.什么是读扩散与写扩散?有啥优缺点?

26.实现微信二维码扫码PC登录设计?

27.微信客户端之间怎么保持的连接?服务器怎么知道其在不在线?

28.连接池设计分析,从技术难点和实现上分析

29.熔断器设计思路,具体说明实现难点和注意事项

30.如何设计一个订单系统?

31.数据库设计题:要求设计一个合理的数据库模型,考虑数据库结构、索引设计、数据分片、读写分离、数据同步等问题。

32.分布式系统设计题:要求设计一个分布式系统,包括分布式任务调度、分布式锁、分布式ID生成等。

33.缓存设计题:要求设计一个高效的缓存系统,考虑缓存策略、缓存一致性、缓存穿透、缓存雪崩等问题。

34.基础架构设计题:要求设计一个稳定高效的基础架构,如负载均衡、高可用集群、服务发现与治理等。

35.微服务架构设计题:要求设计一个微服务架构,包括服务拆分、服务注册与发现、服务调用等。

36.数据结构与算法设计题:要求设计一个高效的算法,如排序算法、查找算法、图算法等。

37.项目中限流怎么做的?漏桶和令牌桶原理,使用的什么数据结构?并发下队列是否有性能问题?

38.Rpc和消息队列的优缺点,使用场景

39.如何设计rpc框架?你认为其相比其他框架的优点是什么?

40.一般讨论一个系统或服务的技术难点主要从哪些方面分析?

41.做一个商品敏感词系统所面临的技术难点和解决方案有哪些呢?

42.在设计一个接口的时候,我们重点关注的点有哪些?

43.服务器的请求转发了解吗?具体讲讲

44.微博评论数可能不准确,如何解决这个问题,因为一般都千人千面的那个人看到的都不一样

45.布隆过滤器为啥会误判,举例说明?

46.cpu 飘高的原因分析?生产环境中如何应对?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1960754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

韦东山瑞士军刀项目自学之分析部分GPIO_HAL库函数代码

GPIO_HAL部分库函数分析 主要是分析了宏定义,这些宏定义可以被写入到对应的寄存器之中,从引脚到GPIO组再到模式速度等等,每一个参数都对应着寄存器的一位或几位。以后自己还是根据库函数来开发吧,太麻烦了。

《浅谈如何培养树立正确的人工智能伦理观念》

目录 摘要: 一、引言 二、《机械公敌》的情节与主题概述 三、人工智能伦理与法律问题分析 1.伦理挑战 2.法律问题 四、培养正确的人工智能伦理观念的重要性 五、培养正确的人工智能伦理观念的途径与方法 1.加强教育与宣传 2.制定明确的伦理准则和规范 3.…

Java学习Day16:基础篇6

1.静态和非静态 2.调用静态和非静态的过程 注:在Java中,同类中,确实可以使用类的对象来调用静态方法,尽管这不是推荐的做法。静态方法属于类本身,而不是类的任何特定实例。因此,理论上讲,你应该…

分隔链表(LeetCode)

题目 给你一个链表的头节点 和一个特定值 ,请你对链表进行分隔,使得所有 小于 的节点都出现在 大于或等于 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例1: 输入:, 输出: 示例2&a…

七言-绝美崇州

题记 今天,2024年07月30日,在看到《今日崇州》 发布的航拍风光照片之后,这才方知笔者虽已寄居崇州“西川第一天”街子古镇养老逾五年,竟然不知崇州拥有如此之多的青山绿水,集生态、宜居、智慧、文化、旅游丰富资源于一…

python if语句如何结束

python if语句如何结束&#xff1f;下面给大家介绍两种终止方法&#xff1a; break 用于提前终止循环&#xff1b; num 1 while num < 100:if num > 10:breakprint(num)num 2 print("结束") 结果如下&#xff1a; 1 3 5 7 9 结束 continue 用于跳出当前循…

为 Oh My Zsh 安装 Powerlevel10k 主题

继上一章 安装Zsh 与 oh my zsh 打开终端&#xff0c;运行以下命令&#xff0c;从 GitHub 上克隆 Powerlevel10k 代码库&#xff0c;并将文件放到 Oh My Zsh 的配置文件夹中 git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k 用文本…

海外短剧平台部署与快速搭建实战指南

目录 一、海外短剧系统是什么 二、搭教程 技术选型 开发前端和后端 三、部分代码展示 随着网络覆盖的广泛扩展与全球化趋势的日益加深&#xff0c;构建面向海外的短视频剧集平台已演变为企业进军国际舞台、拓宽市场边界的关键策略。海外短剧系统不仅承载着将精心制作的短剧…

moment.js时间格式化插件使用

moment.js插件常用api备忘 moment.js插件功能远不不仅仅是在格式化日期上&#xff0c;还是有很多很好用奇淫技巧&#xff0c;使用起来也是更加方便&#xff0c;主要在vue项目中使用偏多&#xff0c;&#xff0c;但是有时候也不是总使用&#xff0c;将一些项目中可能会用&#x…

国内民营企业「数字化转型」典型案例

一、企业简介 三一集团成立于1989年&#xff0c;现有3家上市公司&#xff08;三一重工、三一国际、三一重能&#xff09;&#xff0c;公司总资产超2000亿元&#xff0c;在国内12个省市设有生产基地&#xff0c;在海外建有印度、美国、德国、巴西四大研发制造基地&#xff0c;业…

【国产化信创平台】麒麟银河V10系统虚拟机创建

目录 一、麒麟V10系统镜像下载 二、虚拟机创建流程 三、麒麟银河系统安装流程 一、麒麟V10系统镜像下载 https://www.kylinos.cn/# 官方访问还是会有问题&#xff0c;如果有需要麒麟银河Kylin系统V10的镜像文件&#xff0c;可以留下邮箱或者私信博主获取。 二、虚拟机创…

【LeetCode】16. 最接近的三数之和

三数之和这道题被反复考到&#xff0c;但是我一次都没给写出来&#xff0c;真是汗颜&#xff01;本题是三数之和的一道变形题&#xff0c;也是一道好题&#xff01;本题有两个关键点&#xff1a;其一&#xff0c;双指针是怎么个用法&#xff1f;在本题中是怎么实现的&#xff1…

智慧的拼图:聚类分析的启示

文章目录 聚类分析简介K-means聚类什么是K-means聚类&#xff1f;K-means聚类的步骤K-means聚类的特点K-means聚类实例 层次聚类什么是层次聚类&#xff1f;层次聚类的类型层次聚类的步骤层次聚类的特点层次聚类实例 K-means与层次聚类对比相同点不同点 结论补充 聚类分析是数据…

【永洪BI】1.添加数据源

目录 一、添加文本数据源&#xff08;EXCEL&TEXT&#xff09; 二、添加Mysql数据源 一、添加文本数据源&#xff08;EXCEL&TEXT&#xff09; 略 二、添加Mysql数据源 1.添加Mysql驱动 2.问题&#xff1a; 问题① 原因&#xff1a; Jar文件上传校验&#xff0c;只允…

类静态方法将python 中把不同脚本融合为一个大脚本 互不影响的方法!首发 以便于维护和扩展。

一般遇见想要方便管理或者集合的大脚本 我们管理很麻烦 用这个方法 无论是什么方面的脚本 都能放在一个大脚本中运行 互不干扰。 将所有功能整合到一个单一的脚本中&#xff0c;而不再依赖外部的.py文件&#xff0c;你可以将rendering.py和sercurity.py中的函数代码直接复制到…

centos7 安装minio

文章目录 下载 Minio 二进制文件配置 Minio将Minio设置成服务 配置Systemd服务启动创建minio变量文件&#xff1a;/etc/default/minio创建Service File&#xff1a;/etc/systemd/system/minio.service设置开启自启动 Nginx反向代理nginx配置 下载 Minio 二进制文件 cd /usr/lo…

VLM系列文章6-Cambrian-1

以视觉为中心的多模态大模型Cambrian-1&#xff0c;主要考虑的是MLLM中视觉模型的影响。 1、评估 LLM 还是 MLLM&#xff1f;&#xff1a;我们在使用 23 种不同的视觉主干训练的 MLLM 中比较了视觉禁用和视觉启用设置之间的性能。我们的研究结果表明&#xff0c;MMMU 和 AI2D 等…

有没有视频ai换脸的软件?

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 发现大家对AI换脸都非常感兴趣&#xff0c;AI换脸一般的步骤是&#xff1a;上传自己的照片→选择不同的风格→制作出被替换的GIF图或视…

安卓修改logo与开机动画后不显示问题解决

问题描述 替换安卓logo与开机动画bootanimation.zip画面是花的或黑的 修复步骤 手动替换安卓framework中的开机logo后显示异常排查 在电脑上打开logo图片, 查看分辨率, 再adb shell wm size查看设备的分辨率,要求二者一致.电脑上右键点击logo图片,查看属性,要确保它的位深度…

数据结构与算法 - 二分查找

一、二分查找 二分查找算法也称折半查找&#xff0c;是一种非常高效的工作于有序数组的查找算法。 时间复杂度 最坏情况&#xff1a;O(log n)最好情况&#xff1a;如果待查找元素恰好在数组中央&#xff0c;只需要循环一次O(1&#xff09; 空间复杂度 递归->O(log n)&a…