字节跳动秋招提前批高频面试问题汇总!(内附答案!)

最近字节提前批开了,作为互联网的头部企业,往年字节的招聘人数是相当多的。

想去字节的应届生也是非常多,细心的朋友可能已经发现,字节去年提前批的官方公众号推文写的是4000+hc,今年写的却是2000+

好家伙,直接缩水一半

都知道今年的互联网大环境不太好,但谁也没想到字节的hc缩水这么严重!

很多同学投递了提前批的简历,可能是由于提前批hc有限,所以很多同学反馈简历被挂了,别灰心,秋招继续投!

为了帮助进入面试的同学可以更好准备面试,小白给大家整理了部分21年面试的高频问题,供大家参考学习。

这些高频问题可能覆盖面不全,但都是从大量的面经中提取出的超高频的面试问题,重在帮助大家面试前进行突击的。

一定要不要只看高频面经,平时一定要加强基础知识的学习!

注意⚠️:最不缺的就是八股类的答案,缺的是大家对八股的个人理解!

Java相关

  • ThreadLocal的原理?应用场景?

  • sleep()和wait()方法的区别是什么?如何唤醒?

  • 线程的生命周期

  • synchronized和lock的区别?发生异常时 synchronized和lock锁的占用情况?synchronized升级过程?

  • 线程池了解多少?

  • 乐观锁和悲观锁,CAS带来的问题

  • ==和equals的区别,Stringbuilder和StringBuffer的区别

  • 垃圾回收算法?CMS回收器的过程?

  • Java的内存模型,可见性是什么?

  • Java线程不安全的问题,还有如何实现线程安全

  • volatile关键字的作用是什么

  • 强引用 弱引用 虚引用 软引用

  • HashMap的不安全原因?

  • AQS的原理

数据库

  • MySQL慢查询如何优化?

  • 数据库的索引结构是什么?

  • 为什么使用B+树?对比B树,哈希。

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

  • 数据库的三大范式

  • 事务的隔离级别

  • 事务的ACID分别是什么?怎么保证的?

  • 为什么B+树高度就小,是因为什么,B树为什么就高一些?千万行的数据这个B+树索引大概多高?

  • 数据库什么时候需要建立索引?什么时候索引会失效

  • 联合索引(a,b,c) where 条件之后分别走c,b,a 用and连接会走索引吗

  • 索引为什么能加速查询?B+树作索引的优势。

  • 什么是回表

  • binlog,redolog,undolog三者的区别了解吗?

  • MVCC

中间件

  • Redis是否了解过底层?

  • zset的跳表如何实现的?

  • Redis如何实现分布式锁

  • Redis怎么实现限制用户请求的?怎么计数+1的?如果多条线程过来怎么保证线程安全?

  • AOF和RDB有啥优缺点?AOF重写了解过吗?

  • 缓存穿透,缓存击穿,缓存雪崩,什么概念和解决方案

  • Redis如何淘汰过期数据?

  • Kafka使用场景?为什么用?为什么吞吐量高?

  • MQ如何保证消息不丢失

计算机基础

计算机网络

  • HTTP session和cookie的区别?

  • TCP 三次握手/四次挥手,流量控制,拥塞控制?

  • TCP和UDP的区别?

  • ARP协议工作原理?ARP攻击?如何解决?

  • DNS的解析过程

  • HTTPS ,客户端如何验证证书,HTTPS不能防止什么攻击

  • 网络分层结构

  • 浏览器输入网址,返回error:服务不存在,如何排查?

  • 一次HTTPS的请求过程

  • 介绍HTTP各个版本(1.0、1.1、1.x、2.0、3.0)的区别

  • HTTP中的长链接如何实现的

  • Time wait和Close wait的区别

  • HTTP的状态码有哪些?http请求头有哪些?

  • Dos和XSS攻击是什么?如何防止?

  • 中间人攻击知道吗?怎么做https的抓包?https怎么篡改?

  • 输入一个URL都发生了什么?

