成功上岸!外包待了2年这次秋招成功拿到字节跳动offer,特来分享我的面经回馈大众!

前言

楼主本科渣211,硕士华科,专业均SE,校招的时候没啥实习经历,进大厂工作两年多,做后端开发的工作,没有涉及到高并发的case,也没有大流量的项目,也没有必须引入某些中间件或者nosql才能解决业务问题的场景,简称“三无”,只能尽量在简历里矮子里面拔将军,写一些可能有些价值点的内容。社招过程中拿过美团、货拉拉、微众、阿里、字节的offer,最终选择字节。下面我会把自己的一些面试经验以及一些面试题和答案分享在下面,希望对还没上岸的你们有所帮助!

另外我这里为大家准备了一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套大厂面试题(不断更新中),有需要的朋友点这里自行下载,密码:csdn希望大家都能找到心仪的工作!

字节一面

  • 自我介绍

  • 平时用的工具链和技术栈是什么?

  • golang 踩过坑吗?这段 golang 代码有没有 bug?

  • Java 中 HashMap 的存储, 冲突, 扩容, 并发访问分别是怎么解决的?

  • 拉链法中链表过长时变形为红黑树有什么优缺点?

  • HashMap 的并发不安全体现在哪?

  • HashMap 在扩容时, 对读写操作有什么特殊处理?

  • ConcurrentHashMap 是怎么做到并发安全的?

  • Java 有哪些锁机制, 分别有什么特点?

  • 知道 CAS 吗? Java 中 CAS 是怎么实现的?

  • MySQL 的存储引擎用的是什么?(InnoDB)为什么选 InnoDB?

  • MySQL 的聚簇索引和非聚簇索引有什么区别?

  • B+树和二叉树有什么区别和优劣?

  • 针对一个场景设计索引,具体场景忘记了,反正考察的是联合索引与列选择性的知识

  • 现有一个新的查询场景, 要怎么解决?

  • 假如要查 A in () AND B in (), 怎么建索引?

  • 查 A in () AND B in () 时, MySQL 是怎么利用索引的?

  • 假如查询 A in (), MySQL 是针对 N 个值分别查一次索引, 还是有更好的操作?

  • 用过 Redis 的哪几种数据结构?ZSET 是怎么实现的?

  • zrange start, stop, 总长度为 n, 复杂度是多少?

  • Kafka 的消费者如何做消息去重?

  • MySQL 去重、Redis 去重、假如场景量极大且允许误判,布隆过滤器也可以

  • 介绍一下 Kafka 的 ConsumerGroup

  • Kubernetes 和 Docker 用得怎么样?

  • 时序型数据库的存储结构是怎么样的?

  • LSM 树了解吗? 是一种什么存储结构?

  • 在生产中用过 Cassandra 和 RocksDB 吗?量有多大?

  • Cassandra 的墓碑机制是什么?

  • 算法题:牛客题霸上的原题,可以去看看:NC57 反转数字

字节二面

  • 自我介绍
  • 做过什么项目吗?说一下项目的核心需求,做的过程中有什么难点,核心的技术实现。说了将近20分钟
  • java中Object类中有哪些方法,他们的作用分别是什么?
  • java中的多态的含义?jvm中栈和堆的区别?
  • java常用的会抛出哪些异常类型?
  • .spring 的事务,传播方式?
  • sql入侵?如何防止sql侵入
  • 数据库事务的隔离级别?
  • 说一下redis,redis是用来干什么的?redis如何做缓存
  • 消息队列说一下
  • sql的索引是什么,常见的索引方式,什么时候索引失效?什么数据库引擎使用的是红黑树作为索引?
  • http请求行的各个字段及含义,发生重定向时返回的状态码是多少?正常是多少?
  • http和https的区别?
  • 说一下应用层常用的几个协议?
  • linux用户权限最大的是谁?root与普通用户之间转换的指令?
  • 如何找到一个进程并杀死他?
  • 进程和线程的区别?
  • 都用过哪几种数据库?
  • 场景题:实验室内需要做一个管理系统,现在需要你实现一个登陆功能,怎么做?
  • session了解吗?有没有从这个角度去考虑过登陆的设计问题?
  • 算法:两个有序的且元素唯一的数组,找出交集?
  • 反问:通过这次面试交流您觉得我应该在哪方面进行提升?答:除了java基础不错,其他的技术栈掌握的一般,由于缺乏项目实践,登陆设计的稀碎。。。。

字节三面

  • 项目

  • tcp怎么保证数据正确

  • 快重传

  • 拥塞避免

  • tcp性能

  • tcp怎么优化的

  • http https

  • https对称加密 非对称加密 为什么

  • 协程

  • 进程和线程的区别

  • 进程切换的开销

  • 进程调度算法

  • 数据中求前k个最大值

  • 推排序 复杂度

  • 堆的底层实现

  • 快排 复杂度

  • cookie和session

  • session里面存的是什么 如何实现

  • 跳表实现

  • CAS

  • mysql join和left join区别

  • 聚簇索引

  • 聚簇索引和辅助索引的区别

  • 代码 leetcode25 k个一组旋转链表

  • 数据库表设计

  • 书籍加标签

  • 给书籍加标签

  • 显示每本书最热门的十个标签

  • 显示情感类标签中最热门的十本书

  • 重复点赞怎么办

  • 如何记录状态

  • 怎么实现模糊查询

  • tcp三次握手为什么两次可以吗

  • tcp洪流知道吗

  • 中间人攻击

  • 什么时候需要用Head

  • 代码:给不重复m个字符数组 ,在字符串s中查找子串

  • 如果m个有重复的呢

  • 智力题 64匹马8个赛道

总结

最后我为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。点这里自行下载,密码:csdn!另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!

猜你喜欢

转载自blog.csdn.net/jiagouwgm/article/details/111588327