Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

话不多说,直上面试过程:

阿里一面

  1. 自我介绍
  2. TCP与UDP的区别
  3. TCP三次握手说一下(把流程说一遍,这里以为会继续问为什么不是两次或者四次,结果没有)
  4. 看你项目用到线程池,说一下线程池工作原理,任务拒接策略有哪几种
  5. 进程和线程的区别
  6. ArrayList与LinkedList的区别
  7. 线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)
  8. 数据库事务隔离级别说一下
  9. synchronized和lock区别,可重入锁与非可重入锁的区别
  10. 说说悲观锁和乐观锁的区别
  11. 手写进制转换算法,求出一个数的二进制数1的个数
  12. JAVA基础 equals和==
  13. 多线程方式、threadlocal,各种锁,synchronized和lock
  14. 设计模式、spring类加载方式、实例保存在哪、aop ioc、反射机制
  15. 类加载器,双亲委派模型,热部署
  16. jvm内存模型,内存结构、堆的分代算法、堆的分区、gc算法、gc过程。
  17. tcp ip 七层模型 rest接口规范 get和post区别,长度,安全。
  18. tcp ip的arp协议,两个同一网络的主机如何获得对方的mac地址。
  19. 负载均衡、高并发、高可用的架构
  20. mysql的引擎区别
  21. redis缓存,redis的集群部署,热备份,主从备份,主从数据库,hash映射找到知道指定点。
  22. 了解云计算么,了解云容器docker么,容器和虚拟机的区别

阿里二面

  1. 说一下你对哪个项目比较熟悉、为什么做这个项目
  2. 项目采用了什么架构,数据库如何设计的
  3. 数据库有哪些表,为什么有这些表
  4. 主要有哪些核心模块,模块之间如何通信的
  5. 如何保存会话状态,有哪些方式、区别如何
  6. 分布式session如何管理,你有哪些方案
  7. 学过数据结构和算法吗(当然),你说说二分搜索的过程
  8. 说一下快排的过程,写一下伪代码
  9. 了解哪设计模式,举例说说在jdk源码哪些用到了你说的设计模式
  10. Hashmap的原理
  11. Hashmap如何变线程安全,每种方式的优缺点
  12. 垃圾回收机制
  13. 设计模式了解的说一下
  14. 手撕一个单例模式

阿里三面

  1. 工作中你觉得最不爽的事情是什么。
  2. 说下你的优缺点。
  3. 有没有想过去创业公司。
  4. 写个 strcpy 函数。
  5. 说说你自己的性格。
  6. 给你一个系统,后台的逻辑已经实现了,但是前端加载很慢,怎么检测。
  7. 以后可能要学习很多新技术,你怎么看。
  8. 项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)。
  9. 系统的量级、pv、uv 等。
  10. 应对高并发的解决办法(分布式)。
  11. 在项目中主要负责了哪些工作。
  12. nginx 的负载均衡。
  13. 分布式缓存的一致性,服务器如何扩容(哈希环)。
  14. 说下你平时看的一些技术博客,书籍。

HR面

  1. 平常怎么学习的
  2. 兴趣爱好
  3. 觉得自己前面几轮面试怎么样
  4. 除了Java还研究过其它什么技术(我说AI,区块链)
  5. 跟我介绍一下区块链~
  6. 怎么看待国内区块链的发展
  7. 跟我说一下你认为最具有挑战性的项目

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

面试时表现从容,问题回答的还算是不错,没有出乎意料三天后收到了阿里发来的offer。总体来说面试难度没有想的那么难,都是基础加项目,主要是心态一定放松,放平就行

此次拿到阿里offer后我并没有应邀,而是选择了继续面试字节跳动,朋友对我的做法也甚是不解,我只能说每个程序员都有大厂梦,有大部分心仪的是阿里,而我钟情的却是字节跳动,下面分享字节跳动现场三面,也有部分问题跟阿里四面问的基本差不多。

字节跳动一面(现场)

  1. 自我介绍
  2. Java中的多态
  3. 为什么要同时重写hashcode和equals
  4. Hashmap的原理
  5. Hashmap如何变线程安全,每种方式的优缺点
  6. 垃圾回收机制
  7. Jvm的参数你知道的说一下
  8. 设计模式了解的说一下
  9. 手撕一个单例模式
  10. 算法题目
  11. 手撕算法:反转单链表
  12. 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
  13. 手写java多线程
  14. 手写java的soeket编程,服务端和客户端
  15. 手撕算法:爬楼梯,写出状态转移方程
  16. 智力题:时针分针什么时候重合

字节跳动二面(现场)

  1. 自我介绍
  2. 项目介绍
  3. 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器?
  4. TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl?
  5. 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决?
  6. Linux查看cpu占用率高的进程
  7. 手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
  8. 然后继续在这个问题上扩展
  9. 求出最短那条的路径
  10. 递归求出所有的路径
  11. 设计模式讲一下熟悉的
  12. 会不会滥用设计模式?
  13. 多线程条件变量为什么要在while体里?
  14. 你遇到什么挫折,怎么应对和处理?

字节跳动三面(现场)

  1. 自我介绍
  2. 项目介绍
  3. Redis的特点
  4. Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点?
  5. Redis使用哨兵部署会有什么问题?【我说需要扩容的话还是得集群部署。】
  6. 说一下JVM内存模型把,有哪些区,分别干什么的?
  7. 说一下gc算法,分代回收说下
  8. MySQL的引擎讲一下,有什么区别,使用场景呢?
  9. 分布式事务了解么?
  10. 反爬虫的机制,有哪些方式?

HR 面

大同小异,问经历,问离职原因,问职业规划,问待遇,问期望。

1.项目介绍

2.平时看什么书,如何评价自己

3.随便聊一下你对公司的发展前景

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

整个面试的感觉是很好的,可以看出内部工作比较高效,而且很尊重面试者,比如他们很守时,超过5分钟面试官没来就请你联系hr,我曾面过一家互联网整整delay45分钟!

就这样,在反复煎熬中等来了offer,拿到offer的第二天我就快乐的回老家了。

面试题及答案整理:(已整理成PDF文档)

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

面试前做了什么:

一,多刷各大互联网公司经典面试题:

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

二,阅读一些Java架构书籍:

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

三,多看Java架构面试视频讲解:

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

从金三银四面试视频中总结经验

最后分享一点点面试的心得:

1、一定用心做简历!粗制滥造的简历,真的,内推别人都懒得帮你推

2、想清楚自己的核心优势,复盘自己过去的工作经验,把最核心的内容呈现给面试官

3、面试时多去考虑面试官为什么问我这个问题,他希望通过这个问题得到什么?而不是只站在自己的角度去讲述

4、想清楚自己要什么,这个公司能否提供给你

5、放平心态

祝大家都能拿到自己钟意的offer,早日找到自己心仪的工作~

文末分享福利:朋友整理最新面试题:

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

Java岗四面拿到了阿里Offer,却选择了字节跳动(面试真题分享)

文章内容中所有面试资料,和学习笔记都是免费分享的,需要这些PDF的小伙伴,可点此处获得领取方式。

猜你喜欢

转载自blog.csdn.net/weixin_45136579/article/details/108501890