操作系统

  • 虚拟地址和内存地址

  • 进程和线程的区别?通信方式?线程间切换怎么做

  • 了解IO模型吗?介绍select/poll/epoll的区别

  • 僵尸进程和孤儿进程

  • 进程调度算法,哪些是抢占式,哪些是非抢占式?

  • 死锁产生的条件,如何避免?

  • fork一个子进程发生了什么?

  • 水平触发和边沿触发

  • 用户态与内核态的区别

项目相关

  • 项目中遇到的难点

  • 有没有用过授权登录,第三方登录,了解过OAuth2.0吗?

  • 牛客论坛项目如何识别热点数据?如何计算?如何更新热度?

  • JWT说说?

  • 找个印象最深的项目说说?(简历中不止一个项目)

  • 你项目中遇到的最大的问题是什么?你是怎么解决的?

  • 你项目中用到的技术栈如何学习的?

  • 为什么做这个项目,技术选型为什么是这样的?

  • 登录怎么做的?单点登录说说你的理解?

  • 项目遇到的最大挑战是什么?(类似问题2)

  • 说说项目中的闪光点亮点

  • 项目怎么没有尝试部署上线呢?

  • 介绍项目具体做了什么?(项目背景)

  • 如果让你对这个项目优化,你会从哪几个点来优化呢?

手撕代码

  • 组合总和III(LeetCode 216)

  • n个节点的有向无环图,找到所有从0→n-1的路径。

  • 最长的回文子串(LeetCode 5)

  • 根据前中序重构二叉树(LeetCode 剑指offer 07)

  • 螺旋矩阵(LeetCode  54)

  • 手写单例模式

  • 二叉树的最近公共祖先(LeetCode  236)

  • 删除排序链表中的重复元素II(LeetCode  82)

  • 手写LRU

  • 不递归实现树的后序遍历

  • 链表右移k位

  • 二叉树的锯齿形遍历(LeetCode  103)

  • 接雨水 (LeetCode  42)

  • 打开转盘锁(LeetCode  752)

  • 每K个一组反转链表

  • 两个升序数组求交集

  • TOPK (LeetCode  215)

  • 反转链表

  • 重排链表 (LeetCode  143)

  • 返回链表的环入口

  • 两个字符串找最长公共子串

  • 两个有序数组找中位数

  • 二叉树的最大宽度 (LeetCode  662)

  • 链表内指定区域反转

  • 数组求前K大的数

  • k个有序链表合并

  • 完全平方和

  • 二叉树的路径和

  • 树的右视图

  • 手写快排

  • 有序链表转平衡二叉树

  • 交叉链表求第一个公共点

  • 硬币兑换

  • 课程表(LeetCode  207)

  • 给一个升序数组,部分掉换,例:[4, 5, 6, 7, 0, 1, 2],给一个target:0,找到位置

  • 最长递增子序列(LeetCode  300)

  • 前序遍历+中序遍历构建树,在返回树的右视图

  • 树的z字型遍历

  • 给定一个字符数组,和一个字符串,在字符串里找到任意一个完全由字符数组组成的子串,字符顺序无所谓

  • 给一个数组,建一颗最小高度的二叉树(递归和非递归)

  • 反转链表II(LeetCode 92)

  • 求从一个树的左边的叶子节点到一个树右边的叶子节点的最短路径

  • 分割数组的最大值(LeetCode  410)

  • 复原IP地址(LeetCode  93)

  • 判断无向图是否存在环路

总结

参加过字节面试的同学应该都知道,字节的面试比较注重基础知识和算法题的考察。

对语言和框架方面的提问相对较少,所以如果想冲字节的朋友,一定要好好准备数据库、计算机基础知识、中间件+算法题


小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。如果在阅读过程中有疑问,请留言讨论,最后祝愿各位顺利拿到心仪的offer.

猜你喜欢

转载自blog.csdn.net/weixin_70730532/article/details/126159553