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


     

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

    想去字节的应届生也是非常多,细心的朋友可能已经发现,字节去年提前批的官方公众号推文写的是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.

     

  • 相关阅读:
    Go语言入门(一)
    离职前一定要做好这7件事情,少一件都很麻烦。
    【Vue全家桶】Vue-Router (详解)
    嵌入式分享合集62
    Python字典全解析:从基础到高级应用
    lua基础之table
    【CHI】Transaction structure
    Sklearn基本算法
    批量导入SQL Server中的建表、建存储过程和建调度作业的文件
    GoLang接口
  • 原文地址:https://blog.csdn.net/weixin_70730532/article/details/126159553