海归硕士面试3家大厂挂了2个,成功拿到字节跳动offer,分享面经

  • 进程间如何通信

  • 共享内存与Socket的优缺点与性能比较

  • 子进程从父进程继承了什么

  • 什么是僵尸进程

  • 线程与协程的区别

5. 网络

  • TCP的四次挥手

  • TIME_WAIT状态处在哪一方以及为什么需要它

  • TCP与UDP的区别与可靠性

  • 如何实现UDP的可靠传输

6. 数据库

  • 解释ACID四大特性

  • 原子性的底层实现

  • 数据库宕机后恢复的过程

  • 如何保证事务的ACID特性

  • MySQL日志类型

7. 分布式

  • 谈谈对分布式系统的理解

  • 分布式数据库的实现

  • 如何保证不同数据库之间的数据一致性

  • 如何实现主从数据库间的同步

四、腾讯 - FIT (一面挂)

===========================================================================

1. 网络

  • TCP三次握手/四次挥手

  • TIME_WAIT状态

  • 网络延迟大的情况怎么处理

  • HTTP请求到响应全过程(服务端)

  • HTTP请求头及其作用

  • HTTP和HTTPs

  • HTTPs的握手过程

海归硕士面试3家大厂挂了2个,成功拿到字节跳动offer,分享面经

五、字节 - 头条(二面挂)

=========================================================================

1. 一面

  • 操作系统

  • 讲一讲进程和线程

  • 讲一讲多线程和线程池

  • Linux的最大进程数限制

WEB

  • 输入URL到页面加载的过程

  • 后端怎么处理前端传过来的文件

JVM

  • GC机制(GC算法,分代收集,收集器,STW)

代码

  • 给定一个数组a[N]和一个整数P,求a[i] + a[j] + a[k] =P,保证i<j<k

2. 二面

数据库

  • 身份证如何有效建立索引

  • Innodb索引类型

  • 聚簇索引和非聚簇索引的区别

  • 索引失效的情况

  • 写一个分页查询

Java

  • JMM内存模型

  • Classloader双亲委派机制

  • 讲一下ThreadLocal

  • 线程间如何通信

六、字节 - 头条 - 客户端开发(已拿offer)

=====================================================================================

1. 一面

操作系统

  • 讲一下进程和线程

  • 讲一下线程安全

智力题

  • 两个人抛硬币,先抛的人赢的概率

代码

  • 单链表排序,奇数位升序,偶数位降序

2. 二面

WEB

  • HTML,JS,CSS的区别

  • 输入URL到页面加载的过程

  • HTTP的长连接和实现原理

Java

  • 创建和终止一个线程

  • 讲一下熟悉的容器类

  • ArrayList中如何删除某个元素的所有相同元素

  • 讲一下迭代器的实现原理

SQL

  • 学生表 Student (S#,Sname,Sage,Ssex),课程表 Course (C#,Cname),成绩表SC (S#,C#,score),查询平均成绩大于 60 分的同学的学号和平均成绩

代码

Leetcode 283 移动零

3. 三面

智力题+数据结构+代码

  • 扑克牌的移动

并发

  • 乐观锁和悲观锁的区别

  • 两种锁在Java中的具体实现

  • 两种锁的使用场景

七、阿里 - 供应链平台事业部(二面挂)

===============================================================================

1. 一面

框架

  • 讲一下IOC

  • 对SpringBoot的理解

  • Mybatis中#和$的区别

Java

  • HashMap底层实现和扩容机制

代码

  • Leetcode 206 链表反转

数据库

  • InnoDB和MyISAM的区别

其他

  • SQL注入

2. 二面

算法和数据结构

  • 讲一下红黑树

  • 红黑节点的个数

  • 红黑树的插入删除查询时间复杂度

  • 讲一下B+树

  • B+树的插入删除查询时间复杂度

  • 讲一下堆的性质及应用场景

  • 建堆时间复杂度

  • 各种排序算法的时间复杂度及稳定性

数据库

  • 讲一下三范式

网络

  • 为什么要三次握手

  • 二次握手有什么问题

  • 三次握手有哪些缺陷

  • TCP是如何控制流量的

  • 发送方发送频率过高造成丢包,TCP是如何解决的

  • 讲一下OSI网络架构

  • HTTP在哪一层

  • HTTP报文结构

  • HTTP首部字段

  • HTTPs加密在哪一层实现

操作系统

  • 讲一下虚拟内存

  • 如果访问虚拟地址时,该地址在物理内存中不存在,会发生什么

Java

  • 讲一下volatile

  • volatile底层实现

  • static修饰用法和区别

JVM

  • 讲一下GC算法

  • JVM内存空间

代码

  • Leetcode 2 链表相加

函数式编程

  • 函数式编程和面向对象编程的区别

  • jdk8为什么要引入函数式编程

机器学习

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

更多JVM面试整理:

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
ttps://img-community.csdnimg.cn/images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

[外链图片转存中…(img-tcJ1jNNE-1713744263240)]

更多JVM面试整理:

[外链图片转存中…(img-d8O2uE8F-1713744263241)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值