秋招总结 Java后端面经 字节 快手 58 去哪儿 ...

字节跳动 - 提前批 - 后端开发工程师-今日头条

2021.08.05 - 一面(53分钟)

自我介绍
项目
操作系统中,进程、线程、协程
进程和线程有哪些自己独占资源?比如一个进程中栈是属于谁的?
数据库用过哪些?
除了MySQL还用过什么数据库?
知道TCP、UDP吗?
TCP是怎么做到可靠的?
TCP三次握手之间的状态是什么?服务端和客户端之间建立连接,连接之后他们处于什么样的状态?
算法:二叉树后序遍历
总结:面试官很好,写不出来会给提示。
面试结束后13min通知一面通过,并约了二面时间。

2021.08.12 - 二面(60分钟)

进程、线程、协程,介绍一下协程?
MySQL数据库中的事务了解吗?
事务中的隔离级别分别介绍一下?
Redis中的事务了解吗?
TCP三次握手说一下?
TCP必须要三次握手吗?两次行不行?为什么不行?
TCP四次挥手说一下?为什么必须是四次呢?
算法

  • 1.货币兑换
    题目描述:每两种货币之间有兑换汇率,但是不能保证任何两种货币之间都可以兑换,比如:USD-RMB:1:6.6,EUR-RMB:1:7.1,USD-GREEK:1:1.3,UER-GREEK:1:1.4。输入任意两种货币,输出这两种货币的兑换汇率是多少。public double transfer(String source, String target)
    思路提醒:用什么数据结构进行存储比较方便?是否考虑一下图
  • 2.地址简化
    题目描述:文件路径表示:/a/b/c,路径中存在点(.),把路径中的点(.)去掉,简化路径的表示。比如:/a/b/./c => /a/b/c,/a/b/../c => /a/c,/a/b/./c/../d/../../e ,/.. => Exception,/./,/..等等
    思路提醒:使用split()函数

一点资讯 - 广告后端工程师

2021.07.30 - 笔试(2h)

3道单选
6道多选(Unix使用的通信方式有哪些,单例模式,TCP,O(1)的算法有哪些,稳定的排序有哪些),
3道编程
1.LeetCode1353.最多可以参加的会议数目【M】
2.LeetCode64.最小路径和【M】
3.LeetCode165.比较版本号【M】

2021.08.15 - 一面(36分钟)

自我介绍
项目
说说集合吧?
哈希的东西都是无序的,如果想有序的话应该怎么办?比如Set,怎么有序?
说一下多线程?
Callable和其他两种有什么区别?他们提交到线程池的方法是什么?
怎么创建一个线程池?
MySQL索引对应的数据结构是什么?为什么用B+树?
创建MySQL的联合索引需要注意什么?
你听说过MySQL中的回表吗?
Redis常用的数据结构有哪些?
你用过哪些数据结构,是怎么用的?
SortedSet对应的本质是什么?
Redis事务是怎么用的?
WATCH有什么作用?
Redis分布式锁是怎么实现的?
SpringBoot是怎么用的?
SpringBoot有一个监控的组件了解吗?
Linux操作系统常用的命令熟悉吗?
看进程的命令是哪个?怎么看java进程?
预计实习时间是什么时候?
反问

2021.08.20 - 二面(20分钟)

自我介绍
JVM的内存模型介绍一下?
Java常用数据结构说一下?
HashMap底层是怎么实现的?
MySQL的存储引擎有哪些?区别是什么?有什么应用场景?
Redis的数据类型有哪些?
计算机网络分为哪几层?每一层主要在解决什么问题?
介绍一下最近的项目经历?
除了这些有没有自己研究的东西,可以分享一下?
反问

祖龙娱乐 - Java游戏服务器开发工程师(北京)

2021.08.20 - 一面(30分钟)

自我介绍
关于项目
Java中Object中有哪些方法?
HashMap底层是怎么实现的?
描述一下HashMap根据key找到Value的过程?给你一个key怎么知道这个key对应的数组下标?
Java用到的字符集是什么?
String为什么是不可变类?
线程池的那几个参数知道吗?线程工厂?
线程池中队列的作用是什么?
怎么启动一个线程?创建线程的方法有哪些?
Java是单继承还是多继承?接口可以继承多个接口吗?
线程池中Future知道吗?
Java内存模型有了解吗?
垃圾回收算法有了解吗?
垃圾回收器CMS有了解吗?
Java和Python的区别是什么?
Java中int占几个字节?Python中对整数运算有限制吗?
写一个函数删除HashMap中指定value值的那些key?

