爱奇艺提前批(30min)
-
进程和线程的区别?此线程与 Java 中的线程的对应关系?Java 中的线程会共享什么资源? 在 Java 线程的运行过程中,线程分配一个变量,这个变量分配在哪里?Java 线程共享的资源分配在那个内存区域里?
-
计算机网络中,断开连接的过程中两方发了什么消息,发了消息后两方进入到什么状态?断开状态前一步,主动关闭方和被动关闭方分别是一个什么状态?
-
MySQL 索引在实际存储中是一个什么数据结构?非叶子结点存什么,叶子结点存什么?什么情况下聚族索引,什么情况下是非聚族索引?怎么避免回表操作?
-
数据库里的事物隔离机制?什么是幻读?
-
Java 中的锁?区别?特性上的区别?
-
常用排序算法?手写快排?
拼多多提前批 (60min)
-
项目10min
-
cpu 的组成部分,cpu 是如何工作的?
-
进程调度算法,目标是什么?
-
http 2.0 ,http 1.x 和 http 1.0 区别?
-
tcp 三次握手可以携带数据吗?为什么?
-
浏览器输入 url 到显示页面的整个过程
-
NoSQL 和 MySQL 的优势,劣势,使用场景? MySQL 慢查询如何优化?索引类型有哪几种(应用层面)提示了主键索引。。。。 ?
-
多线程写 redis 如何保证线程安全?redis 事务时用来做什么的?
-
介绍缓存更新策略?缓存击穿如何预防?
-
java 值传递和引用传递?什么东西作为形参时是引用传递?值传递的形参的副本实际存在哪里,堆还是栈?对象和数组他们的引用值存在哪里,实际内容存在哪里?
-
介绍下 Spring 中 DI 和 ioc ?如何获取 Spring 的上下文/容器?既然有BeanFactory,为什么还要 ApplicationContext ? 一般实现那个接口来方便的获取 ApplicationContext 中的所有 bean ?
-
编程题 leetcode 21
科大讯飞一面(60min)
- Java 面向对象特性?对应的特性在项目中的体现?
- Java 常见集合介绍?HashMap 底层实现原理?保证并发安全下使用什么?底层原理介绍?
- Java 中数组排序?介绍常用排序算法?对象数组怎么排序?
- Java 对象的生命周期?Java 的反射和应用场景?
- Java 垃圾回收算法介绍?
- Java 创建线程有哪几种方法?线程池的好处?线程池分哪几种?
- 怎么保证线程的并发安全?同步实现的原理? 并发包里的工具类介绍?
- jvm 调优?内存泄漏怎么解决?遇到死锁怎么排查解决?
- MySQL 集群搭建介绍?sql 调优介绍?索引分那几种类型?MySQL 事务的四个特点?隔离级别?MySQL 单表数据量太大时从哪几个方面进行优化?
- Redis 数据类型介绍?使用场景?项目中用到那些?Redis 为什么性能好?Redis 集群有那几种?多个模块使用Redis,如何防止键值冲突?
- 消息队列的特点?如何防止消息丢失?
- 介绍项目中的文件断点续传实现?
- 生成 Docker 镜像一般有哪几种方式?步骤是什么样的?
- Spring Cloud 和 Spring MVC 区别?
- Spring ioc aop 介绍?
- Spring Cloud 包含的开源组件介绍?
- MyBatis 怎么操作数据库?
- 设计一个缓存系统应该关注的点?分布式,性能,一致性,内存和速度的兼顾点
- 介绍项目中遇到的难点,分库分表平滑迁移等
网易互娱 一面 (60min)
- 在电脑上双击 .exe 执行程序,大致有哪些过程?
- 程序和进程的区别
- cpu 怎么执行一条指令或者字节码?
- 是否听说过超线程,有没有想过是怎么实现的?
- 介绍下虚拟内存
- 容器和 VM 的区别
- leetcode 19 口述代码
- leetcode 23 口述代码
- 介绍二叉查找树?现实中平衡二叉树为什么用的也很少?介绍一下 B+ 树?在 B+ 树中找一个值的过程? innodb 为什么用 B+ 树而不用二叉树?B+ 树找具体的子节点需要遍历每个节点中的每一个数据,他的时间复杂度更低体现在哪里?
- 深拷贝和浅拷贝的区别
- Byte 和 Byte 比较可以用 ”==“ 吗?Boolean 可以吗?
- HashMap 是有序的吗?举一个 hash 函数的例子? 什么是一个好的 hash 函数?
- 自旋锁和互斥锁的区别
- JVM 垃圾回收算法介绍?标记清除算法两阶段是否可以合并?标记的过程是什么?为什么要分新生代和老年代?
- 浏览器上输入一个 url 获取到数据的过程?介绍下路由转发的过程?一个域名可以对应多个 ip 吗?多个域名可以对应一个 ip 吗?tcp 握手为什么是三次?为什么要交换序号?
- 一台服务器所能接受的连接数由什么决定?
- 进入一个网站一般需要登录操作,服务器怎么知道用户登没登陆?介绍下 JWT?
- https 连接建立过程?介绍下中间人攻击?https 能否防范中间人攻击?
- 解释下什么是关系型数据库?和 nosql 有什么区别?
- 解释下 CAP 理论?举个 AP 系统的例子?
- MySQL 中 binlog, undolog, redolog 的区别
- redis 的使用场景?为什么性能好? MySQL 也缓存,也可以把数据都放内存,如果把 MySQL 也改成单线程的,是否性能也像 redis 那么好?
网易互娱 二面 (45min)
- 实习项目中用的 jdk 版本,是否看过 9 及之后的源码?
- 在一个 service 类里的方法加事务注解 ,这个方法被其他地方调用,哪些场景下事务会失效?内部方法调用的场景,怎么解决?
- MySQL 删除表指令,那一个最快?
- MySQL 隔离级别用过那个?可重复读能解决幻读问题吗?只是间隙锁就可以解决吗?介绍下 mvcc 怎么实现的,怎么解决幻读问题的?间隙锁锁的对象是什么?
- MySQL 哪些指令是快照读,哪些是当前读?既然 mvcc 和间隙锁可以解决幻读,串行化还有必要吗?
- MySQL 某张表 a,b,c 字段加联合索引,c=xx and b=xx and a=xx 是否走索引?a=xx 去掉还走吗?
- 有一张表,包含 id 和 parent_id,parent_id 记录父节点。给定 id ,查询该节点下的子孙节点,可以通过改变表结构,使用一条 sql 语句查出结果
- 介绍下 redis 的使用场景?介绍 redis 分布式部署方式?这两种部署方式有什么区别?
- 项目中 MQ 的使用场景?怎么保证消息的有序性,幂等性,不重复性?
- 微服务是否用过,有那些组件?Eurake 怎么保证高可用?服务间调用的负载均衡怎么做的?
- 聊个人优缺点,平时的学习方式,了解哪些前沿技术,offer情况,职业规划,反问
美团 优选物流 一面(50min)
- 自我介绍
- 编程题 剑指 Offer 58 - I. 翻转单词顺序
- 内存泄漏和内存溢出区别
- 什么是进程,什么是线程,什么是多线程?
- 怎么保证安全的使用多线程?
- 介绍下 java 里的锁和他们的区别?
- 什么是死锁,死锁的条件,怎么避免?
- MySQL 的锁机制有哪些?
- MySQL 的事务隔离级别有哪些?都解决哪些问题?脏读和幻读的区别?
- MySQL 索引的数据结构及优势?
- equals 和 hashcode 区别?
- wait 和 sleep 区别?
- 线程的生命周期
- 介绍下 JVM 内存模型?哪些对象被标记和清除?gc root 的对象有哪些?
- offer 情况,个人职业规划,反问
美团 优选物流 二面(50min)
- 自我介绍
- 编程题 leetcode 143
- 介绍下 CurrentHashMap 实现原理?为什么效率比 synchronized 修饰的 HashMap 效率高?
- 介绍下乐观锁
- 什么情况下会发生栈内存溢出?
- 介绍下 Java 虚拟机的内存模型
- 个人职业规划,反问
百度 一面(60min)
-
自我介绍
-
进程和线程的区别?举几个工作中常见的进程和线程的例子?
-
线上一个 java 项目 cpu 利用率特别高,怎么定位是哪个线程发生了问题?通过 jstack 能看到什么信息?能看到有哪些种类的 Java 线程?
-
七层负载,四层负载中的七层,四层说的是什么?(面试官提示:计算机网络中的七层和四层还记得吗?)
-
常见的负载均衡算法有哪些?
-
cookie 和 session 的区别是什么?cookie 除了 k-v 还有哪些属性?cookie 是否一直留在客户端?这个过期时间是 cookie 的哪个属性?浏览器是怎么保护 cookie?
-
多线程死锁是个什么情况?