步步高 一面(50分钟) 介绍一下项目 项目是视频还是通过什么途径学习的? 你认为项目中复杂的点是什么? Redis的使用场景? Redis的高并发是依靠什么去保证的? ThreadLocal 用在哪,为什么选择 ThreadLocal呢? 项目上线了嘛?部署在哪里?怎么部署的? 注解实现缓存和日志统一处理是怎么做的? SpringBoot分哪些模块? 项目中的分页是怎么实现的? 项目中都有哪些sql表说一下吧? 消息队列MQ用过吗?说一下?- 分布式锁这块有用到吗?- 说一下常用的一些集合? 说一下 HashSet的原理? 说一下 HashSet 与 HashMap的区别? 线程安全的集合类有哪些? 锁重入了解过嘛?那些锁支持锁重入? 说一下锁升级的过程? 数据库中的锁有哪些? Java8 的新特性 Stream 流、Lambda 表达式说一下? TCP和HTTP 协议之间的关系,有什么区别? TCP/IP 参考模型,每层都是封装的什么? TCP是可靠的嘛?那么UDP呢? TCP如何保证我们的可靠传输的? 说一下TCP中拥塞控制的一个过程? Linux查看ip地址的命令? 说一下聚簇索引和非聚簇的区别? 事务的隔离级别和每个级别所产生的问题? 实际开发中最常使用的隔离界别 创建线程的方式?说一下? 讲一下同步和异步的区别? 说一下项目中Nginx的作用? 说一下JMM吧 说一下常见的垃圾回收算法吧? JMM的三个特性是哪三个? 如何保证原子性,volatile的作用呢? ThreadLocal和synchronized的区别 Redis的rdb和aof说一下吧,区别呢? 为什么fork一个子进程呢? Redis有持久化为什么还要用MySQL呢? MySQL数据也会有丢失的情况呀?是如何保证的呢? 单节点和集群的区别,集群解决了什么问题? 主从复制解决了什么问题? Redis集群的原理 MySQL为什么要采用读写分离呢? 除了MySQL、Redis外还了解过其他数据库嘛? 用过Docker嘛? 使用Docker部署的好处是什么?相比原始部署? 最近看了哪些书呢? 反问 二面(25分钟) Redis为什么快? 线程的创建方式? 怎么在Linux服务器上部署项目? 使用过Docker嘛? Docker与Linux相比为什么性能更好? 如何进行sql优化?你自己实践哪些手段? 我们MySQL读写压力很大,怎么解决? 说一下TCP三次握手、四次挥手? MQ是什么? 项目是怎么做的?实习项目还是自己做的? 如何设计秒杀系统 实际开发中如何解决高并发的问题?你知道哪些手段?实践过哪些手段? 校园的实践经历 为什么来参加春招,是没offer吗? 手里有几个offer ? 以后的发展方向是走技术管理,还是架构方向? 说一下在你眼里技术管理和技术架构的区别? 如果领导让你3天完成一个任务,但是你4天才能完成 谈一下你对加班的看法? 你将来计划打算学到什么,提升Java哪方面技能? 反问 三面(HR面,20分钟) 为什么会有写博客的习惯呢,出发点是什么? 这个博客是有粉丝的吗?你有多少粉丝呢? 大学校园经历中有意义的一些事情? 大学当中跟室友的关系怎么样? 为什么没有参加秋招呢? 找工作跟考研之间是怎么权衡的呢? 讲一下在自己的个人项目中学到了什么呢? 大学期间有没有低谷期间 手里有其他的公司的offer吗? offer是哪家公司的? 期望薪资是多少,年薪呢? 反问 四面(终面,7分钟) 一个非常让人讨厌的领导,说话阴阳怪气的,开头第一句话就是你的成绩不咋地啊(无挂科平均成绩在80+)。 ...
📕 阅读
生命不息,阅读不止…
行云集团 自我介绍 实习用到的技术栈和编程语言是什么? (实习是学校很水的5G通信实习,压根不沾边,随便就过了) Java是什么时候开始接触和学习的? 学习数据结构的时候,对于Map这种数据结构,它的底层是怎么实现的或者有什么特征? ...
中税汇金 1.你的redis怎么和mysql同步数据的?(我已经忘了我当时做的那个收藏功能同步没有同步,问下xdm这样的收藏功能一般是怎么做的) 2.你的项目中有MinIO,是什么? ...
字节大数据基础架构部门 字节面经 一面 2.17 自我介绍 接口和抽象类的区别 了解过啥设计模式 单例模式是啥 工厂模式的作用,为什么要用工厂模式? 解耦, 把对象的创建和使用的过程分开(就是Class A 想调用Class B,那么只是调用B的方法,而至于B的实例化,就交给工厂类) 建造者模式的实现方式 在设计模式中你使用抽象类还是接口比较多 了解哪些Java锁 死锁的必要条件 Mysql索引了解吗(那时候不会就直接说不会了) MySql事务隔离级别 说一下你用过的Java框架 (说了Spring 的 ioc/aop 还没说aop就下一问了) 项目中如何使用git和maven的 代码题: 写一个快排 1. 快排是否稳定 2. 什么情况下会退化 3. 如何优化 4. 时间复杂度 写一个二分查找 1. 复杂度 代码题写的太快了, 然后他说时间还没到在问几个问题 了解分布式吗(NO) 说一下Java基础类型 为什么int是2的31次方 了解Docker吗(NO) 什么是Java同步和异步 反问: 1. 部门的业务 2. 对我的评价 ...
美团 一面 挖项目,问的太多了,这里就不一一列举了,大部分是某个功能是怎么实现的或者如果要加某个功能应该怎么实现。 进程线程区别。 死锁,死锁条件。 知不知道中断和轮询的区别。 数据库索引,讨论了一下B+树能存多少数据。 数据库存储引擎知道哪些,有什么区别。 数据库锁。 算法题:起始点到终点最短路径。 二面 问项目。 什么是序列化反序列化。 负载均衡,知道哪些负载均衡 。 什么时候会OOM,服务OOM怎么办,如何排查。 Spring 启动流程。 Spring 设计模式。 对于模版模式的理解,应用场景,你在项目中是怎么使用的。 HTTP 请求过程 。 TCP 和 UDP 区别。 Linux知道哪些命令。 设置索引有什么注意的地方。 最近看了哪些书,有什么收获。 算法题:合并有序数组 O(N)时间 O(1)空间。 数据库设计:只能以半小时为单位订会议室。 ...
念神面经篇 Java基础篇 JDK & JVM & JRE的区别 包装类型的常量池技术 接口和抽象类的区别 String、StringBuffer、StringBuilder的区别 泛型擦除的原理 反射的应用场景 异常的类型,具体的例子有哪些 说说常用的容器和各自的特点 ArrayList的扩容机制 HashMap源码实现 ConcurrentHashMap的底层实现 Lambda表达式有什么好处,什么坏处,应用场景有哪些 Java并发篇 为什么要使用多线程,有什么好处,举例具体场景 线程的生命周期以及每个周期进入和结束的标志 避免死锁的三个必要条件 简述哲学家进餐问题和银行家算法 为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法? 场景题:如何实现一个实时排序的游戏战力榜单 场景题:如何实现一个竞技场挑战功能,考虑高并发 volatile的用法 synchronized和ReentrantLock的区别 乐观锁和悲观锁的底层实现 不加锁如何保证线程安全 synchronized是可重入锁么 使用了vector就一定能保证线程安全吗 多线程的实现方式 场景题:高并发的情况下保证数据的一致性怎么做到 场景题:有10个线程分别对 i = 0 做10次自增操作,最后 i 的值会是多少,为什么 ThreadLocal的原理 场景题:在生产者消费者问题中怎么保证当消费者用完产品后生产者会马上得知,不能使用while循环去解决 Java的线程池类型有哪些 Java线程池的参数以及其具体意义 线程池的拒绝策略 JVM篇 JVM的基本结构 双亲委派模型的好处 运行时数据区的基本结构,各种结构都有什么用途 垃圾回收策略 垃圾回收器都有哪些 如何判断一个类是无用的类 查看运行内存,JVM状态有什么方法 G1回收器与之前的回收器相比最大的不同是什么 类加载的过程是什么,每个过程具体做到了什么事 JVM的常用参数有哪些 JVM调优常用的手段是什么 Spring篇 Spring的特性和优势是什么 Spring有哪些组件 场景题:如果实现一个你自己的Spring框架需要考虑那些方面,简单聊聊 Spring MVC底层实现原理 IOC 和 AOP 具体介绍一下 Spring Bean是什么 IOC 和 DI 是什么关系 IOC 配置的三种方式 依赖注入的三种方式 为什么推荐构造器注入方式? 场景题:在使用构造器注入方式时注入了太多的类导致Bad Smell怎么办 AspectJ注解方式接触过吗,具体说说有什么特点和不足 Spring为何不能解决非单例属性之外的循环依赖? Spring中Bean的生命周期介绍一下 场景题:自定义一个你自己的starter怎么实现(开共享屏幕实现) MyBatis篇 接口层和数据库交互的方式有哪些 简述MyBatis的层次结构 sqlSessionFactory 与 SqlSession介绍一下 Excutor的概念 动态SQL有哪些,都有什么用途 为什么要使用连接池 $ 和 # 的区别 计算机网络篇 OSI和TCP/IP介绍一下 HTTP和HTTPS的区别 HTTPS的加密手段是什么 三次握手的过程以及每一次起到了什么作用 四次挥手的过程以及每一次起到了什么作用 TCP协议中的流量控制起到什么作用 介绍一下ARQ协议 从输入URL到页面加载发生了什么 HTTP 如何保存用户状态 Cookie 的作用是什么 Cookie 和 Session 有什么区别 HTTP状态码有哪些 数据库篇 数据库设计通常分为哪几步 MySQL的分页怎么做的 MyISAM和InnoDB的区别 MySQL日志都有什么,分别有什么作用 读锁和写锁实现的底层原理 表级锁和行级锁的实现原理 事务的特性 并发事务带来的问题有哪些 事务隔离级别有哪些 场景题:MySQL对于千万级的数据库或者大表怎么处理 MVCC解决什么问题 索引有什么作用 索引的底层数据结构 为什么InnoDB使用B+树作为索引的数据结构 索引有哪些种类 为什么会出现回表查询,怎么避免 解释一下最左前缀法则 覆盖索引是什么意思 MySQL读写分离方案 MySQL主从复制是什么意思 MySQL主从的延迟怎么解决 Redis篇 为什么Redis 是单线程的 Redis 一般有哪些使用场景 Redis 有哪些数据类型,每一种都有什么实际应用 sds存在的意义 为什么会设计Redis Stream Redis Stream消费者崩溃带来的会不会消息丢失问题 Redis Steam 坏消息问题,死信问题 Redis 的持久化机制是什么 AOF是写前日志还是写后日志 Redis 过期键的删除策略有哪些 Redis 内存淘汰算法有哪些 Redis如何做内存优化 Redis事务相关命令 Redis事务中出现错误的处理 为什么 Redis 不支持回滚 Redis缓存有哪些问题,如何解决 Redis6.0之前为什么一致不用多线程
百度Java中级面试 Spring BeanFactory 和 ApplicationContext 有什么区别 1、BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义, 以便在接收到客户端请求时将对应的 bean 实例化。 ...
京东Java中级面试 1、哪些情况下的对象会被垃圾回收机制处理掉? 利用可达性分析算法,虚拟机会将一些对象定义为 GC Roots,从 GC Roots 出发沿着引用链 向下寻找,如果某个对象不能通过 GC Roots 寻找到,虚拟机就认为该对象可以被回收掉。 ...
蚂蚁面试题总结 1. jdk1.7到jdk1.8 Map发生了什么变化(底层)? 1.8之后hashMap的数据结构发生了变化,从之前的单纯的数组+链表结构变成数组+链表+红黑树。也就是说在JVM存储hashMap的K-V时仅仅通过key来决定每一个entry的存储槽位(Node[]中的index)。并且Value以链表的形式挂在到对应槽位上(1.8以后如果value长度大于8则转为红黑树)。 ...
软通动力Java中级 1、锁可以锁在哪里? Java 为程序加锁的方式主要有两种:synchronized 与 Lock。 1、synchronized 可以修饰的作用域如下: 非静态方法(加的锁为对象锁); 静态方法(加的锁为类锁); 代码块(对象锁与类锁均可); 2、Lock 采用 lock()对代码加锁,unlock()进行解锁 ...