顺丰科技 - Java开发工程师

2021.08.17 - 一面(23分钟)

项目
有没有用到分布式锁呢?
有没有遇到过缓存穿透的问题?
假如需要查某条数据,在redis中查不到,再去查数据库,如果数据库中也查不到,再去查redis,遇到这样来回查询的问题,你会怎么做?
除了Redis还用过其他中间件吗?
对消息队列有研究吗?消息队列主要用在哪些场景里面?发布者&订阅者
一般用什么数据库?有没有数据库额外的中间件?
如果有一个数据库的量很大,应该怎么办呢?
分表怎么分?分库怎么分?
对分库分表中间件了解吗?
了解数据库的锁吗?乐观锁,悲观锁
你们的项目是用什么框架开发代码的?有微服务吗?
一般有业务层、表现层、持久层,持久层用什么框架的?
项目代码是怎么管理的?是自己搭建的?
你一般学习框架或者中间件的话会从哪里了解这些信息?
你的职业规划是怎么样的?
在项目中有没有遇到什么难的问题?是怎么解决的?
反问

2021.08.19 - 二面(20分钟)

自我介绍
你主修的不是java是吗?Java是什么时候开始学习的?
你这些Java的项目都是练手的吗?
Java基本数据类型有哪些?
public class A {
public void a(int a) {
System.out.print(a++);
}
}
A a = new A();
Integer m;
a.a(m);
输出结果是什么?
Integer m = new Integer(10);
Integer n = 10;
m == n?
常用的集合有哪些?
HashMap有哪些遍历方法?
多线程平时学习过吗?
线程池了解吗?
怎样创建线程池?
线程池中拒绝策略如果使用主线程来执行拒绝任务,当在高并发的情况下,这个任务比较耗时,会怎么样?
把如下场景转换成java线程应用:你和你的两个朋友一起去爬山,到达山顶后,一起再下山。
反问

快手 - Java开发工程师

已凉

2021.8.28 - 一面(50分钟)

Java用的哪个版本?对于1.8来说多了哪些新特性?
你刚说hashMap的版本的区别,那还有其他区别吗?
对于多线程的HashMap的get或者set会有什么问题吗?
有看过ConcurrentHashMap的结构吗?
除了集合,还用过java的其他类吗?
如果要对两个对象进行比较,应该重写什么方法?比如往set里存放人这个对象,人有姓名,年龄等信息,如果年龄相同就将其替换为新的人,应该重写什么方法?如果重写equals方法呢?
Object有哪些方法呢?
你了解的垃圾回收算法有哪些?
怎么判断一个对象该被回收了?可达性,怎么判断他的可达?引用计数法?
堆是怎么分区的?
分库分表是因为哪个数据量很大吗?
索引一般什么时候加?
如果经常查a=。。。&b=。。。应该怎么创建索引?
创建联合索引的话,如果查询b=。。。会用到吗?如果查询b=。。。&a=。。。会用到索引吗?如果查询a=。。。&b>。。。会用到索引吗?如果查询a>。。。&b=。。。会用到索引吗?
了解过mysql的索引结构吗?B+树有什么特点吗?
什么是一个事务,具备什么特性?
事务的隔离性,MySQL的隔离级别有了解吗?
你说的第一个读未提交,会造成什么问题?那第三个隔离级别会存在什么问题?
对于网络,我输入一个百度的网址到看到页面是怎样的过程?计算机网络层有哪几个?
算法:堆排序还有印象吗?能创建一个堆吗?(不能)
算法:遍历树,
class Node{
int id;
List<node> children;
}
那实际中递归方式可能会存在什么问题?
如果用广度优先遍历,知道怎么写吗?(队列)</node>

写个简单的SQL:有一张表只有A字段,数据只有0和1,现在想把0变成1,1变成0,怎么用SQL实现?
方法一:用三条SQL,0变成2,1变成0,2变成1
有没有可能用两条呢?把所有值加1,然后把2变成0
思考题:有没有可能用一条SQL实现呢?

吉利汽车 - 提前批 - 软件开发工程师(前端/java方向)

一面后再无消息

2021.8.27 - 一面(30分钟)

