面试题汇总-【持续更新】

目录

Java 基础

数据结构与算法

计算机网络

操作系统

数据库


Java 基础篇

  • 类和对象的区别?

  • 讲讲 static 关键字和 final 关键字

  • synchronized 关键字是怎么用的?底层实现有了解吗?还有用过其他的锁吗?

  • BIO、NIO、AIO 区别有哪些?项目中有用到吗?Netty 了解吗?

  • 接口和抽象类的区别?什么时候用接口,什么时候用抽象类?接口可以继承接口吗?

  • HashMap 和 HashTable 的区别是什么?

  • ConcurrentHashMapHashMap的区别是什么?ConcurrentHashMap为什么线程安全?

  • HashMap 和 HashSet 的区别?HashSet 是如何检查重复的?

  • Java 中线程的状态?join()、yield()方法是干什么?

  • Object 类下有哪些方法?

  • 字符串"123"转换成整型123API是什么?整型123转换成字符串“123”的 API 又是什么?

  • 创建线程有几种方式?分别是怎么做的?

  • 线程池用过吗?如何创建一个线程池?其中各个参数的含义是什么?为什么要用线程池?coreSize?

  • synchronized、ReentrantLock 区别?

  • CountDownLatch 和 Semaphore 用过吗?他们的区别是什么?CountDownLatch 应用场景?比如现在要让第 5 个线程等待前 4 个线程执行完毕再执行,具体怎么做?

  • 使用 synchronized 来实现单缓冲区的生产者消费者模型?

  • JVM 有了解吗?JVM 中参数–Xms-Xmx是什么意思?

  • 设计模式有了解过哪些?单例设计模式知道哪几种写法?策略设计模式了解吗?你在项目中用到了哪些设计模式?

  • Spring 中依赖注入有几种方式?怎么做的?

  • Spring 框架中有哪些组件了解吗?分别做什么的?

  • SpringMVC 的这种 MVC 模式了解吗?他的工作原理是什么?用到了哪些设计模式?(基本每轮面试都被问到)

  • SpringMVC 中要接受用户传来的参数要怎么做?REST 的风格呢?

  • Spring 中 bean 的创建过程了解吗?

  • SpringBoot 和 SpringMVC 的区别和联系是什么?了解 SpringBoot 的启动流程吗?SpringBoot 自动配置是如何实现的?

数据结构与算法篇

  • B 树和 B+树的区别

  • 你了解哪些排序算法?算法的思想、时间复杂度、空间复杂度?

  • LeetCode 第 1 题及第 15 题:两数之和及三数之和问题

计算机网络篇

  • TCP 三次握手、四次挥手流程?为什么三次,为什么四次?

  • TCP 和 UDP 区别,有 TCP 为什么还要有 UDP?

  • TCP 粘包和拆包问题有了解吗?

  • TCP 是怎样保持连接的?

操作系统篇

  • 并发编程中死锁有了解吗?死锁产生的条件是什么?你在项目中是怎样解除避免和解除死锁的?

  • 进程的都有哪些状态?怎么转换的?

  • Linux 下文件的操作命令

数据库篇

  • 数据库范式了解吗?在你的项目中怎么运用的?会出现什么问题?

  • 数据库索引了解吗?MySQL 中索引底层是怎么实现的?

  • MySQL 中存储引擎 InnoDB 和 MyISAM 有什么区别?分别用于什么场景?

  • 数据库事务有了解吗?事务的隔离级别?你在项目中使用的隔离级别是什么?

  • SQL 优化有什么思路?

  • 项目中使用到外键了吗?外键作用?使用外键要注意些什么问题?

  • 除了 MySQL 数据库你还用到哪些数据库?Redis 数据库和 MySQL 数据库的区别?

  • 设计一个数据库表

 

发布了67 篇原创文章 · 获赞 106 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/m0_37676429/article/details/104389258