写点什么

裸辞在家闭关,啃下这些面试笔记, 终,拿到字节跳动 4 面 offer

发布于: 2020 年 12 月 22 日

写在开篇

个人情况介绍:

出生江南小镇,在北京读书,毕业之后就留了下来,学历是 211 本科,资历各方面都不错,因此在简历上也能够充分体现我自己的优势,年前海投简历之后,现在已经接到不少公司抛来的橄榄枝了,只要面试顺利,基本上是公司任你挑的状态了。

以下主要分享面经和个人学习方法,会包括很多 PDF 文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,均可以免费分享,看小编主页有免费获取方式

字节跳动 4 面核心面试题

Java 基础部分

  • HashMap 和 ConcurrentHashMap 区别

  • ConcurrentHashMap 的数据结构

  • 高并发 HashMap 的环是如何产生的?

  • volatile 作用

  • Atomic 类如何保证原子性(CAS 操作)

  • synchronized 和 Lock 的区别

  • 为什么要使用线程池?

  • 核心线程池 ThreadPoolExecutor 的参数

  • ThreadPoolExecutor 的工作流程

  • 如何控制线程池线程的优先级

  • 线程之间如何通信

  • Boolean 占几个字节

  • jdk1.8/jdk1.7 都分别新增了哪些特性?

  • Exception 和 Error

JVM 部分

  • 运行时数据区域(内存模型)

  • 垃圾回收机制

  • 垃圾回收算法

  • Minor GC 和 Full GC 触发条件

  • GC 中 Stop the world

  • 各垃圾回收器的特点及区别

  • 双亲委派模型

  • JDBC 和双亲委派模型关系

Spring 部分

  • Spring 的 IOC/AOP 的实现

  • 动态代理的实现方式

  • Spring 如何解决循环依赖(三级缓存)

  • Spring 的后置处理器

  • Spring 的 @Transactional 如何实现的?

  • Spring 的事务传播级别

  • BeanFactory 和 ApplicationContext 的联系和区别

Zookeeper 部分

  • CAP 定理

  • ZAB 协议

  • leader 选举算法和流程

Redis 部分

  • Redis 的应用场景

  • Redis 支持的数据类型(必考)

  • zset 跳表的数据结构(必考)

  • Redis 的数据过期策略(必考)

  • Redis 的 LRU 过期策略的具体实现

  • 如何解决 Redis 缓存雪崩,缓存穿透问题

  • Redis 的持久化机制(必考)

  • Redis 的管道 pipeline

Mysql 部分

  • 事务的基本要素

  • 事务隔离级别

  • 如何解决事务的并发问题(脏读,幻读)?

  • MVCC 多版本并发控制?

  • binlog,redolog,undolog 都是什么,起什么作用?

  • InnoDB 的行锁/表锁?

  • myisam 和 innodb 的区别,什么时候选择 myisam?

  • 为什么选择 B+树作为索引结构?

  • 索引 B+树的叶子节点都可以存哪些东西?

  • 查询在什么时候不走(预期中的)索引?

  • sql 如何优化?

  • explain 是如何解析 sql 的?

  • order by 原理

算法部分

算法题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个(剑指 offer 原题,就是排序改一下比较规则)

对于 LR 来说,LR 如果多了一维冗余特征,其权重和 AUC 会怎样变化(权重变为 1/2, AUC 不会变化)

写出 LR 的损失函数(交叉熵损失函数)


其他部分

  • 高并发系统的限流如何实现?

  • 高并发秒杀系统的设计

  • 负载均衡如何设计?

字节跳动面试题答案:

因篇幅问题,面试题答案整理在 pdf 文档里,需要面试题答案的,看小编主页有免费获取方式


提升技术,扩宽知识

对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。那么如何提升自己的技术,扩宽自己的知识储备呢?

以下是我个人的一些做法,希望可以给各位提供一些帮助:

30 天啃完 283 页的 pdf 文档

Java 部分:Java 基础,集合,并发,多线程,JVM,设计模式

数据结构算法:Java 算法,数据结构

开源框架部分:Spring,MyBatis,MVC,netty,tomcat

分布式部分:架构设计,Redis 缓存,Zookeeper,kafka,RabbitMQ,负载均衡等

微服务部分:SpringBoot,SpringCloud,Dubbo,Docker


Spring 框架仍然是重点!!!

Spring 学习思维脑图


35 个常见 Spring Boot 知识点


我的算法第一份宝典——《算法刷题 LeetCode 中文版》

此书有 262 页,包括编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题等等 15 个章节。


数据库复习系列:



以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金三银四面试顺利,拿下自己心仪的 offer!

资料获取方式:点赞这篇文章,看小编主页有免费获取方式


用户头像

爱学习,爱Java,爱生活,冲鸭~ 2020.11.03 加入

领取文中资料加微信:mxx2020666, 备注:InfoQ 即可

评论

发布
暂无评论
裸辞在家闭关,啃下这些面试笔记,终,拿到字节跳动4面offer