【备战金三银四】2020年字节跳动java面试题整理,校招+社招合集!

前言

最近有收到很多粉丝朋友私信,说自己在2020年的秋招并不理想,想在这段时间好好准备复习一下好在2021的金三银四里面跳槽,找一份自己喜欢的工作。之前一直没有时间为大家整理,这两天把今年字节跳动的面试题都整理了一下,具体干货都给大家放在下面了,希望对大家能有帮助!

Java

  • synchronized,lock,AtomicInteger 底层原理
  • HashMap,ConcurrentHashMap 底层结构原理
  • 讲讲服务注册于发现。这部分主要讲了springcloud eureka 和部分 zookeeper,zookeeper的选举机制
  • spring AOP 的实现方式, siglib 能否代理final修饰的类
  • jvm 垃圾回收过程,并详细讲一种垃圾回收器
  • 强引用,软引用,弱引用,虚引用应用场景

计网

  • 拥塞控制和流量控制
  • 快重传和超时重传
  • 为什么四次挥手后客户端等2MSL
  • DNS解析全过程
  • http2.0,http3.0
  • https的连接过程
  • CA证书的验证过程
  • RPC框架了解吗
  • 如何设计 基于udp的可靠传输
  • tcp如何保证数据安全性的,磁盘如何保证数据不丢的,应对坏道情况,这个应该是问数据备份的,不是很懂。
  • 操作系统
  • 阻塞io和非阻塞io
  • 进程和线程区别,通信方式分别是什么
  • 虚拟内存和物理内存
  • linux 按 ctrl + c 中断的原理
  • 协程高效在哪

Mysql

  • Innodb,B+树,聚簇索引和非聚簇索引区别
  • 一千万条数据,问 b+ 数大概多高
  • 为什么用 b+ 树而不是 b树,红黑树
  • 在设计联合索引需要注意什么
  • 联合索引最左原则的底层原理
  • mysql 的 MVCC 以及是否解决幻读
  • 手写sql,实现一个 按时间降序的分页查询
  • redo log,bin log,undo log

Kafka

  • kafka的rebalence
  • ISR
  • 如果新加进一个消费者会发生什么
  • 如何保证数据一致性

Redis

  • RDB和AOF区别
  • 为什么RDB 要 fork 子进程而不是线程
  • redis基本数据类型
  • zset的底层数据结构,跳表何时增加高度
  • 分布式 redis,缓存和数据库读写不一致,答 延迟双删
  • 面试官让随便讲讲redis,所以还说了缓存穿透,击穿,雪崩以及处理方法

场景题和智力题

  • 打字的智能提示和纠错的原理,让你来设计,你怎么做。
  • 如果有一个访问过的所有网站的记录集合,如何快速判断当前网站是已经访问过。(考虑布隆过滤器)
  • 从一个网站下载的时候,进度条如何实现的。
  • 64匹马,八个赛道,问至少跑多少次能找到最快四匹马。
  • 操作系统给你一块空闲内存,你如何设计使用和回收。

手撕代码

  • 柱状图中矩形最大面积 leetcode 84
  • 查找第k小的数,用堆以外的方法做
  • 给m个房子涂n种颜色,相邻房子不同色,cost[i][j]表示给i号房子涂j颜色代价,求最小上色总成本。力扣应该有原题

其他

还有就是聊项目,面试过程体验很好,面完第二天中午hr准时通知并安排下一场面试,三面后三个工作日就发了offer。
面试重基础,重思考能力,遇到问题尽量不要说不会,而是顺着面试官的方向合理推测一下。自己多说些,面试官问的就会少一点,往熟悉的方面引话题。

最后我为大家准备了一些Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等,点击这里免费获取。
2020年互联网太卷了,愿大家都能上岸,找到理想工作。

猜你喜欢

转载自blog.csdn.net/weixin_47277170/article/details/112607298