秋招面经总结

背景介绍

top3硕,做过一段时间CV,后面发现头顶比较凉后就转Java开发了,在网易有一段时间的实习(可惜摸鱼摸过去了

面试总结

字节

一面:

1.逻辑地址和物理地址,操作系统中,比如一个java对象如何通过逻辑地址找到物理地址
2.现在有逻辑地址,但是物理地址没有加载到内存中怎么办
3.操作系统中,线程/进程在进行上下文切换时保存了哪些信息
4.进程切换的时机有哪些
5.进程发生异常一定会切换吗
6.互斥锁和自旋锁
7.new object,在栈上会有什么空间
8.一个程序从源代码到可执行程序的过程
9.mysql的sql执行过程
10.mysql的覆盖索引
11.redis中rehash的过程
12.何时rehash
13.redis中key的过期策略
14.http中的请求
15.http请求报文格式
16.linux统计一个文件中每个id的出现次数
17.n个任务,有开始和结束时间,在某个时间区间内,如何处理最多的任务

二面:

1.自我介绍
2.项目中 服务内存泄漏排查
3.java锁的理解
4.lock中的方法
5.线程池
6.线程和协程的区别
7.linux中多个文件中查找字符串
8.linux查看磁盘使用情况的命令
9.用一条SQL语句查询出每门课都大于80分的学生姓名
10.设计一个分布式系统快速查找文件
11.已知一天内用户登录登出的日志(数据量较大),求这一天用户在线的最大峰值和持续时间段
* 日志包含字段(userid, login_time, logout_time)
* 登录登出时间精确到秒
12.归并排序
13.dfs和bfs,和使用场景
14.有向图怎么做dfs
15.两个栈实现一个队列

三面:

1. 说实习,内存泄漏的排查
2. object类中有哪些方法
3. equal和hashcode经典问题(==)、equals和hashcode相等问题
4. final、finally、finalized的区别
5. map中哪些类是线程安全的,底层实现
6. threadlocal,能否替换concurrenthashmap(面试官说可以,安全和性能问题)
7. synchronized和reentrantlock的区别,reen的底层实现
8. lock
9. dubbo(rpc),rpc怎么注册服务,rpc中有用到代理模式吗
10. aop介绍,哪些部分可以用aop
11. redis的数据结构
12. zset底层数据结构,如何实现
13. 口述:如何判断链表有环
14. orm框架
15. 做题:
(1)给一个数组 array 和一个数字 sum, 求这个数组的连续子数组的元素相加和 >= sum 解的个数。
数组元素大小:-10^9 <= array <= 10^9
比如:
array: [56,-21,56,35,-9], sum = 61
[56, -21, 56]
[56, -21, 56, 35]
[56, -21, 56, 35, -9]
[-21, 56, 35]
[-21, 56, 35, -9]
[56, 35]
[56, 35, -9]
(2)leetcode 45

美团

一面:
1.map的使用场景
2.HashMap和linkedhashmap的区别
3.spring-aop
4.代理如何实现
5.innodb的索引介绍
6.mysql中走了辅助索引是否还要用主索引
7.java中线程的状态(6种
8.消息队列的用处,怎么做到削峰的
9.redis过期策略
10.redis雪崩如何解决,服务降级常用的框架,怎么做到限流
11.如果只是redis大批量key过期,也会雪崩,怎么解决
12.制约数据库tps的硬件条件是什么
代码题:1.java实现bitmap,判断元素是否存在
2.实现一个阻塞队列,poll出队 put入队;要求put和poll都是线程安全的,并且队列满的时候put操作阻塞,队列空的时候poll阻塞

二面:
1.java中long的范围,为什么正数-1
2.threadlocal的使用场景,底层实现
3.java线程池怎么做到复用的
4.object中的方法
5.为什么重写了equal要重写hashcode方法
6.java中的线程状态(6种)
7.java的enum(枚举)和普通类有什么区别,能否实现接口
8.java的异常体系(error,exception一直往下分)
9.项目中的数据库表的设计
10.数据库中的int的数据类型,存储范围,所占字节
11.数据库中timestamp和time的区别
12.代码题:java给一个文件 输出其中每个单词输出的频次(涉及到IO的类)

三面:
1.自我介绍
2.项目
3.hashmap负载因子作用
4.负载因子调小的情景
5.java中的注解,类型,范围,好处
6.线程池中的参数
7.参数ThreadFactory使用在什么时候
8.核心线程数5 最大线程数50 队列20
这个时候来30个任务
这个时候在运行的线程数是多少 队列中有多少线程
9.想设计一个线程池刚起来的时候,就达到最大线程数,参数怎么设置
10.spring中出现循环依赖是否会报错,原因
11.单例模式的写法,不安全的怎么改成安全的

腾讯

天美一面(挂):

1.c++熟悉吗,python呢,c++除了MFC还接触过其他的吗(我是真的不会C++)
2. 问实习内容
3. linux如何查看连接数
4.linux如何查看cpu和内存的使用情况
5.linux查看进程连接数和句柄
6.实习中内存泄漏,是物理内存还是虚拟内存
7.物理内存和虚拟内存的关系
8.linux中线程的状态(回答成java了
9.linux中线程状态的符号
10.linux如何查看线程状态
11.项目中为什么用多线程模型而不用IO多路复用模型(区别)
12.关系型数据库和非关系型数据库的区别
13.算法题1:一亿条32位的数据去重,如果直接加载进内存大概占多大(只说思路
14.算法题2:一个数组去重,优化空间
15.set的底层实现,为什么不用hash
16.各种排序的空间复杂度如何

捞起来的一面:
1.自我介绍
2.实习内容
3.java接口和抽象类的区别
4.线程池的使用,参数,选择原因 线程池实现线程的复用

二面:
1.自我介绍
2.项目的技术选型,项目中用的rpc框架,说一下dubbo的工作流程和工作原理
3.dubbo的负载均衡策略是否了解
4.redis和memcached的横向比较
5.一致性哈希,范围多大
6.一致性哈希中的虚拟节点,解决什么问题
7.项目中用rabbitmq,跟rocketmq,kafka的横向比较
8.项目中用到ORM框架,mybatis与hibernate的区别
9.epoll和select的区别
10.spring中的ioc和aop
11.实习中用到内部框架的场景,和开源的相对比
12.实习中觉得比较有亮点的开发经历
13.职业发展规划,城市选择,现在拿了哪些offer
14.个人的计划,技术向和个人生活向

三面(我当时在怀疑是不是hr):
1.自我介绍
2.实习中学到的点
3.自身的职业规划
4.英语考察
5.现在手上的offer,怎么选择
6.如果也有XXoffer,怎么选

滴滴

一面:
1.自我介绍
2.压测为什么用jmeter
3.流量过高怎么办
4.hashmap哪些情况线程不安全
5.copyonwritearraylist 的设计思想,是空间换时间吗
6.做题

二面:
1.自我介绍
2.测试全面性的保证
3.白盒测试怎么做
4.开发需求和理性的判断
5.项目中的订单的数据模型怎么设计的,哪些是主键,mysql中数据类型、数据字段怎么选择,订单编号怎么生成
6.mysql索引的类型,为什么用b+树,为什么要减少磁盘IO
7.怎么加索引的
8.什么情况索引失效,为什么用or会失效
9.技术选型(为什么用redis不用其他缓存、为什么选择MQ
10.redis中库存过期时间

三面:
1.自我介绍
2.问专利(这里我本来想疯狂吐槽,但是还没到offer我就憋回去了,卑微如我)
3.网易实习
4.介绍项目
5.mysql索引,hash索引和b+树索引时间复杂度
6.项目中哪里使用redis

阿里

简历面:
项目、实习
领域驱动设计
如何把一个小系统做成一个微服务
数据库的ACID
synchronized和volatile和lock作用、区别
反射,原理和应用
java线程池常用参数设置
Threadlocal
hashmap的遍历方式
bean的注入方式
IOC和AOP
bean的初始化过程
bean的注入方式
jvm类加载过程
深度学习常见的池化方法
SVM
如何评价一个算法的好坏
红黑树的原理、特性
数据库的索引实现方式
100万考生中,找出分数前100的
15分钟手写快排

一面:
实习、项目
rpc属于OSI哪一层
grpc的优缺点
rpc的调用方式 同步阻塞
OSI七层模型
rocketmq实现原理
jvm类加载过程
类加载的方式
hashmap是否线程安全,底层什么实现
concurrenthashmap底层
jvm垃圾回收机制
说一下并发(和并行的区别)
java有哪几种线程池
死锁
乐观锁和悲观锁
linux查看java是否起来的命令
linux关闭一个进程的命令
mybatis 的id能否重复,命名空间能否重复,命名空间的id能否重复
drop、delete、truncate的区别,是否是DML或者DDL的,能否回滚
mysql 中like % 能否走到索引
mysql中 % bin能否走到索引
单例模式的两种写法
redis中zest的底层数据结构,实现
leetcode 142
leetcode 225

二面:
http和https的区别
linux的top命令的参数
OSI七层每层都干什么的
Java内存满怎么办,怎么排查
java cpu高怎么排查
一个项目中用到多种数据库,用什么设计模式 (没问清楚目的还是策略)
集群session共享存储方案
100G无序数据,内存只有10G,找出中位数
MongoDB的底层实现
算法题(春招腾讯原题。。。):
1. 给定一个8x8的棋盘, 上面有若干个车(Rook),写一个函数检查这些车有没有互相攻击的情况.
2. 在1题的基础上, 给定一个初始棋盘状态, 问最多还能放置多少个车, 使他们不会互相攻击, 如何放置?
3. 在1,2的基础上, 如果棋盘不止有车, 还有象(Bishop)和皇后(Queen),该如何检查是否有互相攻击的情况.

走法:
车:横、竖均可以走,步数不受限制,不能斜走。
象:只能斜走。格数不限,不能越子。
后:横、直、斜都可以走,步数不受限制,但不能越子。
三面:
先写两小时题目。。。
一、多个线程顺序循环打印递增的自然数,例如 3 个线程:t-0,t-1,t-2,程序输出如下:
t-0 0
t-1 1
t-2 2
t-0 3
t-1 4
t-2 5
二、leetcode670
给定一个正整数,可最多交换一次此正整数中的两位数字,求能得到的最大值,举例如下:
示例 1 :
输入: 1234
输出: 4231
解释: 交换数字1和数字4。
示例 2 :
输入: 8873
输出: 8873
解释: 不需要交换。
三、
给定一个字符串以及多个子串,对于在字符串中出现的子串可以多次移除,求多次移除后能够得到的最短字符串长度。输入: 第一行为一个字符串,第二行为多个子串,字符串长度大于0
输出: 多次移除后能够得到的最短字符串长度
例如:
输入:
"ccdaabcdbb"
["ab","cd"]
输出:
2
解释:
ccdaabcdbb -> ccdacdbb -> cabb -> cb (length = 2)
输入:
"abcabd"
["ab","abcd"]
输出:
解释:
abcabd -> abcd -> "" (length = 0)
开面:
说题的思路
说一下观察者模式
说一下Spring-AOP,面向切面怎么切的
看过哪些源码、hashmap,初始容量,负载因子、是否会变成全链表,死锁原因(解决方法)
线程池、核心参数、如何设置
微服务的拆分、单体架构的优缺点、实际应用场景
分布式系统的设计思路

然后。。。就没然后了 等了两周,期间内推人也不理我,两周后收到拒信。。。(可能是因为之前预面试蹭的太多了,总要还回来的)

目前拿得出手的暂时就是这些了,像网易快手京东等后面看还能不能补上,有的是凉经有的是过了的,大家面试前还是做好充足的准备,我在面试过程中犯的nt错误不止一次了。。。
之前在牛客借鉴了那么多面经,这次发帖既是还愿也是许愿,很感谢各位大佬,也许愿其他offer
#面经##阿里巴巴##字节跳动##腾讯##滴滴##校招##Java工程师#
全部评论
top3, 哈哈
4 回复
分享
发布于 2020-09-16 10:12
大佬,笔试都过了哈
1 回复
分享
发布于 2020-09-16 18:02
饿了么
校招火热招聘中
官网直投
目前哪家的Offer最大包呀😁
点赞 回复
分享
发布于 2020-09-16 08:49
哎阿里还有预面试可以蹭!!!
点赞 回复
分享
发布于 2020-09-16 08:53
Top 3 是有 7所吗?
点赞 回复
分享
发布于 2020-09-16 10:42
恭喜恭喜
点赞 回复
分享
发布于 2020-09-16 10:58
献上我的膝盖😈
点赞 回复
分享
发布于 2020-09-16 16:15
楼主,问下linux的题是用shell写出来还是说一下?
点赞 回复
分享
发布于 2020-09-16 19:45
顶一下
点赞 回复
分享
发布于 2020-09-16 20:59
已经拿了大厂offer, 这个时候心态必然很棒,何不来FreeWheel试试 https://www.nowcoder.com/discuss/502555 (网申9.17截止,内推邮箱在帖子里)
点赞 回复
分享
发布于 2020-09-16 22:46
大佬牛逼借大佬热帖发个安利,字节教育客户端 21 届校招岗位多多,入职还有签字费💰💰,欢迎各位大佬简历砸我😘 https://job.toutiao.com/s/JjC8Eqa
点赞 回复
分享
发布于 2020-09-17 14:26

相关推荐

38 207 评论
分享
牛客网
牛客企业服务