java有什么比较熟悉的?
你用的是java哪个版本?
HashMap源码看过吗?那个0.75知道吗?
MySQL用的是innodb吗?用过索引吗?为什么用的是B+tree?
回表用过吗?
MySQL锁有了解吗?
行锁的分类有了解吗?临间锁(间隙锁)有了解吗?
事务知道吗?
原子性和隔离性是用什么保证的?
你比较熟悉的中间件有什么?
Redis性能为什么比较高?为啥选择redis?底层大概了解哪些?比如IO
你比较擅长什么我这边没问到的?
数据结构、算法、计算机网络怎么样?
TCP里面传包的话,如果太大了怎么办?如果中间失败了怎么办?
HTTPS有了解吗?双向认证的流程知道吗?
你觉得路由器是属于哪一层的?
你还有什么比较熟的?
你现在对什么比较感兴趣?比如某一方面业务或者技术?
你对计算机语言有什么要求?

招银网络科技 - 软件开发工程师

2021.9.16 - 一面(技术 30分钟)

自我介绍
你最近正在做的项目是哪个?大概介绍一下
你主要用过的开发语言有哪些?
ThreadLocal主要是干啥的?
volatile是干什么的?
数据库创建索引?
有什么情况下索引会失效?
如果一个sql语句执行比较慢,应该怎么解决?
常见的分库分表有哪些?
有三个线程T1,T2,T3,怎么保证让他们按顺序执行?
Spring常用注解有哪些?
死锁的必要条件?
发生死锁应该怎么办?
中间件redis用来做什么了?
HTTP请求头里常用的参数有哪些?比如说前后端联调,怎么看前端传过来是数据?
算法:

  • 1.输入n行,每行有多个材料,用字符串表示,这些材料可以制作一种料理,请问至少需要准备多少种材料才能完成所有料理?
    输入:
    BUTTER FLOUR
    HONEY FLOUR EGG
    输出:4

  • 2.后缀字符串排序
    对于一个字符串,比如grain,其后缀子串有grain,rain,ain,in,n,然后对各个字符串按字典顺序排序:ain,grain,in,n,rain

反问

2021.9.22 - 二面(技术 35分钟)

自我介绍
关于项目
你的java是怎么学习的?
MySQL优化了解吗?
MySQL熟悉吗?索引是怎么建的?有哪些规则?
分库分表有哪些规则?
Redis用过吗?其中缓存雪崩是怎么回事?
项目中有哪些挑战?
项目中有没有发生过同学之间冲突的情况?怎么解决的?
项目的亮点是什么?还有哪些不足?
反问

2021.9.26 - 三面(HR 20分钟)

自我介绍
本科期间的学习成绩怎么样?
当时有保研资格吗?
硕士期间的成绩怎样?又发表论文或者专利吗?
现在都投了哪些公司有哪些公司的offer?
你选择地点还是比较广的?
你现在有对象吗?
是有亲戚朋友在成都吗?
在校期间没有实习经历是吗?
你项目有很多,你参与比较多的是哪个项目?可以给我介绍一下吗?这个项目的主要难点是什么?是怎么解决的?
现在为什么会想要做软开啊?
你现在找工作是想要找一个什么样的工作呢?
平时关于技术是怎么学习的?
平时有什么兴趣爱好吗?
反问

去哪儿 - Java开发工程师

已凉

2021.9.22 - 一面(技术 30分钟)

自我介绍
关于项目
redis的使用场景是什么?
介绍一下分布式缓存和本地缓存的区别?
redis常用的淘汰的机制?
如果说一个MySQL的表超过3亿条数据,有什么优化的?分库分表,分表(按id分,按年份分)
Spring相关的原理有了解吗?AOP的原理能说一下吗?代理模式通常使用在什么场景下?设计模式还有其他的了解吗?
工厂模式有了解吗?
JVM只是自己学习的吗?垃圾介绍一下?怎么判断是一个垃圾?
垃圾回收算法介绍一下?复制算法一分为二的空间名字是什么?
类加载的过程?
JVM调优了解吗?有了解一些命令吗?
创建多线程的方式?
线程池的核心线程数一般设置多大合适?
线程池的几个参数是怎么设置的?流程是什么?拒绝策略有哪些?
介绍一下synchornized?volitale?
介绍一下常用的集合?线程安全的hashMap有什么?HashMap的key是可以为Null吗?
Linux的命令用的多么?日志检索命令?

2021.9.22 - 二面(技术 30分钟)

自我介绍
你在学习过程中,比如学习Python的时候,Java对于你学习Python有什么帮助?说一些case?
关于项目
讲一下Spring事务的实现方式?
Spring里面用了哪些设计模式?说一下工厂模式?简单工厂和工厂模式有什么区别?
代理模式原生的JDK实现方式是什么?
算法:全排列(包含重复的元素)

