最近面试遇到的高频面试题

大家好,我是 jonssonyan

互联网寒冬?金九银十真的不存在了么?虽说现在行情是差了一些,面试机会少了一些,但是大部分公司还是或多或少的招人,春招秋招都在进行。有人离职就有人入职。所以如果你还没约到面试,不要灰心,多投多面,自然而然面试的感觉也就有了。

这篇文章再和大家分享一些我最近面试遇到的面试题,我面试的是 Java 开发岗,1-5 年工作经验,希望对大家有帮助,也希望大家可以找到自己满意的工作。

  1. 一条 SQL 语句的执行过程
  • 连接器: 身份认证和权限相关(登录 MySQL 的时候)。
  • 查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。
  • 分析器: 没有命中缓存的话,SQL 语句就会经过分析器,分析器说白了就是要先看你的 SQL 语句要干嘛,再检查你的 SQL 语句语法是否正确。
  • 优化器: 按照 MySQL 认为最优的方案去执行。执行器: 执行语句,然后从存储引擎返回数据
  1. 线程池的执行过程
  • 如果当前运行的线程数小于核心线程数,那么就会新建一个线程来执行任务。
  • 如果当前运行的线程数等于或大于核心线程数,但是小于最大线程数,那么就把该任务放入到任务队列里等待执行。
  • 如果向任务队列投放任务失败(任务队列已经满了),但是当前运行的线程数是小于最大线程数的,就新建一个线程来执行任务。
  • 如果当前运行的线程数已经等同于最大线程数了,新建线程将会使当前运行的线程超出最大线程数,那么当前任务会被拒绝,饱和策略会调用 RejectedExecutionHandler.rejectedExecution()方法。
  1. Spring 中 Bean 的生命周期

最近面试遇到的高频面试题_第1张图片

  1. Java 中锁升级的过程

https://segmentfault.com/a/1190000022904663

  1. synchronized 关键字的使用方式
  • synchronized 关键字加到 static 静态方法和 synchronized(class) 代码块上都是是给 Class 类上锁
  • synchronized 关键字加到实例方法上是给对象实例上锁
  • 尽量不要使用 synchronized(String a) 因为 JVM 中,字符串常量池具有缓存功能
  1. Java 内存模型

https://javaguide.cn/java/concurrent/jmm.html

  1. Redis 中缓存击穿、雪崩、穿透,以及对应的解决方案

https://pdai.tech/md/db/nosql-redis/db-redis-x-cache.html

  1. 限流算法有哪些

https://javaguide.cn/high-availability/limit-request.html

  1. Spring AOP 应用场景

https://juejin.cn/post/7174708698504233017

  1. 分布式锁

https://pdai.tech/md/arch/arch-z-lock.html

  1. 分布式中的 CAP 理论

CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。、

https://baike.baidu.com/item/CAP%E5%8E%9F%E5%88%99/5712863

以上就是我最近面试总结的一些常见面试题,被问到的频率还是很高的,希望对大家有帮助,我是 jonssonyan,我们下期再见。

你可能感兴趣的:(编程指南,面试,职场和发展)