奇安信 - 服务端开发工程师

2021.9.26 - 一面(技术 40分钟)

自我介绍
关于项目
网络的层次结构了解吗?
TCP和UDP的区别是什么?流量控制和拥塞控制的区别?
HTTP和HTTPS了解吗?
HTTP1.0和HTTP2.0之间的区别了解吗?
session和cokie了解吗?token呢?
web Socket了解吗?
浏览器输入网址到最终渲染页面的过程是什么?
redis的数据结构有哪些?
redis是怎么实现分布式锁?当一个线程拿到锁后,业务逻辑处理失败了,没有释放锁该怎么办?
redis事务了解吗?
redis的持久化方式有哪些?
MySQL索引说一下?
索引的数据结构是什么?
B+树的时间复杂度是什么?
MySQL的事务了解吗?
事务中出现的问题比如脏读、不可重复度、幻读了解吗?
原子性是怎么实现的?持久性呢?隔离性呢?
一般什么情况下要分库分表?
二叉搜索树了解吗?平衡树呢?
为什么MySQL索引要用B+ 树而不是红黑树、搜索树或者平衡树?
Linux了解多么?查看端口占用的命令是什么?
有两台电脑之间网络出现问题,你会怎么排查问题呢?
在Linux中网络访问不通了要怎么排查?
进程和线程的区别?
进程间同步有哪些?
进程有哪些状态?
死锁?
Linux内核态和用户态?为什么要这么设置?什么时候会发生用户态和内核态的切换?
并发和并行了解吗?
SQL题:查询用户最近一次登录的日期

2021.9.27 - 二面(技术 30分钟)

自我介绍
MySQL主从复制了解吗?流程是怎么实现的?
MySQL的binlog了解吗?
InnoDB的B+树是什么样的结构?那B树呢?
TCP和UDP的区别是什么?
HTTP和HTTPS的区别?
场景题:有一个WEB服务器,HTTP请求,现在要统计所有请求中,服务器响应请求的时间在10ms之内的比例?怎么计数?redis中increby,全局变量
多线程中对一个变量加1操作,怎么保证它并发安全?
关于项目
redis的zset底层怎么实现的?跳表又是怎么实现的?
哈希表底层是怎么样的结构?装载因子是干嘛的?有缩容的操作吗?
为什么要把链表改为红黑树呢?时间复杂度是多少?
场景题:有一个文件,每一行是URL,服务端每请求一次就把这个URL记录到这里面,现在要求计算出所有URL的请求次数并排序打印?(HashMap)
场景题:有一个数据流,数据是无序的,设计一个方法实现实时获取前十大元素?(小顶堆)
你平时是怎么学习的?
反问

荣耀 - 软件开发工程师

已凉

2021.9.26 - 一面(技术 40分钟)

自我介绍
本科期间的学习成绩怎么样?研究生期间呢?
关于项目
redis和Map实现同一个功能有什么区别?做缓存的话用redis快还是Map更快呢?
redis是分布式缓存,了解本机缓存吗?
你常用的java版本是哪个版本?最新版本?
常用到的集合类有哪些?分别有什么特点?
HashMap用到红黑树,他有什么特点?
在什么情况下用红黑树?
ArrayList的默认大小是多少?现在有两个ArrayList,需要合并到一个ArrayList怎么操作会比较快?
ArrayList可以保存重复的元素,现在要去掉重复的元素,你会怎么操作?去重
HashMap的key可以为null吗?
HashMap的get方法的处理逻辑是什么?在链表中查找是通过什么确定位置的?
现在有两个HashMap,需要合并成一个,怎么处理比较快呢?
HashMap是线程安全的吗?线程安全的有哪个?
jdk1.8有集合的流处理,用过吗?
写过多线程的项目吗?创建多线程的方式有哪些?
现在有一个主线程,有三个子线程,他们的执行时间不一样,怎么才能做到三个子线程都执行完了再执行主线程?
java中异常有哪些?
Linux常用的命令是什么?
vi或vim复制一行数据,怎么操作?如果一个文本很长,翻页的话怎么翻?修改后保存或不保存怎么操作?有一个文本,怎么查看有多少行数据?
chmod 755,这几个数字分别代表什么?给一个文本赋读和执行的权限,应该是多少呢?
数据库用的哪个?存储时间用哪个类型的字段?
查询只查询前5条怎么操作?GROUP BY是什么?SUM和COUNT有什么区别?
数据库事务有哪些特性?
在程序中怎么实现原子性?commit提交事务,如果发生异常,程序中怎么提交回滚操作?
开原框架哪些比较熟悉?Spring提供了什么功能?
HTTP和HTTPS有什么区别?
HTTP2.0和HTTP1.1有什么区别?
反问

金山 - 服务端开发工程师

已约二面,十一假期之后

2021.9.15 - 一面(技术 50分钟)

自我介绍
项目,主要在问项目是怎么做的,问题是怎么解决的?
Redis在项目中是怎么使用的?
JVM结构,每个区是怎么进行垃圾回收的?
思考题:有13个盒子,其中只有一个盒子比其他盒子重,给你一个天平,怎么快速找到那个重的盒子
拿出来一个盒子,将剩余12个盒子一分为二放在天平上称,如果一样重,则重的那个盒子就是挑出来的那个,如果一边重一边轻,再把重的那边分成三组,每组有2个盒子,挑出来两组称一下,如果一样重则重的盒子在没称的那一组里,最后再称一下就找到了,如果一边重一边轻,那么同样也是再称一次就找到了,所以最多称3次即可找到。
反问

海康威视 - 应用软件开发工程师-Java

整体流程算快的,面试用钉钉,二面是HR面(现场面试)

2021.9.16 - 一面(技术 26min)

自我介绍
多线程,创建线程的方式有哪些?分别有什么区别?
线程池的几个核心参数是什么?
什么是幂等?MySQL中insert同一条数据是幂等操作吗?
索引,一般怎么创建索引,创建什么索引?索引在什么时候会失效?
mysql是事务隔离级别有哪些?哪个是默认的隔离级别?会造成幻读吗?什么是幻读?
怎么在可重复读的隔离级别中解决幻读的问题呢?
MySQl是锁有哪些?什么是间隙锁?那间隙锁是不是可以解决幻读呢?
MySQL的行锁是在什么条件下才能加锁?(索引)
说一下最近你和他人合作的项目中失败的一次经历吧?
说一下哪个项目是你最满意收获最大的?

58 - 后台开发工程师

2021.9.11 - 笔试

单选,多选
3道编程
1,查找数组中只出现一次的数字(要么出现1次要么出现2次)
2,查找子数组和最大,返回下标和子数组和
3,英雄队伍种数

2021.9.16 - 一面(技术 20分钟)

自我介绍
JVM结构
讲一下你熟悉的设计模式?
你对哪个框架比较熟悉,讲一下?

2021.9.17 - 二面(技术 20分钟)

自我介绍
项目
网页解析过程
redis持久化
MySQL中的乐观锁和悲观锁
Linux中查看CPU状态的命令
JVM的GC数据结构

2021.9.28 - 三面(HR 20分钟)

自我介绍
介绍一下本科毕业设计
本科毕业以后才考的研究生?
哪个项目让你觉得很有成就感,介绍一下?
你的缺点是什么?
你觉得你有什么优势吗?
反问

中兴 - 软件开发工程师

2021.9.8 - 一面(技术 30min)

自我介绍
学校成绩排名大概是多少?
有论文和专利吗?
有校级的奖学金吗?
你应该对C和C++有了解吧?
简单说一下continue和break的特点?
说一下static的作用?C语言中的作用是什么?
说一下面向对象的特性?有极大特性?
简单说一下垃圾回收算法?
线程和进程的区别描述一下?
能说一下死锁的理解吗?
如何避免死锁?
说一下TCP和UDP的区别?
说一下内核态和用户态的区别?这两种状态是通过什么方式切换的?
常用的数据结构有哪些?说一下数组和链表的优缺点?
介绍一下项目经历吧?
你对工作地点有什么要求吗?北京燕郊考虑嘛?
期望薪资是多少?
软开的话Java、C、C++都可以接受吗?
反问

2021.9.10 - 二面(HR 10min)

自我介绍
项目都是怎么完成的?独自完成还是团队合作?
项目出差问题是怎么解决的?有没有自己的想法?
兴趣爱好是啥?
期望薪资是多少?
期望工作地点?为什么会选择成都?北京燕郊可以接受吗?
反问

#秋招##面试题目##字节跳动##顺丰科技##快手##一点资讯##祖龙娱乐##吉利控股#
全部评论
楼主准备去那个公司
点赞 回复
分享
发布于 2021-10-12 16:20
点赞 回复
分享
发布于 2021-10-27 16:27
联想
校招火热招聘中
官网直投

相关推荐

19 110 评论
分享
牛客网
牛客企业服务