小工具知识网

当前位置: 首页 > 行业知识 > 自己面试用

行业知识

自己面试用

2026-11-05 17:40:52 来源:互联网转载

14

���节后端实习三面

1.实习项目…

2.各种消息中间件区别

3.如何保证消息顺序消费

4.线程池的好处

5.线程池源码

6.线程池状态以及状态是如何变化的(ctl高三位)

7.线程的状态以及如何变化的

8.java的线程池怎么设计的

9.为什么要区分核心和最大线程

10.sleep和wait区别

11.数据库设计(设计表,字段,sql语句),(需求不断变幻,该表改的脑壳昏)

12.算法。。。。。。

13.redis高性能

15

计算机网络

TCP三次握手? 2.5 基本最基础的入门问题了

TCP和UDP的区别? 可靠交付、拥塞控制 3

面向字节流?2.5 不太清楚沾包问题?

TCP格式?标志位有那些?3- 不太清楚urg psh

四次挥手? 2.5 同理TCP三次握手

HTTPS握手? 3- 总分总,要

go

string的底层结构? 2.5 三种指针。unsafe.pointer

defer函数? 2.5 应当结合源码,g m p结构体

GMP? 3-

Redis

常见的五种数据结构? 3

Bitmap 了解过吗 3 比较清楚

Redis的持久化方式 Aof 、 rdb比较清楚不过稍微有点啰嗦 3 试着去提炼一下语言。

Reids实现一个事务 2.5 对于watch命令。redis还有一些其他的比较常见的命令可以去看一下

OS

进程和线程的区别 2.5 最基础的入门问题

Coding

全排列:有思路,但不够熟练

16

百度一面(1h+):
  • 常用 GC 算法,常用的垃圾收集器, G1 了解吗
  • 场景题: cpu 打满且频繁 full GC,怎么解决?
  • 有 jvm 调优的经验吗?实际工作中遇到过内存相关的问题吗?用过哪些堆栈工具调试?
  • Mysql 索引,数据结构为什么使用 B+ 树
  • 索引覆盖了解吗
  • 索引失效的场景
  • 简单描述一下数据库的四种隔离级别以及对应的三种相关问题
  • MVCC + 锁 保证隔离性
  • 造成幻读的原因了解吗,快照读、当前读。
  • 数据库自增 ID 和 UUID 对比
  • HashMap 源码,数据结构,如何避免哈希冲突,对比 HashTable
  • HashMap 源码中,计算 hash 值为什么有一个 高 16 位 和 低 16 位异或的过程?
  • 为什么重写 equals 还要重写 hashCode,不重写会有什么问题
  • ConcurrentHashMap 底层实现,扩容问题。
  • 如果让你自己实现哈希表,你会考虑什么问题?
  • 场景题:亿级别黑名单、短链接,你考虑使用什么数据结构?布隆过滤器、前缀树。其中布隆过滤器问了基本的原理和实现方式
  • Java 引用类型,强软弱虚
  • Java 是引用传递还是值传递
  • Object 类你了解哪些方法
  • 接口和抽象类的区别
  • 线程池核心参数,以及工作原理
  • ReentrantLock 对比 sync 锁
  • lockInterruptibly()、acquire()、tryAcquire() 方法
  • CAS 机制了解吗,存在什么问题
  • 对象锁和类锁的区别
  • 如果让你自己实现阻塞队列,如何实现?阻塞唤醒这一部分,如何实现?
  • ThreadLocal ,Volatile
  • 看你项目中用到了 Netty,简单介绍下吧。这里还有个 问题是问到 Netty 和 SpringBoot 整合的,但我一直都没理解她想问什么
  • 粘包拆包问题,Netty 解决粘包拆包的 Decoder
  • Spring 事务了解吗,Spring 事务的注解不生效,是什么原因
  • 算法题: 手写快速排序,时间复杂度,稳定性整理感觉不错,基本都答上来了,按照 Guide 哥星球里的内容,认真准备就好。
    百度二面(45 min):
    • 看你项目中用了一致性哈希做负载均衡,简单介绍一下
    • 项目中 CompletableFuture 如何使用的
    • 算法题:给定一个字符串,找到其中最长回文串
    • 计网和组成原理学过吧,你认为哪个掌握的好? 我选了计网。这一部分问的很深入,我没来得及记录,以下部分只是一些零散片段,但是整体问的时候是有逻辑的。
    • OSI 七层模型
    • TCP 三次握手,四次挥手整个过程包括状态的转换。为什么是三次握手、四次挥手。发送 Fin ,实际的意义代表什么?(发送方没有数据要发送了,可以断开连接)
    • 四次挥手,为什么等待 2 MSL
    • 流量控制、拥塞控制
    • 后面关于网络就更深入了,TCP 底层是怎么实现的,如果让你用 Java 模拟 TCP 的过程,做一个仿真,你有什么想法。大学学习计网的时候,协议栈之类的了解过吗(这部分我都不懂,认栽了)
    • 看你项目中用到了 Spring,自动装配的过程了解吗。
    • Spring 启动类的注解,介绍一下
    • 因为我项目中用到了,所以被提问了 Spring 二次开发常用的扩展点,还涉及到了 Bean 的生命周期。 BeanPostProcessor,在你项目中如何使用的
    • Spring 中你常用哪些注解? Autowired 实现原理

      计网仿真 TCP 以及后面深入的部分我不懂, Autowired 实现原理 没说清除,其余的都答上来了。

      字节跳动

      在我整个的面试过程中,字节给我的体验是最好的。一面二面的面试官都非常好,面试的问题、要求都说的很清楚,需要注意的点都提前告诉了我,甚至二面的面试官会提醒我,"在回答问题的时候这边会有敲键盘的声音,是我在记录,不要影响你回答问题。"对于初次求职面试,体验感拉满。

      除此之外,字节的面试和百度思路不一样。百度是从八股出发,引出一些实际场景遇到的问题。字节几乎没有八股,是从项目出发,结合工程经验,主要考察思考的过程,关键点答出来之后,结果对错可能不是很重要(这里是我主观臆断的)。

      字节一面(1h):
      • 自我介绍,项目部分主要介绍了 rpc 项目,后续的问题都是基于这个项目
      • rpc 远程调用的整个流程
      • 项目中的 SPI 机制,介绍一下原理以及你做了哪些改进
      • 项目中用到了负载均衡算法,详细介绍一下
      • 一致性哈希的原理,虚拟结点
      • 项目中的序列化方案,为什么序列化,你都了解哪些常用的序列化方法。
      • 你项目中使用了 Kyro 序列化,优点你提到了,缺点了解吗
      • 通信协议是你自己设计的,假如后面需要变更,比如添加新的字段,你项目中如何处理的?
      • 服务的灰度发布介绍一下,如何实现的?
      • Zookeeper 作为注册中心,假如崩溃了怎么办?这里开始连环问了
      • 你提到了 Zookeeper 的一致性,它是如何保证的?
      • ZAB 协议,选举的过程,这里问的很详细
      • Zookeeper 是强一致性吗?
      • 网络分区了解吗,CAP 理论
      • Zookeeper 如何应对网络分区的,脑裂问题了解吗,如何解决?
      • 假如我同一时间有大量服务发布,你提到了 Zookeeper 只有主节点负责写, 怎么解决?假如主节点崩溃了,新选举出的主节点仍然没办法面对我的大流量,也崩溃了,如何解决?
      • MQ 的原理,你知道哪些 MQ,各自有什么特点,什么时候需要用 MQ
      • 你刚才提到了服务端保护机制,如何实现的?这里我答了限制连接数以及接口限流,基于责任链模式。之后问了用到的令牌桶以外的常用限流算法。
      • 算法题:链表反转,你知道的所有实现方式。这里我写了递归和非递归两种。

        整个面试的过程中大脑都是高速思考的,甚至从面试官的问题中得到了好多启发,是背八股掌握不到的,体验非常好。面试的问题几乎都答上来了,有一些不太熟悉的在面试官的提醒下也都回忆起来了(这点非常 nice,其他面试不会就直接过了,而字节会认真引导你,看你究竟掌握到什么程度)。事后 hr 小姐姐还告诉我面评非常好,鼓励我认真准备二面。

        字节二面(1h):

        字节二面的经历比较魔幻了, 面试官在伦敦有时差,因此是晚上九点开始面试的,由于面试官比较忙,整个面试过程比较简单,自我介绍 + 项目介绍之后简单提问了几个问题(没有印象深刻的技术问题,这里就不重复整理了),沟通了一下实习时间,直接做算法题了。

        • 算法题:有一个 n * n 的棋盘,每个格子有三个状态,R 表示红*** 表示蓝色,X 表示此路不通。机器人从左上角走到右下角,每次只有上下左右四个方向选择,相同颜色之间没有代价,跨越不同颜色代价为 1,求解机器人从左上角走到右下角,最少的代价。
        • 这里我用回溯求解的,很快就写出来了,思路也没问题。但是复杂度计算卡住了,在面试官多次且反复的提示下,算出来了。 最后提问环节面试官跟我说后续优化可以加一些剪枝操作

          二面没有遇到难度比较大的问题,大部分时间都被我卡在了算时间复杂度(很菜勿喷)…

          B 站

          综合来说,B 站面试给我的体验是非常差的,一面的时候我感觉还没进行比较深入的交流,问了一些八股,很快就结束了。二面上来之后,问了你觉得自己项目有什么亮点吗,然后就来了一道 Hard 算法,又结束了…

          B 站一面(30 min)
          • Rpc 远程调用的流程
          • 一致性哈希算法详细介绍
          • 为什么选用 Zookeeper 作为注册中心,注册中心作用是什么
          • 动态代理
          • Redis 在你项目中如何使用的,穿透、雪崩、击穿了解吗
          • 你项目中用的是 RabbitMQ,为什么,和其他 MQ 对比如何?
          • RabbitMQ 的原理
          • 你项目中的 灰度发布、分组管理如何实现的
          • 无算法题

            之后在我以为他准备深入提问的时候,面试官告诉我面试结束了,整个过程不到 30 min,而且没有算法题。

            B 站二面(30 min)
            • 简单介绍下你的项目,是工程项目、学校项目还是自己学习的
            • 你认为项目中有什么亮点?
            • 算法题:K 个有序数组,输出最终排序后的数组 (K merge)。

              B 站是我第一个走面试流程的公司,二面在字节一面的前一天。B 站二面是我第一次在面试过程中写算法题,结果就遇到个这,当时心态是崩掉的。因为第一次确实有些紧张,思路不清晰。虽然是** Hard 难度吧,但是事后觉得也没有很难,做不出来还是大多归因于自己。但是复盘的过程中,我发现在面试的过程中,虽然太紧张了没实现出来,我把两种解题思路都思考到了,并且面试官提问时间复杂度,在提示下也求解出来了(很菜勿喷),整体表现自我感觉也算可圈可点吧。

              给大家的经验就是,平时刷题的时候时间复杂度求解一定要重视!

              17

              1.科研项目的介绍,难点,收获

              2.put和post的区别,能用put的都能用post吗

              3.对c++封装继承多态的理解

              4.vector和list的区别

              5.https和http的区别

              6.http3大概说一下

              7.tcp和udp的区别

              8.指针和引用的区别

              9.算法题:三数之和

              总结:都是常规八股,算法题也是常规题,看平时的基础积累。

              2022年9月1号字节抖音后端日常实习二面(60分钟)#

              1.单例模式的应用场景

              2.工厂模式的应用场景

              3.django后端框架低层消息路由的传递过程

              4.项目选型方面

              为啥选pg不选mysql

              为啥选django不选spring boot

              为啥选vue不用react angular

              数据库表为啥这么多

              项目数据库是如何应对新添的需求的

              5.浏览器请求相册里的数据,这一整套的流程

              6.进程/线程/协程的区别

              7.进程通信的方式

              8.数据库索引的存储结构

              场景题1:m元分成n个红包,随机分配,需要保证红包的金额均匀分布,每个红包金额大于等于0.01,且是0.01的整数倍

              场景题2:m*n矩阵,从第一行第一列开始走,每次只能往右或者往下走,求走到最后一行最后一列的位置有多少种走法:dp和数学方法都说一下

              总结:项目这块还是看积累,八股也都是基础八股不算偏,场景题面试官人很好,会一步一步引导,给面试官打call,哈哈

              2022年9月2号字节抖音后端日常实习三面(40分钟)#

              1.工程项目如何保证工程质量呢

              2.场景题:如果我需要监控抖音平台的预警情况,需要实时监测各个指标信息,及时通知与报警。请问如何设计这个系统,从架构方面。

              面经总结:自我感觉系统架构和场景题这方面很能考察出候选人的素养,这方面确实需要加强,准备去实习好好学习这方面的知识了。

              18【360实习】C++开发

              【360实习】C++开发

              一面1.13,40min

              • 先聊项目
              • 什么是惊群现象,怎么解决
              • epoll的工作原理
              • 说一下对进程的了解
              • 进程间的通信方式
              • 最快的通信方式是什么
              • 说一下vector 、list、map的区别
              • 说一下迭代器失效的情况,以及解决方法
              • 哈希冲突的解决方法(我说了链表法,开放地址法,再哈希法)
              • 空类包括什么成员
              • 浅拷贝和深拷贝有什么区别
              • 悬空指针所指向的内存被释放了,那么这个指针还存在吗
              • 悬空指针和野指针的区别
              • 说一下虚函数
              • 一个类的大小由什么决定(成员变量的个数,是否继承,是否有虚函数等,有虚函数的话,那么类就会多一个虚表指针,类的大小就会多4字节)
              • 一个子类继承空基类,对子类的大小会有影响吗 (空白基优化)
              • TCP三次握手为什么不是四次呢
              • TCP四次挥手可以三次吗
              • 第三次握手可以携带数据吗
              • 如果有多个重载函数,那么我根据函数名打断点,GDB会怎么执行呢,是只执行一个还是全部都显示出来(都显示出来)
              • 面试官很好,有个别问题,答的不好,一直引导。面试官说,二面可能要等到年后了

                19懂车帝后端开发一面(凉凉)

                懂车帝后端开发一面(凉凉)

                一面 2022.12.12(60分钟)

                1.为什么要做一个日志库

                2.什么是装饰器模式

                3.隔离级别,四种分别解决了什么问题

                4.mysql默认隔离级别,怎么实现的

                5.B+树是什么,和B树的区别

                6.如果不用区间查找,B树和B+树哪个好

                7.B树和B+树的区别到底是什么(区间查找、空间使用,不知道他想要啥答案)

                8.Redis常用数据类型

                9.有序的set支持哪些操作

                10.排行榜用哪个数据结构

                11.Redis持久化

                12.两种方法的优缺点

                13.实际中一般用哪种

                14.四次挥手和中间的状态

                15.为什么要四次挥手

                16.握手能不能四次

                17.一句话说下为什么握手有三次挥手有四次(握手中间不需要发数据、挥手需要考虑最后有数据发送)

                18.用过哪些Linux命令

                19.查看线上的error日志有多少条

                20.怎么统计多少行(wc命令)

                21.了解的webSocket协议

                22.听说过RestFul么,讲讲(听说过)

                23.常见的HTTP状态码

                算法

                1.根据前序中序还原树

                2.找零钱(dp)

                20 字节

                字节后端实习 | Golang | 一二三hr面offer

                内部员工回复

                一面(40min)

                • 自我介绍

                  项目

                  • 项目背景
                  • MVCC如何实现、MVCC的作用
                  • 讲讲MySQL锁机制(共享锁、排他锁、行级锁、表级锁、意向锁、记录锁、间隙锁、next-key Lock)
                  • redo log&undo log作用,什么时候生成
                  • 如何写redo log(redo log buffer等)
                  • 两段锁协议,分布式事务中两阶段提交

                    实习 & 八股

                    • Redis分布式锁如何实现的
                    • 分布式锁还有哪些实现方案
                    • 讲讲Java常见的垃圾收集器
                    • 讲讲更换GC的场景与问题
                    • 线程池是如何配置的
                    • 线程池是用来处理啥的、使用的业务场景、解决什么业务问题
                    • 讲讲阻塞队列
                    • 让你实现一个RPC框架,应该要考虑哪些点
                    • 阻塞IO和非阻塞IO有什么区别
                    • 如何实现多路复用IO
                    • select、epoll原理
                    • 讲讲go的协程、协程与线程

                      算法

                      • 反转链表
                      • 最长回文子串

                        二面(90min)

                        算法

                        • 子集
                        • n个骰子的点数和为k的概率

                          实习

                          • 讲讲实习中最有挑战的工作
                          • Balabala 规则引擎相关
                          • Balabala 一堆业务理解

                            场景

                            • 八股:内存页面置换算法
                            • 实现LFU算法,有时间复杂度要求
                            • 实现一个敏感词过滤系统,敏感词存在哪,如何从一篇文章中找到所有敏感词(字典树)
                            • Redis跳表如何实现?时间复杂度?
                            • MySQL联合索引使用问题,覆盖索引相关。

                              三面(60min)

                              大老板面的,聊了一小时实习的业务理解、架构设计、优化方向,以及为什么从前一段离职,为什么选择字节balabala

                              后续:hr面完第二天早上就oc+正式offer了,已去

                              21 字节

                              24非科班双非日常实习,0准备,没有记任何八股文,也没打算去

                              一面(总共90min,已过)

                              1. 自我介绍
                              2. 项目介绍
                              3. 面试官点评我的项目
                              4. POST和GET的区别
                              5. HTTP其他的请求方法
                              6. 在学校的项目出了用Java还有没有用其他语言
                              7. ArrayList和LinkedList区别
                              8. 说我实习挺丰富的
                              9. GIT常用命令、功能和原理
                              10. 描述项目的时候说到了好多的优化,具体有哪些
                              11. Mysql的索引有哪些,有什么区别
                              12. 索引的引用场景
                              13. Mysql锁机制
                              14. 乐观锁和悲观锁
                              15. 聊日常
                              16. 反问

                              算法:岛屿数量

                              解法:dfs

                              我自己是在备战考研,随便投了几个试试水,看看目前市场的竞争力,没准备八股文,也没打算去。整体感觉难度很小,基本都是在聊项目细节,项目也是真实生产环境的项目,所以项目问题不大,然后就是聊了暑假的实习项目。面试官人非常好,我中间说项目的时候描述的不是很好还告诉我这么去描述清楚,后面他对我的经历比较感兴趣聊了快半小时,就是我这么感兴趣的,小学时候这么写的外挂啥的

                              22

                              阿里-阿里妈妈-Java

                              1、mysql中myism和innodb的区别

                              myisam不支持事务,innodb支持事务

                              myisam只支持表锁,innodb支持表锁和行锁

                              myisam支持全文检索,innodb不支持全文检索

                              2、聚簇索引和非聚簇索引区别

                              聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据

                              非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置

                              3、jvm内存模型以及程序运行时,它们是怎么一个过程

                              方法区

                              程序计数器

                              堆

                              本地方法栈

                              虚拟机栈

                              4、jvm跨代引用是如何处理的

                              5、双亲委派机制的优点

                              6、消息中间件里的消息重复、乱序、丢失,请从生产者和消费者的角度去谈一谈

                              可以看出,保证消息的可靠性需要三方配合。

                              生产者需要处理好Broker的响应,出错情况下利用重试、报警等手段。

                              Broker需要控制响应的时机,单机情况下是消息刷盘后返回响应,集群多副本情况下,即发送至两个副本及以上的情况下再返回响应。

                              消费者需要在执行完真正的业务逻辑之后再返回响应给Broker。

                              但是要注意消息可靠性增强了,性能就下降了,等待消息刷盘、多副本同步后返回都会影响性能。因此还是看业务,例如日志的传输可能丢那么一两条关系不大,因此没必要等消息刷盘再响应。

                              如果处理重复消息

                              我们先来看看能不能避免消息的重复。

                              假设我们发送消息,就管发,不管Broker的响应,那么我们发往Broker是不会重复的。

                              但是一般情况我们是不允许这样的,这样消息就完全不可靠了,我们的基本需求是消息至少得发到Broker上,那就得等Broker的响应,那么就可能存在Broker已经写入了,当时响应由于网络原因生产者没有收到,然后生产者又重发了一次,此时消息就重复了。

                              再看消费者消费的时候,假设我们消费者拿到消息消费了,业务逻辑已经走完了,事务提交了,此时需要更新Consumer offset了,然后这个消费者挂了,另一个消费者顶上,此时Consumer offset还没更新,于是又拿到刚才那条消息,业务又被执行了一遍。于是消息又重复了。

                              可以看到正常业务而言消息重复是不可避免的,因此我们只能从另一个角度来解决重复消息的问题。

                              关键点就是幂等。既然我们不能防止重复消息的产生,那么我们只能在业务上处理重复消息所带来的影响。

                              幂等处理重复消息

                              幂等是数学上的概念,我们就理解为同样的参数多次调用同一个接口和调用一次产生的结果是一致的。

                              例如这条 SQLupdate t1 set money = 150 where id = 1 and money = 100; 执行多少遍money都是150,这就叫幂等。

                              因此需要改造业务处理逻辑,使得在重复消息的情况下也不会影响最终的结果。

                              可以通过上面我那条 SQL 一样,做了个前置条件判断,即money = 100情况,并且直接修改,更通用的是做个version即版本号控制,对比消息中的版本号和数据库中的版本号。

                              或者通过数据库的约束例如唯一键,例如insert into update on duplicate key…。

                              或者记录关键的key,比如处理订单这种,记录订单ID,假如有重复的消息过来,先判断下这个ID是否已经被处理过了,如果没处理再进行下一步。当然也可以用全局唯一ID等等。

                              基本上就这么几个套路,真正应用到实际中还是得看具体业务细节。

                              如何保证消息的有序性

                              有序性分:全局有序和部分有序。

                              全局有序

                              如果要保证消息的全局有序,首先只能由一个生产者往Topic发送消息,并且一个Topic内部只能有一个队列(分区)。消费者也必须是单线程消费这个队列。这样的消息就是全局有序的!

                              不过一般情况下我们都不需要全局有序,即使是同步MySQL Binlog也只需要保证单表消息有序即可。

                              部分有序

                              因此绝大部分的有序需求是部分有序,部分有序我们就可以将Topic内部划分成我们需要的队列数,把消息通过特定的策略发往固定的队列中,然后每个队列对应一个单线程处理的消费者。这样即完成了部分有序的需求,又可以通过队列数量的并发来提高消息处理效率。

                              图中我画了多个生产者,一个生产者也可以,只要同类消息发往指定的队列即可。

                              如果处理消息堆积

                              消息的堆积往往是因为生产者的生产速度与消费者的消费速度不匹配。有可能是因为消息消费失败反复重试造成的,也有可能就是消费者消费能力弱,渐渐地消息就积压了。

                              因此我们需要先定位消费慢的原因,如果是bug则处理 bug ,如果是因为本身消费能力较弱,我们可以优化下消费逻辑,比如之前是一条一条消息消费处理的,这次我们批量处理,比如数据库的插入,一条一条插和批量插效率是不一样的。

                              假如逻辑我们已经都优化了,但还是慢,那就得考虑水平扩容了,增加Topic的队列数和消费者数量,注意队列数一定要增加,不然新增加的消费者是没东西消费的。一个Topic中,一个队列只会分配给一个消费者。

                              当然你消费者内部是单线程还是多线程消费那看具体场景。不过要注意上面提高的消息丢失的问题,如果你是将接受到的消息写入内存队列之后,然后就返回响应给Broker,然后多线程向内存队列消费消息,假设此时消费者宕机了,内存队列里面还未消费的消息也就丢了

                              7、k8s的设计理念,源码是否看过,谈一谈这样架构的好处

                              8、程序计数器是如何工作的

                              9、volatile是干啥的?其中线

                              10、结合类加载和jvm内存模型说一下整个过程

                              11、了解那些数据库的索引数据结构?分别说说有什么好处?

                              12、微服务拆分的原则?优缺点?

                              13、启动三个线程实现顺序打印abc

                              14、动态代理的原理

                              15、容器了解多少?为什么k8s的设计里有pod,而不是直接用容器?

                              16、高并发场景下,有10台机器正在工作,其中有一台机器重启之后cpu load特别大,请从各个角度分析一下该现象出现的原因

                              17、如何用AQS实现一个锁

                              阿里-新零售-Java

                              阿里巴巴一面(55分钟)

                              先介绍一下自己吧

                              说一下自己的优缺点

                              具体讲一下之前做过的项目

                              你觉得项目里给里最大的挑战是什么?

                              Hashmap为什么不用平衡树?

                              AQS知道吗?知道哪一些呢?讲一讲。

                              CLH同步队列是怎么实现非公平和公平的?

                              ReetrantLock和synchronized的区别

                              讲一下JVM的内存结构

                              JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计JVM的堆的线程安全的?

                              讲一下redis的数据结构

                              redis缓存同步问题

                              讲一讲MySQL的索引结构

                              你有什么问题要问我吗?

                              阿里巴巴二面(45分钟)

                              根据项目问了一些细节问题

                              说一下HashMap的数据结构

                              红黑树和AVL树有什么区别?

                              如何才能得到一个线程安全的HashMap?

                              讲一下JVM常用垃圾回收期

                              redis分布式锁

                              再描述一下你之前的项目吧

                              你觉得这个项目的亮点在哪里呢?

                              你设计的数据库遵循的范式?

                              你有没有问题?

                              阿里巴巴三面(50分钟)

                              又聊项目

                              在项目中,并发量大的情况下,如何才能够保证数据的一致性?

                              elasticsearch为什么检索快,它的底层数据结构是怎么样的?

                              JVM内存模型

                              netty应用在哪些中间件和框架中呢?

                              线程池的参数

                              讲一下B树和B+树的区别

                              为什么要用redis做缓存?

                              了解Springboot吗?那讲一下Springboot的启动流程吧

                              如何解决bean的循环依赖问题?

                              Java有哪些队列?

                              讲一讲Spring和Springboot的区别

                              最近看了什么书?为什么?

                              你平时是怎么学习Java的呢?

                              阿里-阿里口碑-Java

                              阿里巴巴一面(38分钟)- 自我介绍

                              介绍项目, 具体一点

                              讲一下Redis分布式锁的实现

                              HashMap了解么吗?说一下put方法过程

                              HashMap是不是线程安全?

                              ConcurrentHashMap如何保证线程安全?

                              数据库索引了解吗?讲一下

                              常见排序算法

                              TCP三次握手,四次挥手。

                              深入问了乐观锁,悲观锁及其实现。

                              阿里巴巴二面(45分钟)

                              自我介绍+项目介绍

                              你在项目中担任什么样的角色?

                              那你觉得你比别人的优势在哪里?你用了哪些别人没有的东西吗?

                              Java怎么加载类?

                              linux常用命令有哪些?

                              Spring的IOC, AOP。

                              讲一下ORM框架Hibernate

                              设计模式了解吗?讲一下

                              自己实现一个二阶段提交,如何设计?

                              你还有什么想问的?

                              阿里巴巴三面(30分钟)

                              说一下自己做的项目

                              问了一些项目相关的问题

                              wait()和sleep()的区别

                              原子变量的实现原理

                              CAS的问题,讲一下解决方案。

                              有没有更好的计数器解决策略

                              讲一讲NIO和BIO的区别

                              Nginx负载均衡时是如何判断某个节点挂掉了?

                              讲一下redis的数据类型和使用场景

                              k8s的储存方式是怎样的?

                              Spring AOP原理是什么?怎么使用?什么是切点,什么是切面?最好是举个例子

                              算法题:给一堆硬币的array,返回所有的组合

                              阿里巴巴总监面(34分钟)

                              算法:给一个set打印出所有子集;多线程从多个文件中读入数据,写到同一个文件中;判断ip是否在给定范围内;打乱一副扑克牌,不能用额外空间,证明为什么是随机的。

                              Tcp和udp区别

                              线程池的原理以及各种线程池的应用场景

                              线程池中使用有限的阻塞队列和无限的阻塞队列的区别

                              如果你发现你的sql语句始终走另一个索引,但是你希望它走你想要的索引,怎么办?

                              mysql执行计划

                              数据库索引为什么用b+树?

                              你在做sql优化主要从哪几个方面做,用到哪些方法工具?

                              有没有想问的?

                              阿里巴巴HR面(23分钟)

                              自我介绍

                              平时怎么学习的?

                              有什么兴趣爱好吗?

                              怎么看待996?

                              怎么平衡工作和学习?

                              有没有什么想问的

                              阿里-阿里云-Java

                              一面:

                              项目介绍

                              字符串全排列

                              线程安全

                              设计题:设计一个微博系统,给了一个比较大的用户量

                              头条-后端 一面

                              1.介绍了一下做过的项目架构,和项目实现细节。面试官最近刚做了一个项目,跟我们做的项目一样,聊了比较久

                              2.看我之前是打acm的,说问道简单的算法题走个流程Orz。

                              题:一个先逆序再正序的数组,求最小值

                              5 4 3 2 1 2 3 返回 1

                              解法:二分

                              3.看我项目里有一个进程内缓存的项目,聊了一下,然后又问了concurrentmap和hashmap区别,concurrentmap的分段锁,最多支持多少个segment

                              二面

                              1.聊项目,聊了比较久

                              2.问了一到算法题,二叉树按中序遍历的方式转换为链表

                              解法:中序遍历,遍历的时候修改树节点的前后指针。需要用到一个辅助节点pre和一个节点记录链表头

                              三面

                              1.问了一个开放性题目,设计一个方案,根据用户地点返回附近的餐馆

                              按城市划分,将城市划分为网格,每个网格有不同的餐馆,先定位到用户在哪个网格,再获取周围网格中的餐馆

                              2.算法题:将一个字符串小数约分为分数,且分子分母约分过,需要考虑无限循环小数

                              1.15(3) 表示1.153333333333循环

                              解法:分三部分,整数部分,非循环的小数和循环的小数

                              非循环部分的小数变分数为x/10^n

                              循环部分小数变分数为y/10n(10m-1)

                              如上述例子中循环部分为 3/ 100*9

                              整数部分直接加上分数

                              约分使用欧几里得算分子分母最大公约数,再除一下即可

                              二叉搜索数第k大元素。

                              二叉树按层遍历。

                              堆排序。

                              topk。

                              两个set取交集

                              链表是否有环。如何找到入环节点

                              头条-后端

                              一面:

                              1.项目。

                              2.Reentranlock 与synchronized区别。 各自的底层实现

                              3.事务隔离级别。 innodb的默认隔离级别如何避免幻读?

                              \5. mvcc。快照读 当前读。

                              \6. jvm cms的步骤。 缺点。

                              \7. 有大量full gc如何排查?

                              \8. 堆 gc频次正常 时间正常。 出现内存泄漏是什么问题? 如何排查堆外内存? 你见过哪里用堆外内存?

                              \9. netty eventloop 大概做什么? io事件 读写事件。任务事件

                              \10. 任务事件中 如何保障多线程情况下线程安全的进行上层的writeAndFlush? mpsc队列

                              4.实现一个 LRU ? get为o(1)复杂度

                              二面。

                              1项目中 难点。讲两个

                              \2. 如何实现一个可靠传输? 序列号。校验和 重传 ack 滑动窗口。拥塞控制。等

                              \3. mysql架构。 sql经过解析器之后得到的解析树 如何转换成优化器的执行计划?如何选择?

                              \4. b+tree结构?索引的页分裂?innodb做了哪些避免页分裂的努力?都是从节点中间记录分裂吗?

                              \5. 辅助索引 一个范围查询。 如果当前值不在索引中。如何查处符合条件的记录的?

                              \6. innodb的特性? 自适应hash。聚簇索引。 insert buffer?

                              \7. 可靠传输一定需要建立连接吗?

                              \8. 双向链表消除相处重复的? 消除之后新链接在一起的仍相同继续删除。算法题 手写

                              \9. 数组中 指定元素值的最小下标。 如何最优?二分查找中继续二分查找 手写

                              \10. 红黑树特性?二叉搜索数第k大元素。 然后继续topk算法。 除了小跟堆之外。问还有别的呢? 基于快排思想的top k手写。

                              三面。

                              1.项目

                              2.kafka的传递保证

                              \3. 一次遍历打印出 二叉树的最大深度和最大宽度 (同层中节点个数最大值)

                              \4. 如何删除倒数第k节点

                              \5. 聊以后发展

                              头条-后端

                              一面:

                              \1. 项目介绍 20分钟

                              \2. mysql索引 优缺点 底层实现原理

                              \3. mysql的优化。 不限于sql优化

                              \4. mysql join原理

                              \5. tcp协议 如何保障可靠传输

                              \6. MTU是什么? MSL呢

                              \7. redis zset实现原理

                              \8. rdb 和 aof区别

                              \9. redis的主从同步原理

                              \10. 二叉树的后序遍历

                              \11. 二叉树按层打印

                              \12. 括号的有效组合

                              二面

                              \1. 项目介绍

                              \2. tcp udp区别。头部字节有哪些。多少字节

                              \3. 通过域名是如何从外网请求到你公司内网服务器的? 详细讲解一下

                              \4. 路由算法

                              \5. 当前路由到某一个节点,如何查找选择的下一个节点?

                              \6. ip 分几类? 如何划分的?

                              \7. tcptrace 请求一个目标ip。会把路由的所有节点ip打印出。是如何做到的?

                              \8. 最长回文子字符串

                              \9. 反转链表 递归。非递归

                              23

                              面试记录-松鼠Ai米学

                              时间:20221214

                              base:上海

                              形式:电话面试

                              岗位:Golang后端

                              介绍项目,遇到什么困难,用到什么技术。前后端是不是都是你做的

                              Gin和Echo看到你都用过,有什么区别

                              Go用了多久,Go你这块熟吗(答,不太熟)

                              Go的协程,GMP了解吗(后面这个GMP当时没听清),什么是协程(答,比线程更小的一个单位。这种问题好难回答,一方面是理解不深入,另一方面太抽象了。平时接触不到)

                              我说Go对后端并发支持的好,面试官问了解为什么支持的好吗(那我当然不知道)

                              课业重不重,实习时间

                              Python熟吗(答Python比Go熟点,然后后面就翻车了)

                              说一下Python中列表和元组的区别(懵了,没怎么用过元组),面试官说这是很基础的问题

                              大小区别:

                              a.sizeof() # 8024

                              b.sizeof() # 9088

                              tuples具有immutable的属性,意味着tuples内的元素一旦建立就无法更改、删除、排序,然而我们还是可以向list和tuples添加数据的。

                              由于list是可改的,所以他是不能作为字典数据类型的键的,而tuple却是可以的

                              tuple是不可更改的数据类型,这也意味着你不能去删除tuple中的元素或者是对tuple进行排序,然而,你既可以往list里去增加一个新的元素,也可以往tuple里去增加一个新的元素,从表面上看,似乎和tuple不能被更改的定义不相符,事实上,python只是替你重新创建了一个新的tuple而已,可以通过id方法来查看,id方法返回对象在内存中的地址,tuple a和list b在添加完元素之后,tuple a的id已经发生了改变,也即意味着这时的tuple a事实上已经并非原先创建时的那个tuple a了,而针对list b来说,list b在添加新元素前后的id是一样的。总之就是,b还是那个b,a已经不是那个a了:( )

                              除了上述区别和用法以外,tuples和list还有一个区别是tuples通常是存储异质元素(heterogeneous)的数据结构,而list通常存储同质元素(homogeneous)的数据结构。 详细解释就是:

                              Tuples 通常存储的是一连串的不同种类的事务,但是我们将他们当做一个耦合的整体来处理(比如我们可以把键盘、鼠标、显示器、主机存储在一个tuples里,这些元素都是不同种类的元素,但是放在一起处理时可当作一个计算机硬件系统元素来看待,而一旦定义了这个系统,就不能随意更改已有的元素)

                              List 通常存储的是一连串的相同种类的事务,所以我们可以把list中的每个元素都当做一个独立的个体来处理(也就是mutable的思想,例如list中存储了一些随机整数,他们拥有相同的属性(都是整数),但各自独立(没有任何相关性),我们可以单独的更改list中任何元素而不影响整体的数据结构)

                              字典

                              闭包(答函数里面定义函数)

                              如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。

                              闭包作用

                              • 装饰器!!!装饰器是做什么的??其中一个应用就是,我们工作中写了一个登录功能,我们想统计这个功能执行花了多长时间,我们可以用装饰器装饰这个登录模块,装饰器帮我们完成登录函数执行之前和之后取时间。
                              • 面向对象!!!经历了上面的分析,我们发现外函数的临时变量送给了内函数。大家回想一下类对象的情况,对象有好多类似的属性和方法,所以我们创建类,用类创建出来的对象都具有相同的属性方法。闭包也是实现面向对象的方法之一。在python当中虽然我们不这样用,在其他编程语言入比如JavaScript中,经常用闭包来实现面向对象编程。
                              • 实现单利模式!! 其实这也是装饰器的应用。单利模式毕竟比较高大,,需要有一定项目经验才能理解单利模式到底是干啥用的,我们就不探讨了。

                                is和==区别(没看过,说可能是值传递和参数传递)

                                官方文档中说 is 表示的是对象标示符(object identity),而 == 表示的是相等(equality)

                                ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等

                                is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同

                                只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False

                                is 的作用是用来检查对象的标示符是否一致,也就是比较两个对象在内存中的地址是否一样,而 == 是用来检查两个对象是否相等。我们在检查 a is b 的时候,其实相当于检查 id(a) == id(b)。而检查 a == b 的时候,实际是调用了对象 a 的 eq() 方法,a == b 相当于 a.eq(b)。一般情况下,如果 a is b 返回True的话,即 a 和 b 指向同一块内存地址的话,a == b 也返回True,即 a 和 b 的值也相等。

                                MySQL怎么优化一条语句

                                MySQL int bigint 占几个字节(不会)

                                tinyint 1 Byte

                                smallint 2 Byte

                                mediumint 3 Byte

                                int 4 Byte

                                bigint 8 Byte

                                float 4 Byte

                                double 8 Byte

                                decimal是MySQL中存在的精准数据类型,语法格式“DECIMAL(M,D)”。其中,M是数字的最大数(精度),其范围为“1~65”,默认值是10;D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M。

                                Linux了解哪些命令

                                其他方面有什么要求,工资之类

                                怎么看待加班

                                总结:关于语言的问题都不会,看八股也没看这些,平时也是实用主义,能跑的就没细究。结合上次的面试经历,问Go里int64的范围,也是一脸懵。还有常见的算法问题。就是两方面,语言相关的常见面试问题和算法相关的常见面试问题,这两方面一问就虚。之前背八股只背了计算机网络、操作系统、数据库。

                                24

                                实习项目…

                                什么时候开始实习

                                对语言有要求吗?

                                可达性分析

                                http和https区别

                                https加密过程

                                mysql事务

                                悲观锁和乐观锁区别

                                乐观锁有什么实现方式

                                MYSQL事务崩溃恢复

                                undolog和redolog

                                超买问题(库存不超售)

                                spring里面用到的设计模式

                                项目中要到的设计模式

                                微服务的理解

                                负载均衡算法

                                nginx

                                线程安全与不安全

                                怎么保证线程安全

                                数据库实践(说了要求,叫我先设计表及表的字段,设计sql,在sql提出问题是否能完全解决)

                                算法…

                                25

                                字节懂车帝Java面试

                                一、12.2一面(50min)

                                0、自我介绍

                                1、说一个跟后端有关的项目

                                2、(由项目引出)什么是里式替换原则?在实践的时候是怎么做的?

                                3、(继续引出)什么是单例模式?

                                4、手写单例模式,这里的new Singleton真的不会多次实例化吗?并发情况下呢?(这里指令重排没有说清楚)

                                5、(由并发引出)多个线程访问一个变量会有什么问题?

                                6、怎么解决这些问题?

                                7、volatile能完全解决吗?该怎么完全解决?

                                8、当一个变量用synchronized标识之后,会经过哪些步骤?

                                9、JVM的内存模型

                                10、GC主要是处理哪些部分?

                                11、那GC是如何处理的?有哪些策略?简单点说一下

                                12、标记-清除算法在清除的过程中会停顿吗?

                                13、网页上输入一个网址,进行HTTP连接,到后端处理,这其中的数据流是什么样的?

                                14、TCP如何保证传输的可靠性?

                                15、用过MySQL吗?MySQL的事务做到了什么?

                                16、隔离级别有哪些?

                                17、可重复读的隔离级别下能否避免幻读?用什么方式可以避免幻读?

                                18、算法题:一个包含2n+1个数的正数有序实数数列,有一个实数出现一次,其他实数都出现两次,找出那个出现一次的数。(剑指 Offer II 070. 排序数组中只出现一次的数字,最优解法没撸出来……)

                                ​ 自己写的题解:剑指 Offer II 070(力扣540):排序数组中只出现一次的数字(Java二分查找)

                                19、反问

                                总结:一面的面试官看上去很有经验,说话很温柔,也很有耐心,会明确地告诉我某一个点他想听详细说明还是简单概括;算法也会耐心地听我说复杂度的优化。

                                26

                                字节后端日常面经(二面挂)

                                11.22一面过11.23二面挂

                                上一个部门寄了,给我换了个流程唉

                                一面

                                面试官问我,三面面评这么好为啥不继续了,我纳闷了,不是你们挂的我吗

                                介绍项目,点赞是怎么考量的,热度点赞问题怎么解决,具体怎么实现。

                                怎么防止用户刷点赞接口等等,一直拉扯

                                八股:

                                redis缓存一致性?

                                缓存一致性从哪些方面考量,读写,每个步骤详细说有哪些问题。

                                穿透,雪崩,击穿

                                对高频点赞请求做了哪些处理?

                                从请求侧做了什么事情,在存储侧做了哪些事情?应该分为几个阶段,每个阶段怎么去操作?

                                如果数据库压力过大咋办?

                                数据库建表主键怎么建立的?

                                查询字段做了哪些优化?

                                事务的隔离级别,每个大概说一下?

                                mysql索引,巴拉巴拉

                                聚簇索引和非聚簇索引?

                                最左匹配原则?a,b,c问题

                                基本数据结构

                                红黑树的特点?

                                树的遍历?

                                图的遍历?

                                深度优先搜索自己实现以下?用什么数据结构实现。

                                排序算法,堆排序介绍,时间复杂度和核心思想

                                介绍java多线程,线程池参数,都有什么用?

                                核心线程数3个,最大线程数5个,有7个线程过来,具体流程

                                有哪几种常用的线程池?

                                线程处于空闲可以先回收吗?掰扯掰扯

                                springboot自动装载?

                                有哪些核心注解?

                                刷到题,平时都刷啥比较多,我说mid和easy多一点,他说那就不给你出hard了,hhh,《无重复字符的最长字串》

                                刚结束2分钟hr约二面

                                二面

                                1. 算法题,多叉树的所有子节点之和
                                2. java内存模型自己怎么理解,不许说官话
                                3. 线程安全是怎么实现的
                                4. 锁机制是怎么实现的,怎么就能保证数据安全
                                5. 自己实现多线程安全性,怎么实现
                                6. 自己实现总线,怎么实现?
                                7. CAS怎么理解?
                                8. 管道自己实现怎么实现?
                                9. 整个管道(链表实现)放在哪?(抛弃以前所有的知识自己想)
                                10. 海量数据建立链表太大怎么解决?
                                11. 换做树怎么解决?
                                12. 用淘汰策略怎么淘汰?(一直在说抛开概念,自己实现,巴拉巴拉,人麻啦)
                                13. 为什么要有内存虚拟化?
                                14. 程序的动态加载说一下。
                                15. 当前关注哪些技术?
                                16. 反问,看重候选人哪些能力

                                1.技术深度

                                2.学习能力

                                3.代码能力

                                面试官不让我说八股,让我自己想,自己来做怎么实现,只要我提到一点八股的概念性词汇就会被打断,寄了寄了,算法还是自己出的没写出来,节子再见。

                                27

                                字节后端24届实习 三面凉经(做过没A,这是我这辈子的耻辱)

                                本来以为三面也会像二面一样场景题轰炸,真没想到全是常规八股,还考一些细节八股,算法还考一道hard(做过但没a,这是我一辈子的耻辱),说实话真不想写这个面经

                                本来以为会追问的问题,简单回答一遍,等着他追问,他却不追问,直接切换另一个问题?本意就是让我自己拓展 ,下次吸收经验!一直讲到喊停为止(其实是我了解的不太深哈哈哈哈哈 不太敢造次)

                                这次就当做是一场教训,下次一定会面的更好!

                                1、自我介绍

                                2、你自我介绍的技能中,你比较熟悉哪些?(mysql,redis,rpc)

                                mysql

                                1、对于mysql,你有什么比较熟悉的地方?(索引机制、日志、锁机制)

                                2、说一说你对mysql索引的理解

                                3、b+树有什么缺点?

                                4、还认识其他别的索引吗?(?问完就换了个问题????我还以为会追问,没想到他本意是让我拓展是吧?)

                                4、刚才你说到了存储引擎,你知道mysql有什么存储引擎吗?有什么区别

                                5、说一说mysql常用的日志

                                redis

                                1、对redis的哪些数据结构比较熟悉?(又忘了拓展)

                                2、知道redis怎么搭集群吗?

                                3、对redis还有什么其他的了解?(持久化机制、日志、数据结构的应用)

                                4、那就谈一谈redis的持久化机制

                                RPC

                                1、RPC协议主要是用来做什么的?

                                2、详细说一说你的传输协议和序列化协议,用来做什么的,用了什么

                                3、RPC框架主要是用来做什么的?

                                估计是时间还没到,想再问一个方面,问我还熟悉哪些,我就说计网

                                计网

                                1、你对计网主要了解一些什么?(TCP/IP、HTTP、整体的网络模型)

                                2、那你说说在同一个局域网内是怎么通信的,用什么通信?

                                3、谈一谈ARP

                                4、你刚才说到了路由器,那你了解路由协议吗?路由协议做了什么

                                5、你说到了OSPF,那谈一谈OSPF(没复习到啊md,祸从嘴出)

                                6、你了解HTTP吗?(了解。好吧又让我自觉地拓展?又换问题是吧)

                                7、504状态码代表什么、403、302(真不记得了,我只记得404、401、200、301、100,直接记混了)

                                算法题

                                76. 最小覆盖子串 (同类题)
                                49. 字母异位词分组 (比较相近的原题)

                                变式:改了一下条件,要求的子串长度与原串长度一模一样,返回第一个满足的子串起始下标

                                这个条件改变是真的tm杂种陷阱,让我忘记了滑动窗口的特性,直接把窗口大小固定***了,但实际上和原题做法一模一样,加一个特判就行

                                好吧,但我当时没想到啊,我直接就大小为m的滑动窗口加哈希暴力了,O(n*m),让我优化算法,但我也优化不了啊,已经被j8题目条件限制了 思维定性了,忘了本质了,最后只是剪了一下支,真想不到怎么优化了

                                反问环节

                                1、我问他我的表现怎么样?(他直接当谜语人,不方便透露喔?)

                                2、这场面试主要考的是基础吗?我还以为会考场景设计之类的 上一次面试也考了很多。 他回答 确实是的,因为你们只是实习生 所以要求没有这么高。 (?那二面的时候是什么意思)

                                说实话,在我OSPF没回答出来、状态码全记歪了、算法题没优化出最优做法的时候我就已经寄了,看着他严肃的脸也不想问些其他什么问题了,我直接开摆了

                                也不期望能过了,现在想一想其实算法题不算难,可能面试官是不想为难我的,但可惜我没做出来哈哈哈哈哈

                                希望其他部门能捞一捞吧

                                28

                                字节跳动-番茄小说后端一面二面凉经

                                番茄小说,base上海,Golang

                                12.2约面试

                                12.6一面

                                介绍项目,图片怎么存储(不知道问这个问题的意图是什么),密码是否明文传递,如果要加密应该怎么做,介绍从注册到登录的全过程

                                浏览器输入URL后发生什么

                                TCP、UDP区别

                                TCP如何保证顺序;丢失、乱序后怎么处理,如果先收到5,后收到4怎么做

                                数据库事务

                                MySQL怎么实现一个事务,通过什么机制。应该是想问怎么保证要么都成功要么都失败

                                快排时间复杂度,极端情况是什么,怎么改进

                                git多分支开发流程,命令

                                git冲突怎么处理

                                merge和rebase的区别

                                代码题:将一个中文数字转成int,例如“六千四百八十五万七千四百零八”,不超过一亿。

                                写了40分钟也没写出来,丢人。没办法调试很难受,下来想了想,边界条件也不容易考虑完全。

                                总共一个小时,20分钟问题,40分钟代码。面完半小时打电话约二面

                                12.7二面

                                也是20分钟问题,40分钟代码

                                Golang里的int64最大最小(好丢人,这都不知道。主要是没细看过,拿不准。这类型明摆着跟2的64次方有关,再考虑下符号位正负。总之就是很丢人。以后回答问题先不要说不会、不了解)

                                进程与线程的区别

                                进程之间如何通信,同一台机器哪种方式最快(不知道)

                                局部性原理(懵了。下去查了一下,确实学过,但是太久没遇到过这个词了)

                                说几种排序算法,稳定性?

                                k个有序数组合并,答两两合并,问复杂度。又问有没有别的方式,没想起来。(下去查了一下,想起来算法课学过,呜呜呜)

                                无序数组求前k大,答小顶堆,问复杂度,问有没有更好的方式(真的有吗?)

                                MySQL一条查询语句执行过程(没理解问题,答了一堆where having groupby之类的)

                                幻读,Innodb怎么解决的

                                代码题:leetcode 213. 打家劫舍 II

                                另一道是字符串形式的数字的乘法,数字位数特别长的意思。“123” * “321”

                                今天上午(12.8)收到拒信,哭的好大声。本人的第一次面试就这么结束了。

                                一些教训:算法课学过的东西得再复习复习了,只背八股不太行

                                之前小红书打电话来问我,可能因为我说到岗时间时犹豫了,然后就没再联系我。以后再遇到,问实习时长就说六个月,问什么时候到岗就说随时到。不然面都不面你。

                                29

                                一面

                                时间:11.15–50分钟

                                1. 自我介绍
                                2. TCP三次握手
                                3. 拥塞控制
                                4. MyISAM和InnoDB区别
                                5. B+树和B树的区别
                                6. TCP和UDP的区别
                                7. Redis用过么
                                8. 简单说一下链表的数据结构
                                9. 如何删除倒数第n个结点
                                10. C语言和C++的各自特点
                                11. malloc和free与new和delete的异同
                                12. Linux间进程间通讯方式
                                13. MQ平时用过么
                                14. 介绍项目
                                15. 介绍一下IO多路复用
                                16. 日志系统如何记录服务运行状态
                                17. 用锁的性能会不会降低
                                18. 什么样的日志要求高性能、高并发、高安全
                                19. 什么样的场景会要求日志的顺序
                                20. SQL题——找出薪酬最高的所有人
                                21. 算法题——最长回文字串

                                小结

                                拥塞控制没听说过,闲扯了一点,数据库部分全G,最后数据结构和语言基础讲的不错,SQL没写对,算法A了。第二天打电话过了,感觉后面答得还行,挽回了数据库的问题。

                                二面

                                时间:11.21–40分钟

                                1. 介绍观察者模式
                                2. 多线程和多进程的区别
                                3. 进程间切换和线程间切换有什么区别
                                4. 线程间切换会出现***锁么
                                5. 还了解其他的设计模式么
                                6. 在C++当中用过其他设计模式么
                                7. 构造函数可以是虚函数么,为什么。
                                8. C++中为什么要有this指针
                                9. 哪些地方会用到this指针
                                10. 内联函数用来解决什么问题
                                11. 内联函数和宏定义的区别
                                12. 重载和重写的区别
                                13. 算法题——划分字母区间

                                小结

                                背了数据库、Redis、MQ都没考。。。语言基础答的感觉还行。算法没写过,想了个暴力解,面试官说可以,最后A了。这面感觉比第一面有把握多了,第二天约了三面。

                                三面

                                时间:11.25–40分钟 这面不知道是hr面还是技术面,又问技术又问竞赛、成绩啥的

                                1. 自我介绍
                                2. 你这个蓝桥杯是干啥的
                                3. 这个互联网+的比赛做的什么
                                4. 介绍一下你这个互联网+的项目
                                5. 里面用到了哪些技术
                                6. 多人在线功能是怎么实现的
                                7. 场景题:怎么设计一个房间类,要求实现多个用户在一个房间
                                8. 介绍一下多路IO复用
                                9. 算法题——返回倒数第K个链表

                                小结

                                中间有点问题没记上,前面基本就是聊天,问了问比赛的项目,还出了几个场景题,最后算法很简单。但是在飞书上写链表很麻烦,我自己写了个Node类,结果相连的时候报内存泄露的问题。输出结果是对的,但是飞书编辑器底下有问题,不知道是编辑器检查的问题还是哪写错了,最后也没改好。 回来在dev上敲了一遍发现没错,可能是飞书的检查更严格。。。

                                总结

                                三面过了好久都没反馈,以为三面最后表现不好挂了。后来hr打了个电话说面试都过了,但无hc了,G。 总体感觉二面>三面>一面

                                30

                                字节后端实习一面

                                实习项目…

                                http长连接

                                http请求包和响应包

                                请求包和响应包中空白行的作用

                                状态码(501,502,503,504)

                                304与协商缓存和强制缓存

                                b和d建立联合索引,b>1 and d=1,索引怎么走

                                聚簇和非聚簇

                                建立索引的方式

                                redis用过哪些数据结构

                                实习项目里面怎么用的redis

                                用户最近的十条访问记录(怎么用redis实现)

                                为什么redis高性能

                                消息队列和RPC区别

                                40亿个qq号,每个32位,怎么去重(我说了布隆过滤器,但是要求我再说一个)

                                算法…

                                31

                                字节后端实习 懂车帝 一面面经

                                先自我介绍,问我可以实习多久

                                首先说项目,但是我的项目都是深度学习的项目,估计面试官也不太懂

                                准备的数据结构和操作系统题都没问

                                计算机网络了解吗

                                tcp的拥塞避免(详细)

                                https了解吗

                                用户输入一个网页到最终显示的全过程

                                如果这个过程出现了问题,你需要如何排查到是哪里的问题

                                MySQL了解吗

                                事务是什么

                                主键索引和唯一索引的区别

                                b树和b+树 为什么用b+树

                                两道算法题

                                1.给出一个单向链表,要求在只有一次遍历下,求出倒数第k个节点,类似面试题 02.02. 返回倒数第 k 个节点

                                2.给出一个数字n,给出一个组合如【1,2,3】,求由该组合组成的小于n的最大数

                                和这道题很像,区别就是只找出最大的那个数 902. 最大为 N 的数字组合

                                面试官还是比较不错的,但是两道题都没做出来,有点紧张。只说了一下思路,估计凉了

                                更新--------------------------------------------------------------------

                                一面过了

                                二面

                                上来讲比赛和项目

                                手撕算法78. 子集

                                内存页面置换算法

                                在kill掉一个进程之后 操作系统做了什么工作

                                智商题 25匹马找出最快的5匹

                                感觉凉透了 算法也没写出来 智商题也错了 八股也不会,寄!

                                更新--------------------------------------------------------------------

                                二面挂了

                                32

                                字节后端24届实习 二面面经(高质量面试,但居然过了?)

                                字节二面(110+min 高质量面试)

                                说实话,这次面的问题真的很难,很多问题我都是要提醒一下才能回答上来,场景题很多、还有用场景结合八股的

                                有点措不及防,答的稀烂 但过了我是不太理解的 ,可能发面经真的有用,来还愿了(已约三面)

                                1、自我介绍

                                2、介绍一下做的比较好的项目(这里我介绍了RPC,被问题狂烂轰炸)

                                RPC项目的问题

                                2.1 问我RPC中的线程模型,比如说主线程、工作线程,这些我是怎么设计的(一个线程池用于IO多路复用监听连接(netty自带),一个线程池用于处理连接的事件循环(netty自带)) … 这里忘了说设置了一个特定的线程池处理请求的实际逻辑,妈的寄了

                                2.2 又扯到了线程池的参数设置(常规八股)

                                2.3 我看你单机多实例的TPS反而比单机单实例的还低,有思考过为什么吗?(我觉得是因为单机的性能有限制,单实例就已经打满了,再多实例就会多出额外的没必要的开销)

                                2.4 你说单实例被打满,那再按照你的设计细分一下被打满的场景(如何被打满?),在这些场景下的线程池又要分别如何设置(我听不懂题目,他提醒我,从请求的处理逻辑过于简单和过于复杂两方面进行考虑)

                                2.5 为什么采用RPC,而不是采用HTTP(常规八股,可能面试官在想其他问题 丢我一个八股)

                                2.6 我看你使用了nacos作为服务注册中心,那么使用nacos有什么好处呢?(我说我没了解太多,只是用来当注册中心的,所以换了个问题,哈哈 其实只是nacos因为能给定服务实例权重,方便我实现随机权重算法哈哈哈哈哈)

                                2.7 你使用的负载均衡算法(随机权重、一致性哈希),是在哪里负载均衡的(客户端还是服务端)?

                                2.8 随机权重算法的使用场景(我答了有权重)、一致性哈希的使用场景(答了高可用,防止请求打不到实例上;哎我这里的理解有错,应该是防止请求打到不同实例上)

                                2.9 那么有权重的场景都使用随机权重,其他场景都使用一致性哈希吗?随机权重就会出现请求打不到实例上的问题吗?(我觉得是不会的)

                                2.10 那么我给定你一个场景,各个实例的状态都是相同的(也就是说他们的负载能力、剩余内存大小都是相同的、打在不同实例上的结果也是相同的,他们之间没有任何区别),那么你还会接着使用一致性哈希算法吗?(这个问题其实我当时有点懵,实例的状态相同和我一致性哈希有什么关系,我是为了高可用性啊;最后他说不是什么场景都能用一致性哈希的… 我就顺带回答一句 确实 计算哈希的开销会比随机权重更大)

                                复盘之后发现,是我对于一致性哈希的使用场景理解不到位…所以导致我对面试官的问题都理解得不清晰

                                2.10 随机权重算法具体如何实现?

                                2.11 如果带权重的话,要如何实现一致性哈希?

                                (我这里真的答得烂透了…没有实际地区分它们各自的适用场景)

                                复盘时仔细总结了一下它们各自的使用场景

                                这里需要实际清楚一致性哈希的使用场景,是为了保证信息相同的请求能够尽量地打到同一个实例上(因为如果请求在实例中保存数据,那实例的不同就会造成取不到这些数据导致错误,这时候就需要数据迁移)(这里没有考虑服务实例之间的数据一致性,有可能它们会进行数据同步也不一定),在集群扩容缩容时,一致性哈希可以减少数据的迁移量,只有一部分的请求会打到不同的实例上。所以一致性哈希适用于需要使用节点存储数据(打到不同实例上会出现不同结果)、并且节点个数会动态变化的场景。

                                而随机权重算法的使用场景,则适用于不同的服务实例具有不同的负载能力、处理优先级的场景,每个服务实例具有不同的权重(在默认权重下就退化成朴素的随机算法了),请求打在权重较高的实例上的概率会更高。但是随机权重算法没有考虑到数据的迁移问题,所以应该适用于 不需要使用节点存储数据,打在哪个实例上都没有区别 得到的结果都是相同的,但是需要考虑各个实例具有不同负载能力的场景。

                                学生论坛项目的问题

                                2.12 我看你的另一个项目 学生论坛,里面有说到两个定时任务(1、定期批量地将点赞关注数据持久化到mysql中;2、定期刷新帖子的热度,并刷新热帖排行),那么为什么这两个任务要定期呢?批量又是怎么个批量法呢?(常规)

                                2.13 你的帖子内容,具体是如何存放的呢?是直接用mysql存的吗?(提到了使用es,倒排索引,对比mysql的优势)

                                接下来就有点高潮了,直接在这个基础上加了场景题(可能因为我提到了es,借它之手来问我,实际上与es毫无关系)

                                场景题:

                                1、那就说说es,在使用es的场景下,如果帖子存的太多了,那是不是会导致它的性能下降,这时候你会怎么办?(搭集群)

                                2、在搭集群的场景下,如果你想要用es通过前缀查询,查询到热度为top10或者top100的帖子,这里不考虑es实际的底层原理(因为他也不懂),就让你想一想要怎么实现?(这里我以为是问是集群是怎么运作的,答了主从架构,在从节点中各自取top100,再交给主节点进行排序,再取出最终的top100)

                                3、在单机的场景下,你es节点要通过前缀查询,查询到热度top100的帖子,这种算法你会如何设计?会考虑使用什么数据结构?这里要求响应要很快(原本我还以为要考虑字符串匹配的算法、然后再考虑排序的算法;没答上来,他提醒了trie树,但我觉得这种做法会OOM,然后他叫我不考虑内存,在集群架构下可以分摊给别的节点,哎我果然是刷题思维,跟他们这种工作多年相比本质上真的有区别)

                                4、接着上面那一题,如果使用trie树,在一个帖子被点赞、访问时(也就是它的热度更新时),你会如何维护这个trie树?时间复杂度为多少?

                                3、计网

                                3.1 给定你一个场景,发送端和接收端建立了TCP连接,正在传输数据,如果此时接收端进程宕机了(是进程宕机哦),而发送端并不知道,这时候会发生什么样的事情?(一开始回答了保活机制,但被面试官提醒了;然后又回答没有ack 导致发送端阻塞 超时重传;经过提醒才知道原来tcp是由操作系统的协议栈控制的,只要主机没宕掉就仍然会ack…接下来你们自己想咯?)(不过我在看小林coding的时候说 进程崩溃时,内核会自动回收它的资源,所以socket也会被回收,并且发送四次挥手断开连接… 不知道是面试官错了还是小林错了)

                                场景题又来喽

                                场景题

                                1、如果你要基于TCP协议,传输一个大文件,传输的过程中很有可能出现错误 比如说宕机什么的,现在要你设计一个协议去保证这个大文件的传输,那么这个协议你要如何设计,简单的讲一讲?(很经典的一个大文件上传、断点续传)

                                2、那么发送端要如何知道还有哪些文件段还没发呢?(暗示我的协议缺陷,没有给确认号,但给了不就是类似滑动窗口了?爷不想用滑动窗口,所以还在想别的办法,但他就是想把我拉到滑动窗口)

                                3、说我想得太复杂了,这不就很类似于滑动窗口吗?(我就是不想用滑动窗口啊!)

                                4、说一下滑动窗口的执行流程(这才是你的最终目标吧面试官?)

                                4、Mysql

                                4.1 了解事务的特性吗(常规八股)

                                4.2 你刚才说到了原子性、一致性、隔离性,能具体说明一下是怎么一回事吗?举一下实际的例子(转账例子用一辈子)

                                4.3 刚才说到了隔离性,你知道mysql的最高隔离级别是如何实现的吗?(常规八股)

                                场景题(结合了操作系统)

                                1、如果要你来实现mysql的最高隔离级别,你会如何实现呢?具体说一下场景、具体的语句,要分别如何加锁,加什么锁?(仍然用转账来说明,A给B转账,B给A转账)

                                2、你觉得你刚才说的这种场景会发生***锁问题吗?具体会发生在哪里呢?(转账是有流程的,先当前读自己账户余额,再当前读对方用户余额,再更改账户余额,具体***锁在哪你们自己想)

                                3、要如何解决这种***锁的情况,在代码中要如何编写?(其实我觉得如果根据mysql的锁机制就一定会***锁,不管顺序如何,只要同时转账就会***锁;最后他让我不考虑mysql的锁机制,只考虑普通的锁,那就是操作系统的经典场景)

                                这里是我当时对场景没有思考得太清楚,同时开启转账事务的时候,如果当前读加的是读锁,则***锁会发生在更改余额那里;如果当前读加的是写锁,则读的时候就会发生***锁了,本质上还是操作系统的经典***锁问题,(我太笨比了)

                                5、操作系统

                                5.1 逻辑地址、虚拟地址、物理地址、线性地址,他们之间分别有什么区别?它们之间是如何转化的?(说实话逻辑地址这个概念实在太模糊了)

                                应该是没有了,记不起来了,忘了录音

                                6、算法题

                                1、检测循环依赖(其实很简单,但没复习拓扑排序,换了道题)

                                2、将一棵二叉树根据中序遍历的顺序,转化为一个双向链表(左指针 = 链表的前向指针;右指针 = 链表的后向指针)

                                7、反问环节

                                33

                                [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9s6ryHLl-1676358600260)(D:\books\image-20230214082809102.png)]

                                34

                                字节实习后端一面

                                实习项目…

                                linux查看进程

                                linux查看线程

                                top命令信息(要求详细)

                                进程与线程与协程(三个的区别)

                                线程之间共享哪些信息(页表,全局变量,常量)说我没说完整

                                跳跃表插入过程(要求详细)

                                http长连接实现细节(要求详细)

                                redis的数据结构

                                bitMap的好处

                                redis存在高并发问题吗?(不考虑日志同步)

                                UUID和自增ID各自优缺点(至少说四点)

                                B+树分层计算问题(默认16KB,通过主键计算)

                                mysql中null值怎么存放?有什么好处?

                                算法题。。。。。

                                35

                                字节后端24届实习(搞中台的部门) 一面面经

                                一面(60min)

                                都是挺基础的问题,发个面经长长人品

                                自我介绍 1、使用过线程池吗?有什么参数?怎么设置参数?为什么要这样设置?具体场景呢? 2、进程切换具体切换的是什么?线程切换呢? 3、能讲一讲NIO吗?它的非阻塞具体在哪里? 4、了解过AIO吗?讲一讲 5、Netty是用来做什么的?为什么说它高性能?具体讲一下 6、你觉得TCP协议有什么缺陷吗?(应该是一个开放性问题?) 7、Mysql联合索引(a,b,c),查询条件ab,ac,bc,具体哪些使用到了索引?为什么? 8、选一个你最熟悉的方面,我来问你问题(小奖励?) 这里我选的是mysql,问的是:如果在事务提交的过程中宕机了,那么在恢复数据的时候,底层会发生什么? 9、算法题 3. 无重复字符的最长子串 变式:求至多有k个不同字符 10、反问环节

                                36

                                字节后端开发实习基础岗一面

                                时长:70多分钟。

                                1、自我介绍:因为我是非科班,问了一些为什么要转码。

                                2、问我还在打dota吗,什么段位?(我简历上写了这个),说自己很菜,现在太忙了,打不了,一年前经常玩。

                                3、项目介绍

                                4、你的项目里面用到了redis,具体谈一谈为什么?

                                5、为什么不用mysql?

                                6、redis是线程安全的吗?并发环境下,redis跟mysql哪个好?如何去做选择?

                                7、redis实现点赞功能是线程安全的吗?如何实现的?

                                8、redis持久化策略?mysql持久化方法?

                                9、你提到了redo log的日志 relog日志里面写了一些什么内容?用什么方法写的?什么时候写?

                                10、binlog日志里面写了什么内容,怎么写的,什么时候写有什么用?

                                11、mysql事务执行过程中,未提交的事物会被持久化吗?

                                12、redis事务与mysql事务的区别是什么?

                                13、Linux内核了解过吗?

                                14、内存是怎么分配的?

                                15、 redis内存满了怎么办?

                                16、redis集群如何扩容?如何分片?客户端如何直到分片之后,该去寻找哪一个key。

                                17、虚拟内存和物理内存?为什么要用虚拟内存技术?

                                18、算法:最长递增子序列(********300),acm模式,写完之后,面试官问执行流程,口述debug过程。

                                19、算法提问,你的算法找到的递增序列是唯一的吗?

                                20、时间复杂度,空间复杂度,为什么要使用二分查找,你说你的算法用了动态规划,是怎么体现的?

                                21、有什么要问我的?

                                我的反问:

                                1、你们部门是主要写golang吗,我技术栈主要是java,会不会有影响,

                                答:没事可以学

                                2、问面试表现?

                                答:没什么特别的感受,觉得还行,还好。

                                3、问什么时候出结果?

                                答:以往都是三个工作日,具体要问hr。

                                后记:一次非常哈人的面试,总结下来就是全程在问数据库,我都怀疑我面的是数据库部门, redis集群的一些东西基本都没答全。

                                字节面经10次有9次出现的TCP一点没问,准确来说是计网一点没问,而且所有的问题都是从项目出发的,很苦恼唉

                                问的操作系统的内存分配也没答上来,说了半天,快表慢表和段页式存储,结果面试官说偏了,不过没关系。唯一自信的就是算法题,因为之前做过类似的,其实十分钟就写出来了,但是又花了一点时间假装没写出来,自己思考了一下代码流程和时间复杂度什么的,果然后面面试官追着问这些。

                                如果通过了更二面吧,发个一面面经攒一波人品。

                                37

                                WallTech实习面试

                                一面:

                                1.自我介绍

                                2.ArrayList 底层数据结构

                                3.ArrayList 扩容机制

                                4.ArrayList 底层复制

                                5.hashmap的底层数据结构

                                6.hashmap底层数组为什么是2的n次方

                                7.链表和二叉树,二叉树的优势

                                8.Spring IOC AOP

                                9.什么是***锁,怎么解决***锁

                                10.什么是索引,索引一系列

                                11.你的优势是什么

                                12.数组倒叙算法

                                二面:

                                1.自我介绍

                                2.优势劣势

                                3.对公司的了解

                                4.算法从浅至深

                                ​ 1.数组反转算法,

                                ​ 2.两个方法 空间时间对比

                                ​ 3.单字节双字节

                                ​ 4.单字节数组 反转单词(不允许开辟新的空间) is a book=>book a is

                                5.String StringBuild StringBuffer

                                ​ 1.区别

                                ​ 2.线程安全

                                ​ 3.效率对比

                                ​ 4.StringBuild在什么情况下与String效率相同

                                6.关系型数据库与非关系型数据库

                                38

                                字节后端研发一面

                                1. JAVA源码 HASHMAP底层机制

                                2. TCP的细节,怎么建立连接的,拥塞控制,流量控制的区别

                                3. MySQL MVCC机制,事务隔离级别,幻读

                                4. JVM的垃圾回收,全过程,新生代,老年代,balabala的细节

                                5. 进程间通信

                                6. .写一道算法题,贪心,应该是leetcode原题

                                7. 一个简单的动态规划

                                39

                                字节tt直播 后端开发 一面凉经

                                原本是被HR捞去客户端的,我跟HR说我更偏向后端,于是HR就把我推到这个岗位,面完之后被锁了一个星期多(感觉被坑了)

                                自己在春招的时候因为自己太菜+过于害怕,所以从来没有投过字节,秋招能够体验一次字节的面试,也算没有遗憾了

                                60min

                                自我介绍

                                讲一下实习吧,可以挑一个你最有印象的模块讲(提到了一些设计模式)

                                了解设计模式是吧,手写一个单例模式

                                你这里为什么要加volatile(可见性、重排序,说可见性的时候提到了JMM的内存模型,说到了工作内存)

                                你说的工作内存是和什么对应起来的?(线程)

                                Java为什么要这样子做,直接读不行吗(一开始说了线程安全方面,好像面试官不太满意,后来又想到了JVM层面,Java和C++的一些区别)

                                对多线程也了解是吧,做道题,三个线程循环打印ABC

                                你有多少种方式做这道题(说了4中,synchronized、ReentrantLock、信号量、while***循环)

                                你随便挑一种方法做吧

                                你刚刚也提到了信号量,那你了解Java的信号量是怎么实现的吗(不了解)

                                会Redis是吧,我们可以把Redis看成是一个很大的哈希表,哈希表肯定会进行扩容和rehash操作,说一下Redis是怎么做的(渐进式哈希)

                                *假如有一种写少读多的场景,哈希表里面存储着百万级别的数据,但是你很少访问这个哈希表,如果一次rehash操作可能需要几天才能完成,如果是你你怎么优化呢

                                计算机网络了解吧,说一下DNS解决的问题和查询方式

                                *DNS劫持有了解吗,你访问百度,有可能因为DNS被污染,结果出来的是度百,那你怎么优化呢(一开始想不出来,面试官提示可以想一下HTTPS)

                                那聊一下TCP吧,TCP的可靠是怎么实现的呢(三次握手、四次挥手、拥塞控制、超时重传、滑动窗口…)

                                如果收到多个请求,可不可以只响应一次呢(TCP提供累积确认机制)

                                TCP是怎么判断一个报文应不应该重传(计时器)

                                算法题:旋转链表

                                反问

                                40

                                2022抖音支付后端日常实习面经

                                一面 11.14

                                先自我介绍,了解项目

                                StringBuffer和StringBuilder的区别

                                操作系统,进程和线程的区别

                                用户态和内核态,如何切换

                                http和https的区别

                                TCP四次挥手,还有其中的状态

                                mysql的事务隔离级别

                                MVCC+next-key

                                什么时候需要建立索引

                                算法题:实现一个具有要求大小带有过期时间的KV cache,满足插入新数据,当cache超过size要求时,从过期数据中随机删除一个,如果没有过期数据,则删除时间最久的数据。

                                类似于LRU实现,使用双向链表,定义链表节点其中带有Date私有变量

                                二面 11.16

                                先自我介绍,了解项目

                                单例模式

                                涉及项目细节,如何压测,之后出现什么现象

                                项目中遇到什么什么难点,技术上的

                                如何学习新技术

                                mysql中存储引擎

                                进程通信方式,具体使用场景

                                逻辑题:经典赛马问题,从25匹马选出最快的3匹马

                                算法题:三数之和(LC15)

                                三面 11.21

                                三面没有自我介绍环节,上来寒暄了几句,直接八股

                                操作系统中同步和互斥的区别

                                mysql中查找过程中如何索引,比较底层的实现机理

                                如何实现在大数据中例如百度中实现排行榜功能,本来以为是问redis数据库实现,然后交流过程中没有意识到是top K算法,没有答全

                                算法:合并有序链表,难度不大(LC21)

                                总结,面试体验非常好,面试官问的问题也很有深度,专业性很强。八股内容还需要多看看,一面和三面中答得不是很全。已经拿到实习offer,提前给大家拜个早年,祝大家新年快乐,offer多多!

                                #41

                                凯美瑞德 | Java开发工程师 | 一面,HR面(OC)

                                前言

                                11月16号Boss投递->11月18号笔试->11月21号一面

                                一面 (11月21号,40min左右)

                                自我介绍

                                项目(10min)

                                对简历的第一个项目提问了10min。

                                实习(10min)

                                介绍一下实习期间做的最有挑战性的项目?

                                针对实习项目做了一些提问。

                                Spring

                                Spring是什么?

                                什么是IOC?

                                什么是AOP?

                                SpringCloud组件了解哪些?

                                讲一下SpringBoot启动流程?

                                讲一下SpringBoot自动配置原理?

                                集合

                                线程安全的集合有哪些?线程不安全的呢?

                                讲一讲ArrayList?

                                讲一讲LinkedList?

                                ArrayList和LinkedList的区别?

                                ConcurrentHashMap和Hashtable的区别?

                                ConcurrentHashMap如何实现的线程安全?

                                JDK1.8 中的ConcurrentHashMap的CAS机制体现在哪里?

                                其他

                                对金融了解多少?

                                有没有想法去学习一些金融知识?

                                反问

                                部门的业务?

                                部门的技术栈?

                                HR面(11月22号)

                                引流

                                蚂蚁 奇安信 华为 中兴 阿里 腾讯 百度 蚂蚁 支付宝 滴滴 快手 抖音 字节头条 猝*** 应届生 裁员 辞职 年终奖 秋招 春招 校招生 argue 财报 凉 pua 买房 外企 需求 瓜 卷 薪资 北京 上海 深圳 杭州 一线 拼多多 面试 福利 华为 美团 蔚来 大华 同花顺 米哈游 陌陌 探探 度小满笔试 腾讯内推 23校招 面经 滴滴笔试 滴滴 比亚迪。

                                42

                                字节跳动|后端开发实习生|一面,二面,HR面 (OC)

                                前言

                                不知道是在哪里投递的,可能是在脉脉上一直有字节HR联系投递,就全点击了感兴趣,之后简历过筛,约了11月21号一面。这也是自己第一次面试字节,之前投递了很多次字节实习,简历都被筛了。

                                一面(11月21号,1h多)

                                自我介绍

                                项目

                                介绍一下自己最熟悉的项目?

                                项目使用的技术栈?项目的微服务是怎么划分的?

                                项目的签到功能是怎么实现的?

                                项目的搜索附近的人功能是怎么实现的?

                                Java基础

                                final、finally、finalize的区别?

                                异常有哪些分类?

                                Error 和 Exception都是谁的子类?

                                JUC

                                线程和进程有什么区别?

                                有多少种实现线程的方法?

                                ThreadLocal是什么?

                                ThreadLocal的实现原理?

                                使用ThreadLocal有什么问题吗?如何解决?

                                JVM

                                讲一下JVM内存结构?

                                垃圾回收算法了解多少?

                                MySQL

                                MySQL 支持哪些存储引擎?

                                MyISAM 和 InnoDB 的区别有哪些?

                                聚簇索引是什么?

                                非聚簇索引是什么?

                                使用非聚簇索引如何查找数据?

                                建立联合索引(a,b,c),where c = 5是否会用到索引?为什么?

                                where b =5 是否一定会命中索引?(索引失效场景)

                                什么是数据库事务?事务的作用是什么?

                                事务具有的四个特征?

                                MySQL 默认隔离级别?

                                Redis

                                单线程的Redis的QPS是多少?

                                单线程的Redis为什么这么快?

                                Redis的持久化机制?

                                Redis切片集群?数据和实例之间的如何进行映射?

                                Redis扩容之后,哈希槽的位置是否发生变化?

                                Redis缓存和数据库不一致解决方法?

                                设计模式

                                了解哪些设计模式?

                                单例模式有几种实现方式?

                                单例模式最常用的实现方式是哪种?为什么?

                                数据结构

                                讲一下冒泡排序和快速排序的区别,从平均时间,最好,最好,稳定性上来说?

                                算法

                                LeetCode 543. 二叉树的直径

                                反问

                                部门的业务?

                                部门的技术栈?后序的面试流程?(被告知一面是没有问题的,二面等后序通知)

                                二面(11月23日,45min左右)

                                自我介绍

                                实习经历(20min)

                                介绍一下实习期间做的项目?

                                对实习项目做了提问。

                                Redis

                                对redis的数据结构是否熟悉?

                                讲一下Sorted set的底层数据结构实现?

                                什么是缓存穿透?如何解决?

                                什么是缓存击穿?如何解决?

                                什么是缓存雪崩?如何解决?

                                什么是缓存预热?如何解决?

                                Redis如何实现分布式锁?

                                MySQL

                                什么是回表?

                                回表记录越多好吗?(回表的代价)

                                性别字段要建立索引吗?为什么?

                                什么是区分度?

                                MySQL查看字段区分度的命令?

                                MySQL主从复制流程和原理?

                                MySQL如何查看查询是否用到了索引?

                                type 列的最好,最好级别?都代表了什么意思?

                                计网

                                说说OSI七层模型?

                                用户输入网址到显示对应页面的全过程?

                                DNS 的解析过程?

                                HTTP有多少版本?

                                HTTP/1.1和HTTP/2.0的主要区别是什么?

                                目前使用最广泛的是哪个HTTP版本?

                                什么是幂等?幂等方法了解哪些?

                                除了Get方法之外还了解其他幂等方法吗?

                                一个TCP连接可以发送多少次HTTP请求?

                                算法

                                LeetCode 15. 三数之和 (带输入输出)

                                反问

                                是否要学习大数据相关知识?

                                之后的面试流程?

                                HR面(11月28日,15min)

                                觉得自己前面的2轮面试表现的怎么样?哪里发挥的好?哪里发挥的不好?

                                未来想从事哪一行业?

                                什么时候可以来实习?

                                可以实习多长时间?

                                平时都是怎么学习的?

                                介绍一下实习期间主要做的项目?

                                实习期间遇到的最大困难是什么?怎么解决的?

                                实习给你带来了哪些成长?

                                如果你可以来实习,你对自己有哪些规划吗?

                                你有什么想问我的吗?

                                引流:

                                蚂蚁 奇安信 华为 中兴 阿里 腾讯 百度 蚂蚁 支付宝 滴滴 快手 抖音 字节头条 猝*** 应届生 裁员 辞职 年终奖 秋招 春招 校招生 argue 财报 凉 pua 买房 外企 需求 瓜 卷 薪资 北京 上海 深圳 杭州 一线 拼多多 面试 福利 华为 美团 蔚来 大华 同花顺 米哈游 陌陌 探探 度小满笔试 腾讯内推 23校招 面经 滴滴笔试 滴滴 比亚迪。

                                #43

                                11.16 字节后端java实习一面

                                部门: 新业务部门

                                内容:

                                自我介绍

                                项目介绍

                                单体和多体架构区别

                                es和mysql区别

                                对垃圾回收的了解(自我发挥)

                                ***锁的四个条件和避免***锁条件

                                算法题:

                                一棵二叉树, 将其中序遍历转成双链表的形式, 只可以使用树中结点的左右儿子指针, 不可以开新空间

                                #44

                                字节跳动|抖音电商平台治理|后端日常实习生|三面面经

                                项目相关:能简单介绍一下项目“xxxx平台”是做什么的吗,“xx生成”是使用人工智能算法吗,人工智能有可能不准啊你怎么提高正确率,算法调优是你在做吗,能讲下整套系统的架构、每个组件有什么作用吗,授权认证不是在网关里做的吗,能讲下 JWT 的工作原理吗,JWT 和 Session、Cookie 有什么关系吗,JWT 不依赖 Cookie 那一套实现吗

                                Object 类里有哪些方法,每个方法有什么作用

                                hashCode 和 equals 方法有什么关系,尤其是当使用哈希表的时候,这两个方法要同时重写吗,如果两个对象的 equals 为 true 那他们的 hashCode 的值是不是必须要一样,反过来呢,那什么叫哈希冲突呢,哈希冲突怎么处理呢,wait 和 notify 有什么用,wait 和 sleep 方法有什么区别,wait 方法的参数指定时间有什么用吗,finalize 方法有什么用、什么时候调用呢

                                Spring 的 BeanFactory 和 FactoryBean 有什么区别

                                Spring 的 IoC 和 AOP 能讲一下吗,DI 和 IoC 是什么关系,AOP 的切面是什么意思

                                有两个文件,找出相同的行(设计题)

                                已经保研了对吧,能实习多久呀

                                算法题

                                #45

                                中电智科 | C++开发工程师 | 一面,二面

                                前言

                                11月16号 Boss HR主动联系邀请投递,我说我不会C++,HR说对C++有兴趣也可以,可能觉得我经历不错,于是在第二天安排了线上初试。

                                一面(11月17号,30min)

                                自我介绍

                                项目

                                项目的QBS有多少?

                                自己在项目的职责?负责哪块内容的开发?

                                项目的健壮性?负载均衡?集群扩展?

                                C++基础

                                对多态的理解?

                                浅拷贝和深拷贝的区别?

                                STL迭代器的实现原理?

                                C++中的容器了解多少?

                                Vector与Array的区别?

                                ArrayList与LinkList的区别?

                                计算机网络

                                TCP 和 UDP 的区别?

                                为什么连接的时候是三次握手,关闭的时候却是四次挥手?

                                TCP ,UDP协议属于哪一层?

                                HTTP协议属于哪一层?IP协议属于哪一层?

                                操作系统

                                进程和线程的区别?

                                并发和并行有什么区别?

                                算法

                                快速排序的实现原理?

                                其他

                                期望薪资是多少?

                                对未来有什么规划?平时是怎么学习的?

                                未来想从事哪一行?是否接收转C++?

                                反问

                                部门的业务?

                                新人的培养机制?

                                二面(11月22号,30min)

                                自我介绍

                                其他

                                除了Java,Golang还了解哪些语言?

                                对C++是否熟悉?

                                简单介绍一下自己的家庭情况?

                                对未来有什么规划?一直做后端开发吗?

                                未来希望从事哪一行业?

                                实习期间的工资是多少?

                                是否有考研的打算?

                                介绍一下实习期间做的项目?取得了哪些收获?

                                介绍一下简历上的第二个项目?做这个项目的过程中遇到了哪些问题?都是怎么克服的?

                                手里有没有其他offer?

                                期望薪资是多少?

                                JUC

                                讲一讲volatile?在哪些地方用到了volatile?

                                原子性、可见性、有序性分别是什么?

                                volatile保证可见性的原理?

                                volatile保证有序性的原理?

                                操作系统

                                进程间通信方式有哪些?(知道多少讲多少)

                                什么是***锁?***锁产生的条件?

                                如何解决线程***锁?

                                反问

                                公司的业务?

                                后续的面试流程?(结果会在一周内出来)

                                引流

                                蚂蚁 奇安信 华为 中兴 阿里 腾讯 百度 蚂蚁 支付宝 滴滴 快手 抖音 字节头条 猝*** 应届生 裁员 辞职 年终奖 秋招 春招 校招生 argue 财报 凉 pua 买房 外企 需求 瓜 卷 薪资 北京 上海 深圳 杭州 一线 拼多多 面试 福利 华为 美团 蔚来 大华 同花顺 米哈游 陌陌 探探 度小满笔试 腾讯内推 23校招 面经 滴滴笔试 滴滴 比亚迪。

                                46

                                23届秋招 字节 后端开发岗(附整理的面试逻辑题)

                                https://www.nowcoder.com/discuss/post/420913031153991680

                                个人情况介绍和整体秋招总结都在这个帖子中,不再赘述。目前没有收到特别想看哪家的,所以就按文档里记录的开始一面时间顺序写了。

                                字节是第一批投递的,之前在这个组实习过,三面完因为没有hc自己都觉得凉了,最近又说有hc意向了。单就面试体验而言,三轮面试的体验都还可以,虽然也会问传说中的智力题,但提前准备了一些(提前准备的一些题目也整理的放出来,虽然好像都没什么人看qwq),剩下的也能推出来,基本没被问住,给个8分吧。

                                流程一 后端开发岗

                                一面 技术面

                                LC:纯数字字符串拆分成所有可能的ip

                                64匹马,每8匹可以进行一次比赛,如果要取前4名需要比几轮?

                                数据库相关的一些基础问题,数据库的类型,相关操作,事务等

                                二面 技术面

                                LC:递增的气温

                                1000瓶水,其中1瓶有毒,如果在1轮中需要测出哪瓶有毒,需要几只小鼠? 如果2轮呢?

                                数据库相关的:mysql事务,语句

                                线程和进程的区别

                                python作为解释性语言的优点

                                三面 技术面

                                三面是主管boss了,业务聊得比较多,没有逻辑题

                                LC:z型遍历树

                                项目

                                主要问了问当时实习做了什么

                                详细聊了聊部门业务

                                逻辑题

                                3L 5L水桶,称4L

                                蚊香能用1h,2个蚊香如何得到15min

                                4min 7min2个沙漏,如何得到9min

                                掰巧克力问题

                                问题:一块N * M大小的巧克力,每次掰一块的一行或一列,全部掰成 1 * 1 大小的巧克力需要掰多少次?

                                回答:N * M - 1次;不管怎么掰,每次只能把一个大块掰成两个小块,即每次掰只能增加1块巧克力;

                                那么将1块巧克力掰成N * M块小巧克力就需要掰N * M - 1次。

                                辩论赛问题

                                问题:1000个人参加辩论赛,1对1进行辩论,淘汰输掉的一方,问需要安排多少场比赛才能角出冠军?

                                回答:每场辩论赛只能淘汰一个人,要淘汰999个人则需要安排999场比赛。

                                在24小时里面时针分针秒针可以重合几次

                                24小时中时针走2圈,而分针走24圈,时针和分针重合24-2=22次, 而只要时针和分针重合,秒针一定有机会重合,所以总共重合22次

                                N只蚂蚁走树枝,问总距离或者总时间

                                问题:放N只蚂蚁在一条长度为M树枝上,蚂蚁与蚂蚁之间碰到就各自往反方向走,问总距离或者时间为多少?

                                回答:这个其实就一个诀窍:蚂蚁相碰就往反方向走,可以直接看做没有发生任何事:大家都相当于独立的,A蚂蚁与B蚂蚁相碰后你可以看做没有发生这次碰撞,这样无论是求时间还是距离都很简单了。

                                旅馆的1元钱问题

                                问题:有三个人去住旅馆,住三间房,每一间房10元,于是他们一共付给老板30,第二天,老板觉得三间房只需要25元就够了于是叫小弟退回5给三位客人,谁知小弟贪心,只退回每人1,自己偷偷拿了2,这样一来便等于那三位客人每人各花了九元,于是三个人一共花了27,再加上小弟独吞了不2,总共是29。可是当初他们三个人一共付出30那么还有$1呢?

                                回答:他们所消费的27元里已经包括小弟贪污的2元了,再加退还的3元=30元;这30元现在的分布是:老板拿25元,伙计拿2元,三人各拿1元,正好

                                砝码称轻重

                                问题:有一个天平,九个砝码,其中一个砝码比另八个要轻一些,问至少要用天平称几次才能将轻的那个找出来?

                                回答:2次

                                问题:十组砝码每组十个,每个砝码都是10g重,但是现在其中有一组砝码每个都只有9g重,现有一个能显示克数的秤,最少称几次能找到轻的那组?

                                回答:1次

                                问题:有一个天平,九个砝码,一个轻一些,用天平至少几次能找到轻的?

                                回答:至少2次:第一次,一边3个,哪边轻就在哪边,一样重就是剩余的3个;第二次,一边1个,哪边轻就是哪个,一样重就是剩余的那个;

                                问题:有十组砝码每组十个,每个砝码重10g,其中一组每个只有9g,有能显示克数的秤最少几次能找到轻的那一组砝码?

                                回答:将砝码分组1~10,第一组拿一个,第二组拿两个以此类推。第十组拿十个放到秤上称出克数x,则y = 550 - x,第y组就是轻的那组。

                                高楼扔鸡蛋问题

                                47

                                字节后端日常实习面经 (已oc)

                                面了字节两轮,第一轮面的北京的岗位,结果当时啥也没准备,二面挂了(今年日常实习不好找,我想找个小公司练手都找不到开始找实习后第一个面的公司就是字节)

                                第二轮面的上海的岗位,成功oc

                                字节北京一面(10.14)

                                人生第一场职场面试,甚至连录音复盘都忘了,只记得些零零碎碎的

                                问的内容:各种八股,包括c++,计网,计组,操统

                                没答上来的问题:空类占几个字节;字节对齐的好处;Malloc的原理

                                字节北京二面(10.19)

                                (间隔这么久是因为我故意约的晚,留点复习时间)

                                1. 项目中的博客网站登录认证逻辑

                                2. Session、cookie和token

                                3. CSRF攻击

                                4. Sql注入攻击

                                5. 项目数据库的表组成

                                6. 怎么进行索引调优

                                7. Mysql的索引底层实现

                                8. 除了B+树之外还有吗?

                                9. B+树的操作时间复杂度

                                10. 有其他数据结构更低的吗

                                11. 数据库为什么不使用哈希表做底层索引

                                12. Mysql的ACID是什么,如何保证

                                13. Go的channel了解吗,可以存储什么类型的数据

                                14. Channel的作用是什么

                                15. Channel的底层实现

                                16. Go的协程调度模型

                                17. 创建一个goroutine时会给它分配什么数据

                                18. DNS的机理

                                19. DNS用的是TCP还是UDP

                                20. http和https分别描述一下过程

                                21. 常见的排序算法及其复杂度

                                22. 描述一下快排和归并的过程

                                23. 操作系统的系统调用是什么

                                24. 为什么要分用户态和内核态

                                25. 场景题:长链转短链系统

                                26. 算法题:接雨水

                                虽然现在复盘看都是常规问题,但是当时还是小白的我被爆杀了,不出意外收到了拒信(

                                字节上海一面(10.27)

                                1. 线程和协程的区别

                                2. 用户态和内核态

                                3. Go的channel支持多协程访问吗,底层是怎么实现的

                                4. 除了channel还有什么方法进行并发

                                5. Channel和锁的应用场景有什么区别

                                6. 对范式有哪些了解呢

                                7. 范式的作用是什么

                                8. 后端的业务系统是否适合范式理论

                                9. 了解过数据库除范式之外的其他理论吗

                                10. 索引的缺点有什么

                                11. 使用shell命令取出文件中的第一万至两万行

                                12. Mysql的底层索引结构

                                13. 为什么要用B+树

                                14. 如何查看sql命令是否用到索引

                                15. Python的装饰器是什么

                                16. 有用c++进行过程序调优相关吗

                                17. 介绍项目

                                18. 点赞表怎么实现的

                                19. 点赞表不断增长怎么办

                                20. 介绍项目

                                21. 了解过哪些大数据组件

                                22. 消息队列有了解过吗

                                23. Rabbitmq有什么应用场景

                                24. 算法题:k级链表反转

                                25. Sql题:

                                表1 “id,score,type” type中存有1,2,3三种类型

                                将其转换成表2 “id,score_1,score_2,score_3”

                                1. 算法题:力扣53-最大子数组和

                                面试官点评:基础知识掌握的还行,但是对其他工具了解的太少

                                字节上海二面(10.28)

                                1. 项目介绍

                                2. 如果用户短时间内一直按点赞键,怎么处理

                                3. 恶意用户大量发送请求怎么处理

                                (答了个ban掉ip地址被说不行)

                                1. 数据库的事务你了解过吗,有什么特性

                                2. 数据库的事务隔离级别,每个级别会带来什么问题

                                3. 数据库的锁介绍一下

                                4. 你提到的共享锁互斥锁和共享锁悲观锁的区别和关系是什么

                                5. Sql题:找到热搜列表中一天内点赞次数最多的前十条博客,找出最新更新的十篇帖子

                                6. 算法题:函数fn()会以P概率返回0,(1-P)概率返回1,写一个函数f()将fn()封装起来,以等概率返回0和1

                                二面结束后面试官马上告诉我过了

                                字节上海hr面(11.01)

                                那边安排出了问题,先给我安排了hr面,本来还以为我表现好不用三面了,笑***

                                1. 看到你保研了,那么你研究生阶段倾向于读一些什么技术方向

                                2. 你对你前面两面的评价如何,有哪些发挥好或发挥不足的地方

                                3. 我看你之前是没有正式出校做过实习,那你有想过来字节实习的期望或者目标是什么吗

                                4. 你日常学习新知识一般通过一些什么方式或途径进行

                                5. 你平时会看一些语言的底层源码吗

                                6. 什么时候开始实习,实习多久

                                字节上海三面(11.03)

                                1. C++的deque的底层实现

                                2. 为什么要这么设计,好处是什么

                                3. 可以改用双向链表实现吗?

                                4. mysql的主键索引和非主键索引是什么

                                5. 主键索引需要将索引全部加载到内存里面吗

                                6. 操作系统有几层cache

                                7. 寄存器和内存之间的cache有什么作用

                                8. 你觉得内存和磁盘之间有cache吗?

                                9. 说说LRU的数据结构设计

                                10. 如果想改用LFU,可以怎么在LRU的数据结构上进行修改

                                11. 代码题:打印给定的vector list的所有组合形式

                                举例:vector v{{1,2},{3},{4,5}}

                                输出:

                                1 3 4

                                1 3 5

                                2 3 4

                                2 3 5

                                hr告诉我三面是leader面,本来以为会很难的,结果出的题目都挺简单,面完后面试官也是马上告诉我通过了

                                从10.08投出第一份简历开始,长达一个月的找实习终于结束了,感觉确确实实学到了许多东西吧,希望后面的实习一切顺利

                                48

                                头条后端日常三面

                                1.自我介绍

                                2.问408学过没

                                3.操作系统中进程从运行到就绪发生了什么?

                                4.进程为什么从进程态转成就绪状态?

                                5.运行状态中,在进行IO操作,IO操作完进去什么状态,接下来到什么状态…

                                6.TCP中的Time_wait作用。

                                7.怎么查看一个进程建立了多少连接?

                                8.ABC建立联合索引,什么走索引?

                                9.为什么有这个最左匹配现象?

                                10.B+树建立索引跟B树建立索引的区别?

                                11.B+树和B树建立索引会表现出什么性能区别?举例子(麻了,一直在对线)

                                12.举一个sql例子,能充分利用上叶子节点的双向链表。

                                13.只有叶子节点有数据,这个有什么影响?

                                14.场景题(update语句group by)对线

                                15.用过redis吗?

                                16.redis有哪些数据结构,用过哪些?

                                17.发起一个请求域名,这中间发送什么?

                                18.用到的应用层协议是什么?

                                19.HTTP请求头,请求行,请求体分别存放的是什么?

                                20.响应状态码12345开头的含义?

                                21.502,504区别,403,404区别?

                                22.三数之和

                                虽然很简单,但是全是要举例跟场景。。。感觉面试官好有经验

                                49

                                嘀果 | PHP开发工程师 | 一面,二面

                                自我介绍

                                Java基础

                                1. Java 如何实现平台无关?
                                2. 接口和抽象类的不同?

                                计网

                                1. HTTP常见状态码了解多少?
                                2. 300状态码是什么意思?
                                3. 303状态码是什么意思?

                                Spring

                                1. 讲一下Spring,SpringMvc,SpringBoot?

                                MySQL

                                1. 什么是SQL注入?如何预防SQL注入?
                                2. 如何分析一条select 语句的查询效率?
                                3. explain执行计划里重点关注哪些列,每一列具体含义是什么?

                                Linux

                                1. Linux常见命令了解哪些?

                                其他

                                二面(11月11号,1h左右)

                                自我介绍

                                闲聊

                                智力题

                                1. 一个班级有50个人,请问恰有有两个人生日相同的概率?
                                2. 两人轮流在一个圆桌面上放同样大小的硬币,规则是:每人每次只能放一枚,谁放完最后一枚,谁就获胜,那么是先放者胜还是后放者胜?如何取胜?

                                计网

                                1. 讲一下OSI七层模型,五层模型?

                                2. 讲一下用户输入网址到显示对应页面的全过程?

                                  1. 一个HTTP请求可以完成吗?
                                  2. 中间涉及到了哪些文件类型?
                                3. 2个用户进行网络通信,哪个阶段的耗时最多?怎么去优化这个耗时?

                                4. HTTP 1.0和HTTP 1.1的主要区别是什么?

                                5. HTTP/1.1和HTTP/2.0的主要区别是什么?

                                6. HTTP与HTTPS的区别?

                                50

                                头条后端日常二面

                                大约90分钟

                                \1. 一般有哪些路由协议?

                                \2. TCP和UDP的差别?

                                \3. TCP断开连接是什么?

                                \4. 快排的思想,时间复杂度,空间复杂度?

                                \5. 平衡二叉树是什么树?

                                \6. 二叉排序树什么树?

                                \7. 缓存有了解吗,分布式锁相关?

                                \8. redis了解什么?

                                \9. 热点Key是怎么解决的?

                                \10. 热点Key访问量比较大怎么解决?

                                \11. redis有哪些持久化机制,具体说一下?

                                \12. 快照?快照是怎么工作?

                                13.雪崩,击穿,穿透,解决方式?

                                \14. 为什么要用布隆过滤器啊?

                                \15. 布隆过滤器工作原理?

                                \16. 平常用的什么语言?

                                \17. AQS有了解吗?

                                \18. AQS底层锁是怎么实现的?

                                \19. 有哪些垃圾回收算法?

                                \20. 一般要实现线程执行完,然后执行另一个线程,怎么实现?

                                \21. 哈希冲突是怎么解决的?

                                \22. 聚集索引和辅助索引的区别?

                                \23. 索引覆盖是啥啊?

                                \24. 辅助索引的叶子节点存的是啥啊?

                                \25. 事务有哪些隔离级别?

                                \26. MYSQL默认的隔离级别?

                                \27. 索引里面的最左前缀原则?

                                \28. A,B,C建立联合索引,哪些查询是可以走索引的?

                                \30. 事务有什么特性?

                                31.分布式事务有了解吗?

                                \32. 数据库之间的主从同步了解吗?

                                \33. 用过什么消息队列吗?

                                \34. 延迟队列用过吗?

                                \35. CPU使用率比较高怎么解决?

                                \36. 具体怎么查?

                                \37. 自己开发的服务CPU使用率较高?

                                \38. ConcurrentHashMap是怎么加锁的?

                                \39. 缓存和数据库的一致性?

                                \40. 做道题吧。。。

                                二叉树所有路径表示数字之和

                                八股一周没看,有的答不上来,算法写的对的,面试官一直说不太对。。。

                                下来都跑出来了,寄啦。。。

                                没想到周一约三面了,估计准备三面挂我

                                51

                                23秋招复盘,字节剪印C++一二面凉经

                                个人的基本情况参考我之前的文章,这里不多重复。但是我相信大多数人都跟我一样,无实习无论文无专利无竞赛,什么都没有,但是最后也能收到满意的Offer。

                                历史文章:

                                1. 双非本211硕的23届秋招总结,Linux C/C++开发
                                2. 23秋招复盘,字节C++客户端一面二面 凉经
                                3. Github秋招资料总结归纳

                                这里写点自己的23秋招复盘回馈牛客社区,很多知识来源于这里,万分感激。

                                注:剪印的C++客户端是在之前的C++挂了后捞起来的,和之前的字节C++客户端方向不一样

                                9月25 一面 (一小时10分钟)

                                面试分为三个环节:过完经历、技术考察和Coding。

                                1.自我介绍

                                2.项目拷打,mmap拷打,mmap参数一个一个解释

                                3.mmap继续拷打,用法、原理

                                4.项目难点,为啥做这个项目(没实习,只能做这些小玩意)

                                5.技术考察,https拷打,证书、TLS握手、非对称加密

                                6.加密算法了解哪些?RSA了解吗?(不了解)MD5了解吗?(不了解),Base64了解吗?(了解)

                                7.new和malloc的区别?(new会抛异常,malloc返回null;new可重载operator new,malloc是库函数?;new分配物理内存,malloc分配虚拟内存;new分配内存安全,malloc会被信号打断而不可重入)

                                8.信号了解嘛?

                                9.SIGSEGV信号讲一讲?(可惜没答出来,知道是越界异常信号,但是没讲明白,运行时越界产生这个信号)

                                10.sigkill

                                11.TCP三次握手,状态变化

                                12.Coding:单链表加1,********付费题目

                                13.反问

                                过了一天收到了二面链接

                                10月10 二面 (1小时)

                                \1. 自我介绍

                                2.项目疯狂拷打,mmap连续追问15分钟

                                3.mmap继续追问

                                4.线程池

                                5.怎么知道一个进程***亡?

                                6.怎么hook一个进程的准确***亡时间?

                                7.zlib的压缩原理?

                                8.三种智能指针的用法

                                9.weak_ptr的expired是线程安全嘛?

                                10.Coding; [1,3,8,9,8,4,1,0],统计里面元素个数,重复的元素按一个算,这里是6

                                \11. shared_ptr和weak_ptr如何配合使用?

                                \12. 找实习还是秋招?(暗示我没实习)

                                \13. 反问

                                过了几天就挂了,在意料之中,但是在之前已经签约了。所以,有点伤心,但是还好

                                55

                                字节跳动 | 抖音支付golang实习

                                烫

                                时间:2022.11.7 16:00-17:00 60min

                                又是在牛客网被邀请投递,我发现字节好喜欢邀请我,被邀请三次了,主动投递不理睬,邀请的一般都会有面试机会。

                                • 自我介绍

                                  分布式对象存储项目

                                  • 怎么实现的?
                                  • 数据去重算法怎么做的?怎么判断具体的数据怎么重的?复杂度?哈希表存储在内存?内存爆满怎么办?用redis做缓存,如果redis缓存中key过期数据不存在,是否存储到数据服务?O(n)判断?。这里一直在追问,一开始没有理解什么意思,
                                  • 断点续传怎么实现的?

                                    go语言

                                    没有问

                                    计算机网络和操作系统

                                    • http的method?具体?
                                    • cookie和session有什么区别?
                                    • http和https的区别?单项认证和双向认证流程?对称加密和非对称加密?流程?
                                    • DNS解析的过程?域名服务器怎么解析?
                                    • 进程和线程有什么区别?一个进程有什么数据段?同一个线程有哪些数据段可以共享的?你觉得栈区会共享吗?栈区和堆区有什么区别?
                                    • 进程的通信方式?哪些方式比较快?为什么共享内存比较快?管道为啥慢?

                                      数据库

                                      • Mysql的索引有哪些?B+树和哈希索引有哪些区别

                                        算法

                                        • 版本号对比,version1和version2.大于返回1,小于返回-1,其他返回0.001和0001比较的时候都视为1;1.0.0和1.0是相等的返回0
                                        • 直接给的main函数,没有其他东西

                                          总结和心得

                                          • 面试官的评价是基础还不错,代码能力有待加强。项目比较符合后端技术栈,做项目需要考虑如何更快的实现?考虑边界条件,做业务很多问题就出在这里
                                          • 然后总结一下算法题,这个题目出乎我的意料,以为是链表和树,结果是一道从来没见过的题目,所以重点还是要提升自己的算法能力,而不是固有的题目,知道面对一道题怎么去思考?一开始不要急着写,和面试官聊一下思路,边界条件没有考虑准确,这个面试官说也是考察中十分重要的
                                          • 对面试经历的要求不会太多,理解本科生,不太会要求,看重计算机基础和项目亮点,尤其是做项目有哪些难点和亮点,代码能力是最基本的能力,项目就是锦上添花
                                          • docker和k8s考察比较少,侧重计算机基础,算法能力,思考问题能力

                                            56

                                            字节跳动|抖音电商平台治理|后端日常实习生|二面面经

                                            Redis

                                            • 项目中说用 Redis 维持了用户登录状态,怎么实现的,还有其他实现方式吗
                                            • Redis 的主从原理
                                            • 什么是增量复制
                                            • 什么时候进行全量复制
                                            • Redis 有哪些持久化方式
                                            • 说说 AOF
                                            • RDB 的原理呢
                                            • Redis 有哪些具体的数据结构,你都用过吗
                                            • Set 和 Zset 你会在什么时候用呢

                                              MySQL & 锁

                                              • 讲一下脏读和幻读的区别
                                              • 怎么解决脏读和幻读的问题
                                              • MVCC 怎么解决脏读
                                              • MySQL 有哪些锁
                                              • 间隙锁的作用是什么
                                              • 读写锁了解吗
                                              • 自旋锁的概念
                                              • 如果递归地进行自旋锁会怎样
                                              • 怎么设计可重入锁

                                                消息队列

                                                • 消息队列的作用有什么
                                                • 消息的可靠性如何保证
                                                • 消费端获取到消息但是失败了怎么办
                                                • 多次消费怎么解决

                                                  算法题

                                                  • 力扣 221. 最大正方形 (没写出来)

                                                    57

                                                    抖音支付-实习-一面凉经

                                                    总结:还得是JAVA选手。我CPP选手估计寄了。

                                                    问的挺常规的,JAVA线程池+计网(HTTPS和TCP的部分基本知识)+数据库(主要是事务、锁、主从业务)。

                                                    手撕算法是一道简单dp,结果我看错题了,写了10min才发现看错,全程面试官没有一点反应;

                                                    后面花了5min A了。

                                                    总体体验还算正常吧,毕竟是第一次面;

                                                    开头算法属实有点小紧张,看错题了属实不应该;

                                                    以及为啥我一CPP选手不问我CPP捏?就盯着我JAVA问,基本不会(悲

                                                    具体题忘了,反正就很常规的八股。

                                                    (发个面经攒点RP

                                                    58

                                                    字节跳动|抖音电商平台治理|后端日常实习生|一面面经

                                                    项目相关

                                                    • 项目业务逻辑
                                                    • 微服务项目代码怎么组织,都在一个仓库吗
                                                    • 微服务拓扑图

                                                      MongoDB

                                                      • 想对指定 id 的某一个 document 进行自增,怎么实现($inc 就行,但我忘记了,说了在业务层的实现方式)

                                                        MySQL

                                                        • 如果使用 MySQL,怎么实现原子自增(共享屏幕,写 SQL,但太久没写 SQL 了没写出来)

                                                          计算机网络

                                                          • HTTP 格式

                                                            Java

                                                            接口和抽象类有什么区别与联系,说说使用场景

                                                            讲讲 Java 中的 volatile

                                                            算法题

                                                            LeetCode 20. 有效的括号

                                                            LeetCode 1106. 解析布尔表达式 (没写出来

                                                            59

                                                            【实习】-字节-技术中台(三面凉)

                                                            内部员工回复

                                                            一面

                                                            面试耽误了五分钟,感觉紧张的不行,凉凉,难受

                                                            1. 项目中使用less,简述
                                                            2. 简述ajax
                                                            3. fetch说一说,then()
                                                            4. 问学了哪些科目,操作系统,数据结构,C语言…
                                                            5. 进程和线程
                                                            6. 并发操作的是在进程还是在线程(从并发宏观上来说)
                                                            7. 线程之间的资源是共享的
                                                            8. 线程如何通信
                                                            9. 数据库开始吟唱
                                                            10. Http中常见的方法
                                                            11. 状态码
                                                            12. 301怎么设置(设置在响应头的location中)
                                                            13. get,post
                                                            14. put,delete
                                                            15. 幂等性
                                                            16. css3新特性
                                                            17. 弹性布局
                                                            18. react的理解
                                                            19. VDOM的原理
                                                            20. Hooks的使用和实现 (手写过react直接秒)
                                                            21. 算法:一道树的middle题 (心态一定要放好,面试太紧张了脑子全是空白没全A出来,晚上复盘五分钟就a了…)

                                                            二面

                                                            面试官开会迟到了七分钟,感觉有点因果报应了,为什么面试官都不怎么问前端

                                                            1. 经典问学了哪些课,经典回答C语言,数据结构,操作系统
                                                            2. 前端工程化
                                                            3. 一个URL过程 说了DNS解析、TCP三次握手、负载均衡,集群、渲染页面,解析HTML的过程,生成token构建DOM树,渲染树啥的,光栅,说的越详细越好
                                                            4. session和cookie
                                                            5. http和https
                                                            6. https加密过程
                                                            7. Restful规范,nextjs里面的接口文档swagger就是这个规范
                                                            8. delete的用法
                                                            9. 虚拟DOM的缺点优点(建议手写一遍虚拟DOM就懂了)
                                                            10. 跨域,同源策略开始说
                                                            11. 数据库
                                                            12. 闭包
                                                            13. 防抖和节流手写
                                                            14. 算法:middle题,贪心+回溯

                                                            三面

                                                            leader真的太严肃了,感觉是干了十几年的大佬

                                                            1. 问实习时间
                                                            2. 问学校课程怎么办
                                                            3. 问你两年内学校学习的课程怎么样(这时候已经感觉蚌埠住了)
                                                            4. 有没有学得好的课程,(没好好学过)
                                                            5. 怎么协调你们这个小组,你是什么职位
                                                            6. 你怎么设计这个系统,你们的UI怎么设计
                                                            7. 你怎么测试你自己写的接口对不对
                                                            8. 你们的系统的设计稿怎么弄
                                                            9. 微前端,SPA
                                                            10. 问React中SPA使用场景
                                                            11. C语言的printf怎么去改变参数(又没蚌住)
                                                            12. 大端小端(懂得不多)
                                                            13. 反问:如何协调学校课程与时间 面试官给我了很多建议,很感谢他
                                                            14. 技术栈:vue,python,估计挂这了…

                                                            总结

                                                            上午感谢信,下午就有部门捞我了,反复横跳…

                                                            60

                                                            头条后端日常一面

                                                            \1. HashMap底层实现

                                                            \2. 解释一下volatile

                                                            \3. volite能保证线程安全吗

                                                            \4. 索引优化有哪些(没说全)

                                                            \5. 存储引擎了解哪些,介绍一下

                                                            \6. 大概描述一下B+树在mysql里的实现

                                                            \7. B+树插入数据的流程

                                                            \8. 叶子节点满了,叶子节点最大有多少(…)

                                                            \9. 默认事务级别,怎么实现

                                                            \10. MVCC是怎么实现的

                                                            \11. Redis有哪些数据结构?

                                                            \12. list是怎么实现的?

                                                            \13. zset,怎么插入数据,跳表插入数据流程。(说的好像不太清)

                                                            \14. redis内存淘汰策略

                                                            \15. 缓存雪崩的解决方案

                                                            \16. 击穿的解决方式

                                                            \17. 布隆过滤器工作方式,能解决击穿吗?

                                                            \18. timewait状态有社么作用?

                                                            \19. 为啥要等两倍时间

                                                            \20. 快速重传介绍一下

                                                            \21. 进程线程的区别

                                                            \22. 内核态和用户态的区别?

                                                            \23. 前端学过吗?

                                                            \24. http1,2,3(quic)各个版本区别?

                                                            \25. 服务器配置相关?

                                                            \26. 商城是自己做的吗

                                                            \27. 两数相加,输入输出写的有问题,但面试官还是给过了

                                                            两个小时后约二面

                                                            61

                                                            字节飞书后端日常实习面经

                                                            首先自我介绍下:哈工大深圳24届计算机专业学生。

                                                            进度:

                                                            2022.10.3投递 -> 2022.10.14 14:00 一面 -> 2022.10.19 15:00 二面 -> 2022.10.21 14:00 转岗,一面 -> 2022.10.25 19:00 二面 -> 2022.10.27 11:00 三面 -> 2022.10.28 hr面

                                                            一面(100min)

                                                            上来首先直接手撕算法,说代替笔试:

                                                            • 10亿个数据中筛选出最大的100个(小顶堆)
                                                            • 判断字符串x2是否包含x1(包含指x2的一个子串内容和长度和x1一样,但是顺序可变)

                                                              第一题开始思路错了,面试官提醒后完成了,第二题开始题目看错了,面试官提醒后改过来了(第一次面试有点紧张,)

                                                              接下来是八股:

                                                              • tcp time_wait状态讲讲
                                                              • 如果一个服务器出现很多time_wait状态可能是什么情况
                                                              • tcp如何实现可靠传输
                                                              • 线程同步的方式
                                                              • 堆排序稳定吗(这个忘记了,现推说不稳定)
                                                              • cpp都有malloc了,为啥还要有new
                                                              • cpp构造函数可以是虚函数吗(不知道,现推说不可以)
                                                              • 怎么实现智能搜索,例如输入ha,弹出哈工大,输入s,弹出深圳(我说哈希表,这题没有底)
                                                              • 如何检测垃圾文本,例如“啊啊啊啊啊啊,屁股屁股,没有没有”,就是很多重复的字词,没有意义(不太会,就说了查重,面试官也没有给我垃圾文本准确定义)

                                                                除了最后两题没有底,其他感觉都还好,面试官最后说这两题有很多实现方式,答案很主观

                                                                晚上6点多接到二面通知

                                                                二面(70min)

                                                                首先自我介绍,我就介绍我学习国外计算机网课和自己os竞赛的经历

                                                                接下来问一些开放性问题:

                                                                • 写了这么多项目,讲一个最有挑战性的(我说了下有很多,讲下最近的824的raft实现)

                                                                  接下来是八股:

                                                                  • tcp和udp区别
                                                                  • 如何基于udp实现可靠传输(刚好144是基于udp的用户态tcp协议栈,我详细的讲了下实现细节)
                                                                  • 进程线程、协程区别(我很详细的说了,从os的底层实现到go的gmp模型)

                                                                    问了30分钟,最后手撕算法

                                                                    • 写一个解析csv文件的类(写了40分钟,面试官说超时了。主要是我java好几个api忘了,一般我都是查文档,可是面试不能查,只能一个个试了)

                                                                      这里提一句,反问的时候,自己嘴贱了句,说对你们这个文本搜索岗位不是很感兴趣,结果面试完,直接给我转岗重新一面了,我其实完全不是这个意思,说完也马上改口了

                                                                      面完第二天早上还没有通知,我看面试流程显示转岗了。又要重新一面

                                                                      转岗后一面(60min)

                                                                      上来首先自我介绍(和上面一样),然后写算法

                                                                      • 最大子序和

                                                                        然后开始八股:

                                                                        • 进程和线程的区别
                                                                        • 什么时候会从用户态陷入内核态,具体细节
                                                                        • io密集型和计算密集型分别适合多线程还是多进程(和上面的两个问题层层递进,好,这里给了点提示)
                                                                        • 进程通信方式(我很详细的讲,最后讲到套接字的时候可能讲的太久了,面试官说不用说了,我们问其他的)
                                                                        • tcp为什么要三次握手(这里说我没有说出关键点)
                                                                        • tcp time_wait要等多久,为什么(有一个点没有说,面试官稍微提示后说出来了,这一点记得,但是一时脑抽忘了说)
                                                                        • 线性一致性是什么
                                                                        • 除了raft你还了解哪些分布式协议,paxos知道吗(听过,没有了解,我说raft就是为优化paxos而生)

                                                                          晚上7点告诉我过了

                                                                          二面(60min)

                                                                          首先自我介绍(和上面一样)

                                                                          算法题:

                                                                          • 从长度为n的数组里找出最大的k个数(和一开始的一面那题很像,但是这个我是用快排)

                                                                            然后问我说,看你os是用rust写的,然后技能树说自己擅长go,讲讲go和rust异同(内存管理,主要讲这个)

                                                                            八股:

                                                                            • 浏览器输入网址发生什么(从dhcp,到dns解析,到http,到tcp,到arp,到nat、到局域网,因特网,我很详细地说了)
                                                                            • tcp udp区别
                                                                            • time_wait和close_wait细讲下(tcp11状态机在写144时就滚瓜烂熟了)
                                                                            • epoll poll select讲讲(从底层linux源码机制到对比我都详细讲了)
                                                                            • 红黑树会吗(刚刚epoll提到红黑树,我说完全不会,这个题目应该所有面试里是唯一一个完全不知道说的)

                                                                              晚上面的,所以第二天9点多告诉我过了

                                                                              三面

                                                                              自我介绍(和上面一样)

                                                                              开始问项目

                                                                              • 介绍你的15445(从内存缓冲池、到extendible hashtable索引、到火山模型、到事务控制,面试官问了下哈希索引的并发控制,也细细地讲了下)
                                                                              • 问我824是自学吗?go也是自学吗?

                                                                                最后写智力题

                                                                                • 变色龙问题,三种颜色变色龙,两只颜色不一样的遇到一起会变成另一种颜色,输入三种变色龙的数量,判断最终能否都是一个颜色(想了一分钟,写了思路给面试官看)

                                                                                  反问的时候,面试官说我对计算机底层探究很细,但是也要注意mysql、redis、linux的使用,我说这些都多多少少会,并且现在也在学哈哈

                                                                                  面完后马上半小时,吃午饭的时候告诉过了,约hr面

                                                                                  hr面(50min)

                                                                                  聊天似的面试,很轻松

                                                                                  • 自我介绍
                                                                                  • os竞赛讲讲
                                                                                  • 还有什么团队协作经历
                                                                                  • 以后待在深圳发展吗,家哪里的
                                                                                  • 读研吗以后
                                                                                  • 如果发offer,什么时候到岗,能工作多久,一周能5天吗
                                                                                  • 哈深计算机是第一志愿吗
                                                                                  • 高考目标是哈深吗
                                                                                  • 自我评价下
                                                                                  • 之前三次面试自我感觉怎么样,还有没有可以做的更好的细节
                                                                                  • 为什么选择字节
                                                                                  • 为啥给你转岗了

                                                                                    面了50分钟,反问:

                                                                                    • 之前的三次面评可以透露吗(hr笑了笑说不方便透露,但是三位面试官都认为你计算机基础很扎实,可能业务经历方面稍加欠缺,但是在可接收范围内,入职可以学。我寻思我就是业务经历的少才来实习啊啊)
                                                                                    • 结果大概什么时候出呢(hr说3到5个工作日,今天周五,所以应该下周五前告诉我结果)

                                                                                      期待顺顺利利发offer给我,我很需要实习

                                                                                      ------------------------------------------分割线--------------------------------------

                                                                                      11.2 上午hr打电话发offer了,艹真他妈爽!!!!!!!!!!!!!!!!!!!!!哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

                                                                                      62

                                                                                      23届秋招 苏州青河科技java开发岗10.28三轮面试凉经

                                                                                      下午两点到三点,连续三轮面试,每轮20分钟。

                                                                                      面试好难啊,感觉寄了。

                                                                                      问了java的基本数据类型有哪些,分别占用多少字节。

                                                                                      问了list,set,map接口的区别。

                                                                                      问了ArrayList和HashSet的区别。

                                                                                      问了static关键字。

                                                                                      问了内部类了解哪些,说了匿名内部类,问应用于哪些地方。

                                                                                      问了MySQL数据库存储引擎有哪些。

                                                                                      问了增删改的sql语句怎么写。

                                                                                      问了表连接了解多少。

                                                                                      给定场景,让说几个sql语句怎么写。

                                                                                      问了prestatement和statement的区别。

                                                                                      问了触发器了解多少。

                                                                                      问了存储过程和函数的区别。

                                                                                      问了操作系统进程和线程的区别。

                                                                                      问了线程的实现方式有哪些。

                                                                                      问了设计模式了解多少。

                                                                                      63

                                                                                      字节 正式批 java 一二面

                                                                                      时间线

                                                                                      8/15 投递

                                                                                      8/31 一面

                                                                                      9/13 二面

                                                                                      10/12 三面 (因各种原因推迟到十一月份)

                                                                                      面经

                                                                                      一面

                                                                                      1、自我介绍

                                                                                      2、项目介绍

                                                                                      3、全程就一个场景题:抖音用户页面的消息功能设计,从数据库设计、中间件使用等等讨论,大概一个小时…

                                                                                      4、算法题:第一个缺失的正整数

                                                                                      二面

                                                                                      1、自我介绍

                                                                                      2、项目介绍

                                                                                      3、零拷贝

                                                                                      4、IO模型

                                                                                      5、netty

                                                                                      6、各种常规八股

                                                                                      7、算法题:判断一个树是不是另一个树的子树

                                                                                      64

                                                                                      SNK中国游戏服务端开发面经

                                                                                      9.30 一面 30min

                                                                                      1. 自我介绍
                                                                                      2. 竞赛经历
                                                                                      3. 实习经历
                                                                                      4. float占几个字节
                                                                                      5. float数据类型与int类型相加是什么类型,为什么
                                                                                      6. Integer类型一般不用==进行比较,主要考虑是什么
                                                                                      7. Integer a = 1,Integer b = 1,它们是否相等
                                                                                      8. HashMap是怎么样的一个数据结构,讲一下HashMap
                                                                                      9. HashMap是安全的类吗,怎么判断
                                                                                      10. 怎么把HashMap变成线程安全的类,对什么方法加锁
                                                                                      11. 单例模式的双检锁的volatile是干嘛的,没有使用它可能会出现什么问题
                                                                                      12. 快速排序的详解
                                                                                      13. 一个二叉树,读出它的先序排序和后序排序
                                                                                      14. 一个数据库表,包含了一些字段,这个表有什么问题
                                                                                      15. 什么时候会选用udp
                                                                                      16. 反转链表
                                                                                      17. 游戏场景,玩家没收到奖励邮件,会从哪些地方排查问题

                                                                                      65

                                                                                      360Java一面

                                                                                      9.6

                                                                                      \1. 自我介绍

                                                                                      \2. 项目难点

                                                                                      +++ kafka延时发送系统通知

                                                                                      — 如何在业务端限制kafka不要消费太快

                                                                                      +++ 试着减少分区数量

                                                                                      — 那么基于mysql连接池用的是长连接,这些连接都被应用起来了,似乎分区数量不能太限制kafka的消费速度,不那么有效了

                                                                                      +++ 在应用端加个线程的sleep(卑微,事后百度可通过调整kafka配置文件中的参数来限制消费者一次拉取消息的最大数据量以及最大个数,从而限制消费速度)

                                                                                      \3. 帖子id、评论id怎么保证唯一

                                                                                      — 自增主键

                                                                                      \4. 楼中楼、嵌套评论怎么实现的

                                                                                      \5. 项目中表的设计符合三大范式吗

                                                                                      \6. BitMap如何进行活跃用户数的统计

                                                                                      — 用户id是怎么生成的

                                                                                      +++ 理解成怎么获取的把,扯了会话管理那一套

                                                                                      — 为什么需要拦截器去拦截每次请求

                                                                                      \7. 如何理解rpc框架,或者说rpc框架应该包括哪些功能

                                                                                      — 自定义的rpc是基于什么协议传输数据的

                                                                                      — 为什么不使用http

                                                                                      — 为什么不使用udp,udp不是更快吗

                                                                                      +++ 讲了下udp和tcp的区别

                                                                                      — tcp如何保证可靠性的

                                                                                      — tcp发送的报文一定是按顺序的吗,如果乱序了怎么办

                                                                                      — 考虑这么一种场景,应该说互联网上经常发生,不可避免,比如说我发送一个很大的文件,也或者说下载,几m大,也不是说很大,tcp报文是有上限的,你应该理解,6万多的字节放不下这个文件,需要分成好几个包去发送,因为两地之间路由器非常多,中间有某些数据在进行路由时晚到了,这是非常容易发生的情况,那你认为tcp是如何保证数据的顺序的正确性

                                                                                      — 发是连续发的,可能后面的先到

                                                                                      \8. 客户端和服务端的连接有连接池吗,还是说只有一个连接

                                                                                      \9. 讲讲随机的负载均衡怎么实现的

                                                                                      \10. 已经有了进程,为什么还需要线程

                                                                                      \11. 能说说你理解的并发和并行吗

                                                                                      — 进程有了多线程,能实现并行吗

                                                                                      \12. 产生***锁的条件

                                                                                      \13. 对栈和队列的理解

                                                                                      — 如何用队列实现栈(口撕题)

                                                                                      66

                                                                                      字节后端开发9.13三面

                                                                                      浏览器输入一个网址经过的过程

                                                                                      这个过程中涉及到的网络安全的问题了解吗

                                                                                      ​ https

                                                                                      ​ ddos

                                                                                      平时用linux吗

                                                                                      有了解分布式事务,有了解分布式事务的中间件和解决方案吗

                                                                                      MVCC讲一下

                                                                                      MySQL默认的隔离级别

                                                                                      非常详细地讲一下ConcurrentHashMap的扩容流程

                                                                                      削峰和超卖怎么解决

                                                                                      一致性与回滚

                                                                                      67

                                                                                      字节后端开发9.8二面

                                                                                      狂问实习

                                                                                      final关键词的用法

                                                                                      进程之间的通信方式

                                                                                      哪种通信方式最快,为什么

                                                                                      其他通信方式主要消耗的时间消耗在哪

                                                                                      内核态和用户态的区别

                                                                                      kill -9原理

                                                                                      代码:判断一个树是否是完全二叉树

                                                                                      两个人轮流抛硬币,先抛到正面的赢,第一个人先抛赢的概率

                                                                                      一个概率生成器构造等概率器

                                                                                      68

                                                                                      字节 后端开发实习生-今日头条 一面

                                                                                      1.自我介绍

                                                                                      2.项目介绍

                                                                                      3.从输入www.baidu.com开始发生了什么?

                                                                                      4.OSI七层模型有哪些?

                                                                                      5.tcp与udp的区别

                                                                                      6.tcp为什么安全

                                                                                      7.tcp的超时重传机制

                                                                                      8.golang的GC

                                                                                      9.三色标记法的灰色、黑色有什么区别

                                                                                      10.为什么区分灰色和黑色,灰色存在的意义?

                                                                                      11.写屏障是什么?

                                                                                      12.进程、线程、协程的区别

                                                                                      13.什么时候用线程,什么时候用协程

                                                                                      14.mysql的索引用的什么数据结构

                                                                                      15.B+树属于二叉树么

                                                                                      16.为什么不用红黑树

                                                                                      17.红黑树和B+树的区别

                                                                                      算法:最大岛屿数量

                                                                                      69

                                                                                      字节跳动基础架构后端开发面经(春招实习-已转正)

                                                                                      我也来回馈一下牛客的uu们吧

                                                                                      本人2023届某末流985硕……

                                                                                      字节跳动基础架构后端实习一二三面

                                                                                      基础架构后端实习一面(36min / 3.18日)

                                                                                      自我介绍

                                                                                      面试问题
                                                                                      1. STL中的容器的底层实现,简单讲几个(简单讲了vector,array,unordered_map)
                                                                                      2. unordered_map与map的底层实现的区别
                                                                                      3. Linux中的哪些troubleshooting工具?
                                                                                      4. GDB用法?如何用GDB dump一块内存下来查看
                                                                                      5. TCP DUMP用法?
                                                                                      6. 计算机视觉主要是在做哪几块?
                                                                                      7. 介绍一下RESNet
                                                                                      8. 个人获奖细节

                                                                                      问了17分钟,然后开始做题

                                                                                      算法题:台阶跳跃题,一个题干,三个子题目。

                                                                                      题目大概描述:从起点开始,起点后面N个台阶,最后一个台阶为终点。青蛙从第一个台阶之前开始跳,只能向前跳,可以向前跳任意台阶数目,每个台阶上有可以获得能量的蘑菇,也有减能量的毒蘑菇。青蛙初始能量为0,能量可以为负数,到终点时候能量为负数表示失败。求青蛙跳到终点时的最大可获得能量。如果到终点时候能量为负数,返回-1。

                                                                                      • 问题1:求青蛙跳到终点时的最大可获得能量。
                                                                                      • 问题2:加条件:青蛙每跳一次,消耗能量等于所跳的距离的平方
                                                                                      • 问题3:加条件:青蛙每跳一次,消耗能量等于所跳的距离的平方,且每一跳会奖励一个能量

                                                                                        反问:对我们应届生实习有什么建议,部门主要做什么的

                                                                                        1. 希望实习时间长一点。
                                                                                        2. 这个部门主要研究Kernel Driver,芯片架构,主要是虚拟化,容器场景,异构计算,涉及到比较底层的东西。

                                                                                        基础架构后端实习二面(65min / 3.24日)

                                                                                        自我介绍

                                                                                        面试问题

                                                                                        原来二面主要是针对项目:

                                                                                        • 项目做的什么
                                                                                        • 我做的什么
                                                                                        • 追问整个软件项目各个模块
                                                                                        • 有什么原创的算法(有哪些难点)
                                                                                        • 追着里面的某两个算法细问细节,深入到代码实现

                                                                                          遇到项目中涉及的底层的东西,面试官也会细问,大概是:

                                                                                          • 线程与进程区别
                                                                                          • 僵尸进程怎么处理
                                                                                          • 使用信号量的场景线程/进程同步用什么东西
                                                                                          • PV操作
                                                                                          • C/C++中的进程同步用什么

                                                                                            然后就开始写代码……

                                                                                            做题:没做算法题,而是让我写了一个生产者消费者模型。我先写了一个基础版本(单消费者单生产者),面试官马上提出了这个版本在多生产者的时候就不行了,让我马上改,然后我改为多消费者多生产者。

                                                                                            反问:对我的评价或者建议

                                                                                            基础架构后端实习三面(60min / 3.28日)

                                                                                            自我介绍

                                                                                            面试问题

                                                                                            先随便聊了会儿学校里的情况

                                                                                            再大概聊了聊我个人的优点

                                                                                            然后开始聊计算机体系架构和一些比较底层的东西:

                                                                                            • 操作系统开机时候的实模式和保护模式的区别
                                                                                            • 内存分配算法有哪些,伙伴系统和slab内存分配机制
                                                                                            • linux中的各种管理工具
                                                                                            • perf
                                                                                            • eBPF
                                                                                            • 进程调度算法有哪些
                                                                                            • CSF

                                                                                              然后开始做题。

                                                                                              做题:最长回文子串**********

                                                                                              在飞书上,要自己写输入输出和测试用例,不用本地IDE,直接用飞书编码

                                                                                              反问:对我学习底层知识的建议

                                                                                              一般第二或者第三个工作日就出结果,工作地点:成都

                                                                                              70

                                                                                              字节 后台开发 2面问题+思考

                                                                                              1、背景

                                                                                              ​ 最近收到字节面试通过的通知,把自己当中碰到的一些面试问题、复盘分享出来,祝大家求职顺利。

                                                                                              ​ 比较多放一个不太合适,按照123面这样一个一个具体说。当中有一些我的思考可能回答的点大家也可以参考。

                                                                                              ​ 1面:https://www.nowcoder.com/discuss/1074492

                                                                                              2、字节2面 技术面

                                                                                              个人自我介绍【略过】

                                                                                              项目上,你做了哪部分工作,这些工作里哪些你觉得是难点?以及做的比较有价值的事情。

                                                                                              分布式id

                                                                                              • 聊一聊雪花算法。还有其他的唯一id算法,背后的原理

                                                                                                雪花算法就可以谈各种,比如id 他是怎么分布的,哪一些位放什么信息,以及单台机器上生成id是否有序,雪花算法的缺点啊,推特最后为什么没有继续用呢?

                                                                                                还有比如java的uuid,或者美团的overleaf 方案等等,都可以谈。最起码我可以引入redis/mysql,做一个自增的id,然后引入了他就可能有各种的问题,比如单点故障啊等等,可以一直说。

                                                                                                go语言

                                                                                                • golang的协程 是怎么实现的?和线程比有什么不一样,又给他带来哪些的好处?

                                                                                                  这个问题1面有涉及到,所以后面也好好准备了一下。可以谈的点很多,除了上一篇提到了,还可以说栈,保护现场恢复现场,用户态内核态,对比等等。最后可以加上一句,避免了内核频繁状态切换的成本。

                                                                                                  • go channel的调度机制有了解吗?泛型?

                                                                                                    这两个确实不了解,直接说不太清楚。

                                                                                                    redis

                                                                                                    • 谈一谈常用的数据结构。

                                                                                                      其实就是5个基本的,string,list,set,hash,zset。大概说说用途。

                                                                                                      还有几个有意思的结构,hyperloglog,这个涉及到伯努利试验,桶分布等等,我觉得本科同学学过概率论的真的可以好好研究下,说出来很加分的。

                                                                                                      以及geo 地理位置的结构。

                                                                                                      顺着string也可以提bloom过滤器,应用场景,黑名单,顺着还可以下击穿穿透雪崩等等等等,只是串联起来 什么都能说了。

                                                                                                      • 五大数据结构怎么实现的,有了解过吗?

                                                                                                        没看过源码,直说了。

                                                                                                        • 提到了跳表,有没有替代方案?

                                                                                                          zset用到跳表,大概讲讲跳表怎么回事,降低了查询时间啊,以及mysql为什么不用跳表而是b+树,两个的区别等等,可以说很多也是。

                                                                                                          • redis物理集群怎么搭建,怎么部署 有了解吗?

                                                                                                            只要是集群,就要意识到,要么主从那种高可靠集群,解决单点故障,要么解决压力过大的沙丁分片。有了这个框架什么都好说了,比如二者区别,大概是什么意思等等。

                                                                                                            • redis分布式锁有了解吗?

                                                                                                              这个建议好好看看,有很多权衡的点。

                                                                                                              首先结论是,redisson 都帮我们解决实现了,他解决 有许多需要考量的点,概括上来讲可以包括:

                                                                                                              【basic】本地锁

                                                                                                              1、***锁

                                                                                                              2、重复锁

                                                                                                              3、正确的删除

                                                                                                              4、性能问题

                                                                                                              5、可靠性问题

                                                                                                              6、红锁和红锁的缺点。

                                                                                                              • redis有许多开源的 偏集群的方案,有了解吗?

                                                                                                                不了解。但是只要是集群,就可以从AKF这个角度去考虑,那就可以提到redis在AKF上的考量。同时集群有集群理论,比如CAP BASE理论等等。

                                                                                                                • redis集群在cap关注的是哪两点呢?

                                                                                                                  p分区容错性一定是有的;集群的话,比如主从,信息可能同步不上来,不一致;所以AP。

                                                                                                                  • base理论,和CAP 提出了什么新鲜玩意?

                                                                                                                    阐述一下base理论是什么,比如一致性,就可以说 强一致性、弱一致性、最终一致性,kafka特殊的一致性(ISR,OSR)等等,很多。

                                                                                                                    zookeeper

                                                                                                                    • zk在CAP上是怎么的一个选择。

                                                                                                                      马上意识到选举过程200ms,是没法干其他事情的,所以在这个时间是不可用的,CP。那zk和eureka都可以作为注册中心,eureka在掉的时候有自我保护机制,心跳等等,保证可用但不是一致的;同样还可以说zk的目录树结构,隔离等等。

                                                                                                                      • PAXOS协议有具体了解吗?

                                                                                                                        讲自己知道的就行,比如背后论文的故事,大概流程,角色等等。

                                                                                                                        • 除了PAXOS,业界常用的RAFT有了解吗?

                                                                                                                          没具体了解,后续会了解一下。

                                                                                                                          • zk的脑裂问题听过吗?

                                                                                                                            当时答得不太对,正确的是指集群里面,因为一些问题 产生两个主,不知道听谁的,具体见下一面,下一面面试官问到了。

                                                                                                                            算法 层次遍历

                                                                                                                            层次遍历改一下,一行从左往右,一行从右往左这样遍历。

                                                                                                                            71

                                                                                                                            字节 后台开发 1面问题+思考

                                                                                                                            1、背景

                                                                                                                            ​ 最近收到字节面试通过的通知,把自己当中碰到的一些面试问题、复盘分享出来,祝大家求职顺利。

                                                                                                                            ​ 比较多放一个不太合适,按照123面这样一个一个具体说。当中有一些我的思考可能回答的点大家也可以参考。

                                                                                                                            2、字节1面 技术面

                                                                                                                            个人自我介绍【略过】

                                                                                                                            mysql

                                                                                                                              • 聊一聊mysql 你对索引的认识。
                                                                                                                              • ​ 其实比较大众化的问题,基本上是往着数据结构B+树角度去谈,为什么是B+。

                                                                                                                              • ​ 比如可以聊hash表、二叉树、多叉树等等,各自的优缺点;

                                                                                                                              • ​ 同时基础更好的同学可以围绕着 io ,page,innodb,b树b+树区别上聊,可以说很多。

                                                                                                                                • 提到了聚簇索引,非聚簇索引。那非聚簇索引存的是什么?
                                                                                                                                • ​ 首先是要回答出,聚簇索引、非聚簇索引的区别,以及各自的存储引擎 是否涉及聚簇索引这个事情。然后才是存什么。

                                                                                                                                • ​ 概括上来说,跟数据绑定在一起的,就是聚簇索引;没有绑定在一起的就是非聚簇索引。

                                                                                                                                • 可以接着延伸,回表,覆盖索引等等。

                                                                                                                                  网络

                                                                                                                                    • osi 七层模型描述一下。
                                                                                                                                    • 描述每一个层,大概干什么作用,有什么协议即可。同理可以扩展5层,5层是把哪些合并了等等。

                                                                                                                                    • 当时复习没注意这个点,网络层传输层还说反了,答得不是很好。

                                                                                                                                      • tcp udp有哪些区别?对应哪些应用场景?
                                                                                                                                      • 这个建议好好读计算机网络自顶向下,说的挺清楚的。

                                                                                                                                      • 最起码的有链接无连接,tcp的一些特性(可靠数据传输、拥塞机制、流量控制),比如应用场景 实时通信,比如报文头区别等等,可以涉及很多。

                                                                                                                                        • tcp udp 哪个传输效率更高?
                                                                                                                                        • 效率更高这个我无从下手,当时就说 咱们评判效率标准是什么?比如我是追求传输的快?还是追求质量?按照我的框架下给出对应的答案。

                                                                                                                                          • 能不能基于udp完成可靠数据传输呢?
                                                                                                                                          • 这个问题就是顺着我说的质量,接着往下问的。应用层上可以做到的,书上也会讲到。

                                                                                                                                            多线程

                                                                                                                                              • 进程 线程 协程的区别
                                                                                                                                              • ​ 这个是因为我的简历上有go语言,协程,所以问了这个问题。

                                                                                                                                                • 多进程 多线程的区别
                                                                                                                                                • ​ 本科老师教授过openmp和mpi,我就按照这两个的区别回答了一下。其实网上面经回答应该也挺好的,没有固定答案,可能是看个人思考吧。

                                                                                                                                                • ​ 比如多个之间如何合作,共享变量怎么办,消息通信等等。java的也可以聊聊thread local,锁啊,进程通信(ip+port)等等。

                                                                                                                                                  算法 最大栈

                                                                                                                                                  最大栈,最大队列。和剑指offer的题目应该类似吧。

                                                                                                                                                  最大栈就是新建一个额外的栈,保存最大值;最大队列这样干的不是最好,得有一些操作,反正当时是没想到。

                                                                                                                                                  然后灵机一动,讨了个巧,用两个栈 实现一个队列,原来o(n),用两个栈的话最多也就o(2n)=o(n),符合要求,实现出来了。

                                                                                                                                                  72

                                                                                                                                                  字节跳动 后端开发 一二面凉经

                                                                                                                                                  2022/08/26 字节一面 项目+八股 30min,题目说了思路,但是做了20多min卡壳没做出来 总共近1个小时(人生第一次工作面试)

                                                                                                                                                  • 项目 缓存怎么做的,怎么更新的

                                                                                                                                                  • 项目是多线程安全的吗,如何提高项目的并发量

                                                                                                                                                  • RabbitMQ以及Kafka有什么区别,为什么使用

                                                                                                                                                  • Redis的大Key怎么处理,有什么影响,对持久化有什么影响

                                                                                                                                                  • 数据库的事务特性,分别由什么保障的

                                                                                                                                                  • MVCC多版本并发控制

                                                                                                                                                  • 单链表排序:快排,归并

                                                                                                                                                  • 无反问。

                                                                                                                                                    2022/09/07 字节二面 55min GG

                                                                                                                                                  • 虚拟内存和物理内存的区别,为什么要使用虚拟内存,答了进程隔离,同时使进程的运行空间大于实际的物理空间。追问:不用虚拟内存也能进程隔离,也能进行内存页的换入换出,为什么还用虚拟内存。

                                                                                                                                                  • 项目的难点

                                                                                                                                                  • spring security的认证流程,权限如何设计的

                                                                                                                                                  • jwt过期了怎么办

                                                                                                                                                  • 联合索引(a,b)什么情况下有效,为什么?

                                                                                                                                                  • GC分区情况,为什么要分区,如何能够减少垃圾回收次数,程序应当如何设计,(没答上来如何减少GC)

                                                                                                                                                  • MySql和redis的使用场景,有什么区别(大概说一下,一个是持久化,一个基于内存做缓存,MySQL存储有关系的数据,redis是key-value类型的)

                                                                                                                                                  • redis的大key对redis持久化有什么影响

                                                                                                                                                  • 各种开发框架有什么作用,(对技术的封装,隐藏底层实现细节,提供简易的方法接口)

                                                                                                                                                  • 输入url到页面显示的过程

                                                                                                                                                  • 题目,连续数组和为5的倍数的子数组的个数(想到了用前缀和,但是没有完全想明白,后来面试官提示了一下,但是依旧没有想出来,说了个暴力的方法,一行代码都没有敲就结束了)

                                                                                                                                                    73

                                                                                                                                                    字节正式批-Data-TnS后端一二三面经(已OC)

                                                                                                                                                    一面 2022年8月29日

                                                                                                                                                    1. 自我介绍
                                                                                                                                                    2. 进程调度策略?
                                                                                                                                                    3. ***锁问题及解决方案
                                                                                                                                                    4. 用户态vs内核态
                                                                                                                                                    5. 滑动窗口?
                                                                                                                                                    6. 数据结构:堆vs栈
                                                                                                                                                    7. 描述一下堆的插入过程
                                                                                                                                                    8. dfs vs bfs
                                                                                                                                                    9. 数据库范式
                                                                                                                                                    10. 数据库事务and隔离级别
                                                                                                                                                    11. having关键字有什么用
                                                                                                                                                    12. ==和equals的区别
                                                                                                                                                    13. 聊一下GC?
                                                                                                                                                    14. minorGC vs fullGC
                                                                                                                                                    15. 如果大量出现minorGC,有什么原因?
                                                                                                                                                    16. JMM?
                                                                                                                                                    17. 类加载机制?
                                                                                                                                                    18. UML中,类之间的关系有哪些?
                                                                                                                                                    19. 设计模式了解哪些?
                                                                                                                                                    20. 观察者模式vs订阅模式?
                                                                                                                                                    21. AOP?
                                                                                                                                                    22. 分布式系统的CAP?
                                                                                                                                                    23. 算法题:最大子序列的和->进阶问题:既返回最大的和,又返回最大和子序列的起、止位置
                                                                                                                                                    24. 项目

                                                                                                                                                    二面 2022年9月5日

                                                                                                                                                    1. 自我介绍
                                                                                                                                                    2. 介绍一下项目中的一个难点
                                                                                                                                                    3. 说一下点赞功能
                                                                                                                                                    4. 假设一个帖子点赞量很大,一个redis set太大了,该怎么解决?
                                                                                                                                                    5. 假设在此基础上,还需要对点赞按照时间进行一个倒排,取出最新的20个点赞该怎么解决
                                                                                                                                                    6. 请求一个页面会发生什么?
                                                                                                                                                    7. 假如有登录状态呢?
                                                                                                                                                    8. 算法题:通配符匹配

                                                                                                                                                    74

                                                                                                                                                    字节后端-质量架构(一面65min)

                                                                                                                                                    \1. 自我介绍

                                                                                                                                                    \2. 介绍一个自己参与度最高的项目

                                                                                                                                                    \3. 进程与线程你了解吗?

                                                                                                                                                    \4. 并发和并行的区别?

                                                                                                                                                    \5. 虚拟地址和物理地址你了解吗?

                                                                                                                                                    \6. 锁,你了解那些锁?读写锁?

                                                                                                                                                    \7. 有哪些同步方式?

                                                                                                                                                    \8. 为什么Synchronized是重量级的锁?

                                                                                                                                                    \9. 计算机网络中为什么三次握手却需要四次挥手?

                                                                                                                                                    \10. http和https的区别?你能说下ssl的握手过程嘛?

                                                                                                                                                    \11. 拥塞控制你了解吗?

                                                                                                                                                    \12. python你用的多吗?你知道迭代器和生成器的区别吗?

                                                                                                                                                    \13. Django你有使用过吗?

                                                                                                                                                    \14. 你有使用python进行过网络编程嘛?

                                                                                                                                                    \15. 排序算法你有了解吗?讲一下快速排序的思想,分析下时间复杂度?

                                                                                                                                                    \16. 做题

                                                                                                                                                    - 如何判断一个链表是否有环(构建有环的链表出了点问题,双指针,hashset两种解法)

                                                                                                                                                    - 爬楼梯(动态规划)

                                                                                                                                                    75

                                                                                                                                                    字节 抖音实习 Java后端一面凉经

                                                                                                                                                    \1. 自我介绍

                                                                                                                                                    \2. 介绍项目(简单说了一下博客和rpc框架)

                                                                                                                                                    \3. rpc项目中遇到的困难(随便扯了个注册中心)

                                                                                                                                                    \4. 这个rpc自己有没有在哪个项目中使用了(随便说了自己只有写demo测试过)

                                                                                                                                                    \5. 用redis做注册中心的问题

                                                                                                                                                    \6. 操作系统(没学,直接不会)

                                                                                                                                                    \7. redis的删除策略

                                                                                                                                                    \8. 说说对hashmap的了解

                                                                                                                                                    \9. ConcurrentHashMap为什么是线程安全的

                                                                                                                                                    \10. 线程池的执行流程

                                                                                                                                                    \11. 线程池核心线程和最大线程数的区别

                                                                                                                                                    \12. 线程生命周期

                                                                                                                                                    \13. 线程的阻塞状态(因为上一问说到了,然后又卡住了)

                                                                                                                                                    \14. tcp和udp协议的区别(不会)

                                                                                                                                                    \15. 算法题:数组中的第 k 大的数字(直接卡壳了,只会暴力解)

                                                                                                                                                    \16. 各种排序的时间复杂度

                                                                                                                                                    \17. 叫我写个排序,然后用来实现这道题(写了一个希尔排序,忘记了好多,扯了好久,最后写出来了)

                                                                                                                                                    76

                                                                                                                                                    2023届菜鸟base杭州Java面经(已oc)附时间线

                                                                                                                                                    9.19 中午12点约下午4点面试 因为我有3点的字节面试我怕来不及 所以约在了晚上7点 面完官网状态还是简历评估没打勾

                                                                                                                                                    9.20 通知9.21做笔试

                                                                                                                                                    9.21 9点做笔试3道题就a了一半差不多 下午查官网状态是面试中 晚上7点多约9.22下午1:30二面

                                                                                                                                                    9.22 二面完一会状态是等待面试结果 晚上变成面试中

                                                                                                                                                    9.23 上午10点hr约下午5点三面 并拉群 三面完状态变为等待面试结果

                                                                                                                                                    =隔了两天是周末=

                                                                                                                                                    9.26 早上10点看状态变为面试中 中午12点约下午5点hr面 并拉群 面完状态变为等待面试结果 hr承诺国庆节前会出最后结果

                                                                                                                                                    9.28 下午2点有个面试官打电话说9.21那个笔试做的不好所以看看要加一场补测问我啥时候有空最好就近期因为比较着急 我说那就现在吧 然后做了三道题 差不多都做出来了 面试官说这两天hr会发offer 并且也希望我能来菜鸟

                                                                                                                                                    9.29上午十点半 hr打电话说这两天发邮箱意向书 聊了下部门具体情况和实习情况 十月中下旬谈薪 发正式offer

                                                                                                                                                    9.29 下午6点 意向书啦!!开心

                                                                                                                                                    焦虑了一整个9月,经历了太多大起大伏,没想到一个垃圾双非本科生也能今年卷进大大厂,好开心啊,终于可以好好过一个国庆了

                                                                                                                                                    9.19 19:00 电话1面 70分钟

                                                                                                                                                    1. 介绍职级p4
                                                                                                                                                    2. 自我介绍
                                                                                                                                                    3. 简历里提到的专利是做什么的,你负责什么部分?后面那个比赛也是做类似的工作吗?
                                                                                                                                                    4. 确认简历里的一些基本信息专业排名
                                                                                                                                                    5. 具体聊一下实习经历 20min
                                                                                                                                                    6. jdk和jre有什么区别 我忘了
                                                                                                                                                    7. ==和equals的区别
                                                                                                                                                    8. final在Java中有什么作用
                                                                                                                                                    9. String s = “123” 和 String s = new String(“123”)有什么区别
                                                                                                                                                    10. bio nio aio有什么区别 我不了解
                                                                                                                                                    11. hashmap是线程安全的吗,平时会有哪些数据结构能来保证线程安全
                                                                                                                                                    12. 。。。

                                                                                                                                                    面经没写完,稍晚两天补上

                                                                                                                                                    77

                                                                                                                                                    2023届字节跳动base杭州商业变现部门Java岗一面凉经

                                                                                                                                                    9.19 15:00 一面

                                                                                                                                                    1. 面试官先介绍部门,商业变现部门
                                                                                                                                                    2. 自我介绍
                                                                                                                                                    3. map有哪几种实现类,他们各自访问数据的顺序是如何的
                                                                                                                                                    4. Java中在某个方法中定义一个字符串型变量,涉及到哪些内存分配
                                                                                                                                                    5. 引用占多少空间
                                                                                                                                                    6. 一个sql,学生表,包含一些类,姓名,性别,年龄,成绩,想查性别为女,年龄21岁的学生姓名,怎么设计索引
                                                                                                                                                    7. Redis的list和zset这俩底层的数据结构分别是什么
                                                                                                                                                    8. zset是一开始是用跳表吗?为什么不直接用跳表而要用压缩列表
                                                                                                                                                    9. 分布式锁
                                                                                                                                                    10. 结合对计网的一些理解,公司上的请求是怎么打到你开发的应用上的
                                                                                                                                                    11. nginx在计网中哪一层?nginx和路由器转发哪个效率高,为什么
                                                                                                                                                    12. 手撕:给定一个二叉树,返回该二叉树的之字形层序遍历

                                                                                                                                                    犯了跟潮流网络一样的错,没好好对待、准备这次面试,周一的面试,前面的三天包括周末都是躺着刷手机度过,完全不复习,一直在等博瑞的offer,太不应该了,没见过世面的样子就该吃点教训长个记性!在写这个面经的时候很痛苦,因为发现大概十道题,没有一道题是在接近40分钟的面试过程中,完全回答正确的,深刻认识到了自己八股的差劲程度,要好好积累好好背诵好好学习好好巩固好好反复,切忌再掉以轻心!!!

                                                                                                                                                    78

                                                                                                                                                    字节后端直播一面凉经

                                                                                                                                                    #字节# #字节跳动# 吐槽一下,字节这次面试难度是我实习秋招以来面试难度最大的,心态有点崩

                                                                                                                                                    1.介绍一下AQS和Sychronized底层实现的联系和区别,我答得是AQS内部使用lookSupport和CAS机制,而Sychronized依赖于操作系统的Monitor机制,然后他让我讲一讲操作系统的monitor是什么结构,怎么运作的

                                                                                                                                                    2.如果要你使用AQS设计countDownLatch工具类,该如何设计,AQS我很久之前看的,忘的差不多了,答得很不好

                                                                                                                                                    4.讲讲looksupport在操作系统层面的底层实现

                                                                                                                                                    5.讲讲NIO,讲讲Java的NIO是如何调用操作系统的NIO服务的

                                                                                                                                                    6.如果要你基于Tcp协议搭建服务器,该如何搭建?(没搞懂啥意思)

                                                                                                                                                    7.讲讲操作系统对NIO是如何封装的,底层的数据结构是什么,我答得select,poll,epoll原理,他说不是要我回答这个

                                                                                                                                                    8.你刚才说NIO的socket连接是一种系统资源是吧,那讲讲操作系统中NIO的socket连接数量有没有什么限制,如果有,和什么有关。(我支支吾吾的说了select的连接数限制,他说不是这个)

                                                                                                                                                    9.讲讲在高并发场景下,该如何优化NIO连接,如何配置

                                                                                                                                                    10.讲讲Redis分片

                                                                                                                                                    11.Redis的冗余和分片是同时存在的,该如何进行集群配置

                                                                                                                                                    12.我看你使用了Netty,那请你讲一讲如果让你实现一个netty框架,该如何设计

                                                                                                                                                    13.讲讲Netty为啥并发量大(我说NIO的优点,以及Netty将原生Java的水平触发改为边缘触发,他说这个没啥影响)

                                                                                                                                                    13.我看你在项目里提到了webSocket,那请问websocket建立连接的过程是什么,服务端做了哪一些处理。

                                                                                                                                                    14.你说websocket使用在聊天场景中,那你这里做了群聊实现了么?听说过写扩散和读扩散么?解释一下

                                                                                                                                                    算法:一道字符串dp,我用的dfs,当时心态有点崩,卡了十分钟才写出来,面试官说分析一下复杂度,说复杂度太高,于是跳过,过了一会意识到没有进行记忆化操作。。。。

                                                                                                                                                    还是我太菜了,以后还需要打磨打磨基础吧

                                                                                                                                                    反问,我从您问的问题里面感觉字节对操作系统的基础很重视吧,那您对学习这些有关操作系统的知识有什么技巧

                                                                                                                                                    面试官回答我说要注重在实践中学习,比如NIO和socket这块多学习抓包,学会跟踪调用。有时候只看一些技术博客学一些理论是没有多深的理解的。

                                                                                                                                                    还有一些记不住了,上面的大部分我都答得不怎么样

                                                                                                                                                    79

                                                                                                                                                    字节后端 日常实习一二面(已oc)

                                                                                                                                                    一面是个可爱的小姐姐,就给人感觉很亲切很放松,简单的问了一些问题就开始做题

                                                                                                                                                    一面9.16(45min)

                                                                                                                                                    1.进程和线程的区别

                                                                                                                                                    2.线程之间内存是共享的吗

                                                                                                                                                    3.进程之间、线程之间怎么进行交互

                                                                                                                                                    4.项目里线程之间的交互

                                                                                                                                                    5.进程间最高效的通信方式

                                                                                                                                                    6.共享内存和进程的地址空间的关系

                                                                                                                                                    7.代码题:1)K 个一组翻转链表,非递归和递归实现,如1->2->3->4->5->6->7->8->NULL,k=3,变为3->2->1->6->5->4->8->7->NULL

                                                                                                                                                    2)给定一个数组,判断可以积水的容量,如{ 5,2,1,4,3 } ,积水容量为5, 42. 接雨水

                                                                                                                                                    二面面试官小哥哥人也超级好,不嫌弃我菜愿意和我一起讨论,代码题我思路错了还会举例子告诉我这方法可能行不通,最后经他一步步引导发现其实就是双指针,感觉之前好像还做过这题,但一开始看到代码题的时候思路完全偏了

                                                                                                                                                    二面9.21(50min)

                                                                                                                                                    1.epoll的水平触发和边沿触发,项目里用的是哪种

                                                                                                                                                    2.实现带timeout的read接口,原来的 ssize_t read(int fd, void * buf, size_t count) 改为ssize_t read(int fd, void * buf, size_t count, int timeout),可以调用原来的read函数(其实就是封装一下原来的read函数,一开始没理解面试官意思懵了很久)

                                                                                                                                                    3.c++11新特性哪些对你很实用,auto,lambda,std::move

                                                                                                                                                    std::string byte = “xxx”

                                                                                                                                                    auto s = byte

                                                                                                                                                    问auto是拷贝还是引用,会推导成什么类型

                                                                                                                                                    4.代码题:溢出问题,一个数组vector,整体和是不溢出的,但部分和会溢出,怎么求和

                                                                                                                                                    80

                                                                                                                                                    字节跳动2023秋招研发第五场笔试【后端方向】凉经

                                                                                                                                                    题型:4道编程题 ,通过率20%,ac,20%,18.18%

                                                                                                                                                    1.根据子族谱,第一行是子族谱的个数,然后是n行子族谱,如A B C,代表B是C的父亲,A是B的父亲,要求输出第一代的名字和第n代的人数,不会,寄了

                                                                                                                                                    2.要求输出数组中满足要求的字串数, 如an

                                                                                                                                                    3.求各组满足要求的最小步数,每个相邻的步数的值相差±1或者0,第一步和最后一步的步长必须是1,不会做,寄

                                                                                                                                                    4.给出狗一天可能吃的几种饭量和狗粮总重量,且第二天狗粮吃的不会比前一天多,问有多少种分配方式,不会做,寄!

                                                                                                                                                    准备进厂搬砖了。

                                                                                                                                                    81

                                                                                                                                                    23秋招后端提前批字节百度凉经和教训

                                                                                                                                                    字节电商提前批一面挂 7.20

                                                                                                                                                    听说字节电商几乎没hc,居然过了简历筛选,很意外(实际上是很惨,因为面评可能比较烂,后面再也没有字节的面试了)。不过很感谢字节,给我练手的机会,大二找实习的时候也是一面挂。。。

                                                                                                                                                    1.介绍实习项目

                                                                                                                                                    2.MySQL怎么实现可重复读

                                                                                                                                                    3.Java实现同步的手段有哪些

                                                                                                                                                    4.聊聊开源项目

                                                                                                                                                    5.算法题

                                                                                                                                                    • 搜索矩阵(我直接说出了最优解,但是面试官觉得不行,得用二分,然后我开始怀疑自己,不敢说了。长教训了,相信自己,遇到这种情况就上去怼,怂没意义,后面面滴滴快手用友的时候也碰到类似情况,就直接怼了)
                                                                                                                                                    • 字符串转浮点数

                                                                                                                                                      百度SRE提前批二面挂

                                                                                                                                                      当时看百度Java上海没什么hc,就投sre了,挺后悔的,浪费了一次机会QAQ。

                                                                                                                                                      一面 8.17

                                                                                                                                                      1.聊经历和项目

                                                                                                                                                      2.tcp三次握手

                                                                                                                                                      3.浏览器输入www.baidu.com的全流程

                                                                                                                                                      4.SQL查询慢可能是哪些原因

                                                                                                                                                      5.Linux命令

                                                                                                                                                      6.算法题,很简单

                                                                                                                                                      7.是否对sre感兴趣

                                                                                                                                                      二面 8.24

                                                                                                                                                      1.为啥不做后盾来面sre(有点尴尬,我也说不出为什么)

                                                                                                                                                      2.从Java角度看进程和线程的区别

                                                                                                                                                      3.Java里面如何保证线程安全

                                                                                                                                                      4.详细说说你对CAS的理解

                                                                                                                                                      5.Linux命令

                                                                                                                                                      6.pagecache详细介绍一下

                                                                                                                                                      7.mmap

                                                                                                                                                      8.dns协议

                                                                                                                                                      9.dns怎么做负载均衡

                                                                                                                                                      10.如果要对RPC做性能优化,从哪些点考虑

                                                                                                                                                      11.突发的热搜问题怎么解决(开放题)

                                                                                                                                                      12.rpc这块负载均衡怎么做?轮询有什么缺陷?怎么判断各个endpoint的负载情况?

                                                                                                                                                      13.介绍一个你做的最满意的项目

                                                                                                                                                      14.Kubernetes为什么会流行?有什么优势?

                                                                                                                                                      15.Kubernetes部署pod的全流程分析

                                                                                                                                                      16.两个算法题,写完发邮件

                                                                                                                                                      二面结束第二天来了个电话,我当时在面试没接,过几天就挂了。罢了,可能是感觉不太match,早知道投Java了,焯。

                                                                                                                                                      这次的教训是不要乱投,浪费机会。

                                                                                                                                                      82

                                                                                                                                                      秋招的第一个意向字节

                                                                                                                                                      9月2日一面

                                                                                                                                                      9月7日二面

                                                                                                                                                      9月13日三面

                                                                                                                                                      9月14日hr面

                                                                                                                                                      9月21日意向

                                                                                                                                                      补充:一面当天通知过了、二面隔天通知过了、三面也是当天通知过了。

                                                                                                                                                      ---------------------------------------------------------------------------------------------------

                                                                                                                                                      字节Data二面57min介绍一下研究成果?解决的问题、主要工作?变化检测的应用场景?介绍实验室相关的?研究过程中的分工?毕业要求?研究过程中的心得体会?会参考其他领域吗?编程语言相关?如何学习的?说一下classloader?了解log4j安全事件吗?系统中的静态链接和动态链接的区别?操作系统中的进程、线程?对Linux有没有更深的了解?算法题:英文题-输入是一个64bit的类型,如(010…011)->(110…010),我写的是将long转换成二进制然后反转,最后还原成long对工作的想法?哪里人?字节Data三面53minfor循环去删除集合中的元素会发生什么?ConcurrentModificationException?迭代器?(当通过 for 循环遍历集合时,一般禁止操作add or remove集合元素)项目中使用的垃圾回收器?服务器的内存,垃圾回收需要的时间?哪些元素可以做为GC Root?java线程池?项目中redis使用不同的数据结构的考量点?hyperloglog统计不精确的原因是什么?topic有8个partition,一个消费者组内有10个消费者,怎么消费?本地缓存和数据库的缓存如何保证一致性?分布式情况下?qps怎么测的?分析不使用缓存时为什么qps非常低?研究生期间做的比较难的事情是什么?算法题:全排列

                                                                                                                                                      83

                                                                                                                                                      字节跳动后端一面

                                                                                                                                                      楼主字节跳动正式批笔试冲突没做,挂了,然后被其他部门捞起来面试。

                                                                                                                                                      首先是一上来自我介绍,然后是写一道算法题。

                                                                                                                                                      写的是实现LRU,不许使用LinkedHashMap,允许使用HashMap和链表,链表要求自己实现,实现复杂度是O(1)

                                                                                                                                                      然后是面试官问几个项目,疯狂怼细节。

                                                                                                                                                      问到登录时用JWT,JWT能够保证安全性吗,各种问JWT的细节。

                                                                                                                                                      问到去中心化处理是怎么处理的(关于blockchain的)。

                                                                                                                                                      接下来是一些八股文。

                                                                                                                                                      1.知道哪些排序算法

                                                                                                                                                      \2. 排序算法的时间复杂度、空间复杂度、是否稳定、使用场景

                                                                                                                                                      \3. 快排退化为N*N的复杂度的场景

                                                                                                                                                      \4. HTTPS和HTTP的区别,详细描述HTTPS是如何运作的,包括一开始的密钥是怎么传输的。

                                                                                                                                                      反问:

                                                                                                                                                      \1. 表现的太烂,我就没问表现的咋样,自取其辱…

                                                                                                                                                      \2. 问笔试没做完挂了,是被其他部门捞起来的吗? 是的

                                                                                                                                                      字节跳动是面试过最难的公司,各种细节怼到爆炸。

                                                                                                                                                      84

                                                                                                                                                      9.22字节番茄小说后端开发三面面经(45min 已感谢信)

                                                                                                                                                      1. 算法题,leetcode301 重排链表
                                                                                                                                                      2. 飞书发起视频会议,有域名,怎么转换到ip的
                                                                                                                                                      3. 网络中数据包的传输流程,具体。比如从大连到北京,是怎么传输的
                                                                                                                                                      4. 场景题,飞书群里发红包,限制人数,限制总额,随机红包,给出设计方案
                                                                                                                                                      5. 算法题 一个蚂蚁在12点的刻度上,可以向右走也可以向左走,走了n步最终回到12点,求有几种走法。让说思路(说了一个不对,没想出来,结束面试,寄)

                                                                                                                                                      85

                                                                                                                                                      字节后端开发二面 50分钟(已感谢信!!!)

                                                                                                                                                      1、聊了好久的项目,你是怎么做的?

                                                                                                                                                      2、多租户除了你这种解法,你还有其他的解法吗?

                                                                                                                                                      3、数据库的主从复制?

                                                                                                                                                      4、http请求get、put、post、delete的区别?

                                                                                                                                                      5、http请求如何认证的啊?(项目里衍生出来的)

                                                                                                                                                      6、数据库的delete、drop和truncate有什么区别?

                                                                                                                                                      86

                                                                                                                                                      字节跳动后端开发面试凉经

                                                                                                                                                      字节:

                                                                                                                                                      1.项目介绍

                                                                                                                                                      2.java的容器有哪些,说说map类型的数据结构除了hashmap,如果想要有序遍历map可以如何使用,采用那种数据结构,问hashtable是怎么保证线程安全的,加的锁属于什么锁,这个锁封锁粒度是多少

                                                                                                                                                      3.谈谈redis索引,B+数据结构为什么用于索引,不用红黑树,如果让你查询你觉得查询次数两种数据结构次数是不是相同

                                                                                                                                                      4.redis支持的数据类型,说说zset的底层数据结构是什么,跳表是查询一个数的步骤是怎么进行

                                                                                                                                                      5.k个一组的翻转链表,自己构建用例

                                                                                                                                                      87

                                                                                                                                                      字节 番茄小说 Java后端 9.14面试

                                                                                                                                                      1. 自我介绍
                                                                                                                                                      2. 选一个项目进行介绍,介绍项目中的难点和解决方案
                                                                                                                                                      3. 先做一道算法题,岛屿数量(思路正确,但是dfs一开始紧张写错地方了,后面经过提醒测试过了)
                                                                                                                                                      4. 计算机网络:udp与tcp的区别,udp怎么实现像tcp一样的可靠传输???拥塞控制的实现(我按照tcp握手思路答不对,应该是要基于udp本身的协议,不太了解底层协议,GG)
                                                                                                                                                      5. 异步io,同步io和非阻塞io的区别
                                                                                                                                                      6. 进程与线程的区别,进程用的堆栈情况,为什么要有线程,线程和进程的系统开销切换情况
                                                                                                                                                      7. SQL题,平均分大于80的学科情况
                                                                                                                                                      8. 反问:部门情况

                                                                                                                                                      88

                                                                                                                                                      字节暑期实习Java开发

                                                                                                                                                      7.29号–一面

                                                                                                                                                      一个小姐姐面试

                                                                                                                                                      自我介绍

                                                                                                                                                      1.点赞幂等如何保证?

                                                                                                                                                      2.分布式学了什么?

                                                                                                                                                      3.分布式解决什么问题而提出来的?

                                                                                                                                                      4.做分布式有什么麻烦?需要考虑把服务拆成微服务,那么维护,设计需要考虑什么问题?

                                                                                                                                                      5.分布式服务数据之间的流通?(这一部分分布式确实不知道回答什么 -。-,看我不太了解分布式果断终止话题,换其它)

                                                                                                                                                      6.spring框架用到了什么底层思想,如何实现的,有用到哪些比较基础的设计模式?

                                                                                                                                                      7.单例模式在哪个类用到了单例模式?

                                                                                                                                                      8.http和https区别,https干了什么?

                                                                                                                                                      9.tcp和udp区别,tcp如何解决粘包问题?

                                                                                                                                                      10.并发和并行区别?

                                                                                                                                                      11.redis有哪些数据结构 zset是一个怎样的数据类型?

                                                                                                                                                      12.git有用过吗? Linux系统命令 如何用过linux查看进程状态?

                                                                                                                                                      代码题目:一道中等题题号一千多忘了

                                                                                                                                                      8.2号-- 二面

                                                                                                                                                      自我介绍

                                                                                                                                                      1.问项目

                                                                                                                                                      2.前缀树词库如何生成?有无爬虫读取数据

                                                                                                                                                      3.redis相关八股:持久化机制,崩溃恢复机制,rehash过程,数据淘汰策略,线程模型,io多路复用?epoll讲讲?LT和ET区别?

                                                                                                                                                      4.mysql相关八股:聚簇索引b+树相关知识?abc最左匹配原则?MVCC能解决幻读嘛?redolog、binlog在哪一层?两阶段提交?加间隙锁一些原则?

                                                                                                                                                      5.http 502,504区别?timewait什么时候出现,它的意义?https流程

                                                                                                                                                      代码题:第K大 和面试官讲了下随机快排。

                                                                                                                                                      这部门两面,除了发现分布式相关知识确实不懂,其他八股都能基本背的上,两天后挂了。估计没啥HC了吧,反正也是拿来练练手。

                                                                                                                                                      过了两天后转技术中台不知道为啥给我转到客户端去了?

                                                                                                                                                      8.5号–一面

                                                                                                                                                      一个很年轻很年轻的小哥哥,甚至感觉像是实习生在面试我

                                                                                                                                                      自我介绍(自我介绍完后,面试官盯着我简历看了几分钟不知道问啥,几分钟后艰难的问出了问题)

                                                                                                                                                      1.能实习吗?

                                                                                                                                                      2.项目过程中碰到什么问题?

                                                                                                                                                      3.用redis实现共享session有什么优势吗?

                                                                                                                                                      4.redis缓存失效,如何保证及时更新?

                                                                                                                                                      (开始问八股,但是不知道为啥问的八股特别简单,当时已经觉得是kpi面了。)

                                                                                                                                                      5.栈和堆的区别?

                                                                                                                                                      6.http的header有哪些?method有哪些?

                                                                                                                                                      7.post也能得到数据为什么不用get?(可能想问post和get的区别吧) tcp与udp区别?

                                                                                                                                                      8.tcp如何保证三次握手可靠性?

                                                                                                                                                      9.操作系统的锁?(这个不太了解和他扯了pv操作,peterson) java里面有什么锁? 有碰到***锁的情况?

                                                                                                                                                      代码题:忘了

                                                                                                                                                      反问环节:

                                                                                                                                                      1.委婉的表达了是不是KPI面?(面试官尴尬的笑了笑,然后义正言辞的说道,部门肯定是有HC的,不然也不会发起面试邀请,并且表示面试官的时间都是很宝贵的(很赞同这一点)。)

                                                                                                                                                      2.然后进行常规反问环节

                                                                                                                                                      8.14号二面:

                                                                                                                                                      自我介绍完

                                                                                                                                                      正准备开始讲项目,等待老师的精彩发问,老师淡淡的说了句,好那我们来做下代码题吧?

                                                                                                                                                      题目1:比较版本号大小(没做过,但是不难,15min做出来)

                                                                                                                                                      题目2:二叉树中和为某一值的路径(就是简单的dfs,10min做出来了要我讲解思路,讲解半天,问我有没有用回溯,我和他明确肯定不需要用到回溯。target设成全局变量才需要回溯。)

                                                                                                                                                      题目3:离1小时还有10几分钟,不知道从哪里搞了到困难题,看不懂,直接发呆摆烂。

                                                                                                                                                      无反问:草草收场溜了。

                                                                                                                                                      周六发给我感谢信,整体流程快,面试体验良好,针对线上抗压式做题,谢谢面试官宝贵时间陪我刷题,真是栓Q!

                                                                                                                                                      89

                                                                                                                                                      字节+美团后端开发面经(已意向)

                                                                                                                                                      由于我本人没有记录全部问题的习惯,以下面经中的问题都是我回忆起来的一部分。

                                                                                                                                                      字节

                                                                                                                                                      一、项目

                                                                                                                                                      1.微服务注册与发现机制?

                                                                                                                                                      2.服务之间的通信?

                                                                                                                                                      3.负载均衡实现方式?原理?

                                                                                                                                                      4.项目中是否用到MYSQL调优?细说

                                                                                                                                                      5.实习项目

                                                                                                                                                      二、八股

                                                                                                                                                      1.线程之间的通信方式?

                                                                                                                                                      2.Java的notify()底层实现原理?

                                                                                                                                                      3.equals与==与hashcode

                                                                                                                                                      4.equals没有重写,调用时会调用hashcode方法吗?

                                                                                                                                                      5.Threadlocal原理?

                                                                                                                                                      6.Threadlocal和 synchronized的比较,优缺点?应用场景?

                                                                                                                                                      7.TCP和UDP对比,区别,使用场景,分别有哪些协议?

                                                                                                                                                      8.Cookie原理

                                                                                                                                                      9.cookie和session

                                                                                                                                                      10.虚拟机与docker对比,各自的用途和优缺点

                                                                                                                                                      11.docker与k8s的区别

                                                                                                                                                      12.docker的COPY指令和ADD指令区别

                                                                                                                                                      13.普通的二叉树寻找第k小的方法?时间复杂度?优化?

                                                                                                                                                      14.线程的上下文是什么?栈容量是多少?

                                                                                                                                                      15.介绍一下零拷贝

                                                                                                                                                      16.虚拟地址空间的作用?进程独占or全局共享?

                                                                                                                                                      17.页表存储的位置?内存不够了怎么办(多级页表与局部性原理)?

                                                                                                                                                      18.linux io模型

                                                                                                                                                      一面谈项目比较多,二面三面八股多

                                                                                                                                                      除此之外还有一些常见的数据库索引、调优问题,java集合问题,redis基础数据结构问题,http相关基础问题等,记不太清了

                                                                                                                                                      三、算法

                                                                                                                                                      1.最长无重复字串

                                                                                                                                                      2.最近公共祖先,子节点有指向父结点的指针,要求O(1)空间复杂度

                                                                                                                                                      3.S型打印二叉树

                                                                                                                                                      美团

                                                                                                                                                      一、项目

                                                                                                                                                      1.数据库怎么建表?字段有哪些?

                                                                                                                                                      2.索引怎么建的?

                                                                                                                                                      3.如何优化?

                                                                                                                                                      4.微服务架构的理解?优缺点?单机相比于微服务的优点?

                                                                                                                                                      5.实习项目

                                                                                                                                                      二、八股

                                                                                                                                                      1.JVM 与 JDK 与 JRE

                                                                                                                                                      2.java从代码到运行的程序的过程

                                                                                                                                                      3.hashmap经典问题(一系列底层原理)

                                                                                                                                                      4.java多线程的使用

                                                                                                                                                      5.线程池的使用

                                                                                                                                                      6.线程池执行任务的过程

                                                                                                                                                      7.synchronized原理(monitor)

                                                                                                                                                      8.Spring IOC

                                                                                                                                                      9.索引底层原理?为什么用b+树(IO)

                                                                                                                                                      10.慢查询优化

                                                                                                                                                      11.分库分表

                                                                                                                                                      12.垃圾回收算法

                                                                                                                                                      13.垃圾收集器的算法、使用场景

                                                                                                                                                      美团是项目结合八股比较多,所以问题大多和做的项目相关,记不太清了

                                                                                                                                                      三、算法

                                                                                                                                                      1.只出现一次的数字

                                                                                                                                                      2.海量数据统计高频数字(说思路)

                                                                                                                                                      3.第K大数,要求基于快排思想做。

                                                                                                                                                      90

                                                                                                                                                      字节番茄小说9.5后端一面,9.15二面

                                                                                                                                                      1. HTTP与HTTPS区别
                                                                                                                                                      2. 输入www.baidu.com的过程
                                                                                                                                                      3. 每次HTTP都经过TCP吗
                                                                                                                                                      4. HashMap数据结构
                                                                                                                                                      5. HashMap什么时候扩容,扩容时间复杂度
                                                                                                                                                      6. Redis Zset数据结构
                                                                                                                                                      7. Zset依据什么排序
                                                                                                                                                      8. 进程与线程区别
                                                                                                                                                      9. 进程间通信
                                                                                                                                                      10. 进程切换时都有哪些改变
                                                                                                                                                      11. 进程切换时操作系统做了什么

                                                                                                                                                      算法题

                                                                                                                                                      合并区间

                                                                                                                                                      岛屿数量

                                                                                                                                                      反问

                                                                                                                                                      面试官没开摄像头,感觉纯纯的KPI

                                                                                                                                                      更新,约二面了(9.15)

                                                                                                                                                      二面 9.15(1h9min)

                                                                                                                                                      1. 知不知道LRU,用什么数据结构实现,jdk里面有没有现成的数据结构(LinkedHashMap)

                                                                                                                                                      2. 自定义String能不能被加载,双亲委派机制,各种类加载器的加载范围

                                                                                                                                                      3. volatile了解吗,如果多个线程对某个加了volatile的数++操作,会有问题吗

                                                                                                                                                      4. 怎么避免上述问题

                                                                                                                                                      5. 原子类的原理

                                                                                                                                                      6. 介绍下自定义线程池,核心参数有哪些

                                                                                                                                                      7. KeepAlive参数是做什么的,从什么时候开始计时

                                                                                                                                                      8. 来了一个请求,查询id,如何从很多id中判断哪些存在哪些不存在

                                                                                                                                                      9. bitmap怎么实现的,在java中实现应该用什么数据结构(提示说int数组占用空间过大,应该用bit)

                                                                                                                                                      10. 场景题,从20亿数据中挑选top10000数据,怎么处理

                                                                                                                                                      11. 从很多数中取排序后的10000个数据(快排+剪枝)

                                                                                                                                                      12. java怎么设置最大堆容量跟初始堆容量,怎么设置线程参数

                                                                                                                                                      13. 判断题

                                                                                                                                                        List longList = new ArrayList(); List integerList = new ArrayList(); List strings = new LinkedList(); longList.add(1L); integerList.add(1); strings.add("a"); System.out.println(longList.getClass() == integerList.getClass()); System.out.println(longList.getClass() == strings.getClass());
                                                                                                                                                      14. 讲一下mysql分页语句,如果查询分页的index 10000到之后的数据,可能出现什么问题,怎么解决

                                                                                                                                                      15. 有联合索引(a,b,c),select * from table where b > 123 and a like ‘aaa%’; 走不走索引

                                                                                                                                                      \16. 算法题

                                                                                                                                                      input

                                                                                                                                                      7

                                                                                                                                                      3 3 4 7 5 6 8

                                                                                                                                                      output

                                                                                                                                                      4

                                                                                                                                                      2 3 5 6

                                                                                                                                                      输入数组长度及数组,找到连续递增的最长子序列长度以及下标数组

                                                                                                                                                      大概一半问题没答出来,算法没写出来,sql也答得不好,寄

                                                                                                                                                      更新,当天下午约三面(绷不住了)

                                                                                                                                                      91

                                                                                                                                                      字节后端实习面经(中台)

                                                                                                                                                      8.29 一面(1h)

                                                                                                                                                      • 自我介绍
                                                                                                                                                      • 项目
                                                                                                                                                      • Raft
                                                                                                                                                        • Raft 是干什么的
                                                                                                                                                        • 介绍 Raft 的流程
                                                                                                                                                        • Leader Down 了怎么处理,怎么保障一致性
                                                                                                                                                        • 了解 Prevote 吗
                                                                                                                                                        • 知道有哪些项目用了 Raft 吗
                                                                                                                                                        • 怎么用 go 来做并发和同步,用过 sync 包里的哪些东西
                                                                                                                                                        • 锁的底层实现原理
                                                                                                                                                        • go 的垃圾回收,优势在哪
                                                                                                                                                        • 为什么要三次握手?三次握手的缺点是什么
                                                                                                                                                        • Mysql 为什么用 B+ 树做索引,为什么不用 B 树
                                                                                                                                                        • 算法:最长公共子串

                                                                                                                                                          8.31 二面(1h)

                                                                                                                                                          • 自我介绍
                                                                                                                                                          • 项目
                                                                                                                                                          • 类似 课程表II 的一道算法题
                                                                                                                                                          • 基于上题扩展了一下,假设我们可以同一时间修多门课,修每门课所需时间均为 1,那么修完所有的课需要多长时间(多源最短路)

                                                                                                                                                            9.1 三面(45min)

                                                                                                                                                            • 自我介绍
                                                                                                                                                            • 项目
                                                                                                                                                            • 二叉树的最大宽度
                                                                                                                                                            • 介绍一下 MVCC
                                                                                                                                                            • Mysql 有哪些锁
                                                                                                                                                            • 了解哪些开源数据引擎
                                                                                                                                                            • 智力题:你有两个鸡蛋,100 层楼,鸡蛋在第 i 层或者更低的楼层丢下是不会碎的,在第 i+1 层或更高的楼层丢下是会碎的,你要找到这个 i。请设计一个方案,使得在最坏情况下需要尝试的次数最少。

                                                                                                                                                              9.2 HR面(20min)

                                                                                                                                                              • 遇到的最大挑战
                                                                                                                                                              • 最有成就感的事
                                                                                                                                                              • 觉得企业的工作和学校的项目会有什么不同
                                                                                                                                                              • 对部门业务了解吗
                                                                                                                                                              • 有其他offer吗
                                                                                                                                                              • 能实习多长时间

                                                                                                                                                                92

                                                                                                                                                                字节Data一面35min

                                                                                                                                                                面试官和所在部门技术栈都是go。

                                                                                                                                                                \1. 强引用、软引用、弱引用和虚引用的区别?

                                                                                                                                                                \2. java多态的实现原理?

                                                                                                                                                                \3. java中实现多线程同步该怎么做?高并发场景下如何解决同步问题?

                                                                                                                                                                \4. StringBuilder和StringBuffer的区别有哪些?String?

                                                                                                                                                                \5. A服务器在不停的往B服务器发包,如果发生了网络拥塞,A、B服务器分别会发生什么行为?

                                                                                                                                                                \6. 内存的页置换算法有哪些?口述lru实现?

                                                                                                                                                                \7. 物理内存和虚拟内存的区别?

                                                                                                                                                                \8. IO多路复用?

                                                                                                                                                                \9. 算法题:旋转数组找目标值、括号生成

                                                                                                                                                                \10. 问我对java的设想?以后做什么事情?

                                                                                                                                                                \11. mysql索引的结构?主键自增是严格自增的吗?高并发的情况下插数据?

                                                                                                                                                                面完还以为凉了,竟然火速约了二面,感恩!!!给牛友们分享一下,攒好运

                                                                                                                                                                93

                                                                                                                                                                字节后端开发-电商业务-二面

                                                                                                                                                                二面一共47min

                                                                                                                                                                1. 自我介绍
                                                                                                                                                                2. 实习10min
                                                                                                                                                                3. 为什么MySQL用B+树做索引而不用B树
                                                                                                                                                                4. 内存缺页中断,尽量讲细一点
                                                                                                                                                                5. TCP和UDP有什么区别
                                                                                                                                                                6. 用UDP实现可靠的传输,有什么思路吗

                                                                                                                                                                接下来是三个思考题

                                                                                                                                                                1. 你有一个5亿个数字的大文件,但你只有1GB内存的单片机,你的硬盘是无限的,现在我们需要对里面的内容进行排序,把排序的结果输出到一个文件里。
                                                                                                                                                                2. 给定rand5()库函数,实现rand7()
                                                                                                                                                                3. 30min未支付的订单,需要取消,怎么设计

                                                                                                                                                                一道算法题

                                                                                                                                                                • 查找给定目标数字在升序数组中出现的第一个和最后一个下标,如果不存在返回两个-1

                                                                                                                                                                  三面之后,感觉凉了

                                                                                                                                                                  94

                                                                                                                                                                  【字节面经】ai lab后端开发,已意向

                                                                                                                                                                  回馈一下牛客社区,时间有点久,很多的都忘了,运气比较好总体偏简单。无hr面,三面后一周hr反馈通过,审批又过了一周,这周一意向。

                                                                                                                                                                  背景:211本 华五硕

                                                                                                                                                                  字节半年实习,本部门不校招,没有等转正其他部门直接溜溜球了

                                                                                                                                                                  平时用的java开发,部门用go所以没问语言相关

                                                                                                                                                                  有点大数据基础,实习也大数据相关部门,所以稍微有点大数据问题

                                                                                                                                                                  一面

                                                                                                                                                                  项目经历

                                                                                                                                                                  实习时候的leader (估计飞书去问了)

                                                                                                                                                                  算法 topk

                                                                                                                                                                  二面

                                                                                                                                                                  实习项目中学到了什么?技术深度方面?

                                                                                                                                                                  http和rpc的区别?

                                                                                                                                                                  http和rpc分别运行的协议,http和rpc的序列化?

                                                                                                                                                                  数据库的join区别

                                                                                                                                                                  数据库事务具体应用(在业务中具体怎么做,举例子)

                                                                                                                                                                  threadLocal应用场景

                                                                                                                                                                  redis为啥可以做缓存

                                                                                                                                                                  redis做缓存一致性怎么解决

                                                                                                                                                                  mr过程,求wc任务,要求拆成更细粒度来说

                                                                                                                                                                  mr和spark比起来优缺点

                                                                                                                                                                  计算机底层为实现并发有哪些支持

                                                                                                                                                                  epoll的两种触发事件?

                                                                                                                                                                  算法 最长不重复子串长度

                                                                                                                                                                  总体来说问题都挺难回答的,不知道咋说,开放式问题比较多

                                                                                                                                                                  三面

                                                                                                                                                                  上来就讲项目,自己讲然后也没问技术

                                                                                                                                                                  你觉得实习的时候部门产品的实用性,优势是什么

                                                                                                                                                                  实习时候的mentor

                                                                                                                                                                  然后两道算法题 二分查找 和大于等于target的最短子数组

                                                                                                                                                                  自己未来几年的规划

                                                                                                                                                                  还有什么想展示的他没有问到的亮点

                                                                                                                                                                  95

                                                                                                                                                                  字节一面java凉经

                                                                                                                                                                  8.31 14:00-14:50 飞书视频面试

                                                                                                                                                                  1.自我介绍+问项目

                                                                                                                                                                  2.讲一讲项目中的rabbitMQ跟redis是怎么用的?

                                                                                                                                                                  3.熟悉哪些限流算法?分别应用场景是什么?(令牌桶跟漏桶算法讲了下原理,应用场景没答上来)

                                                                                                                                                                  4.讲一下mysql跟redis怎样保证数据一致性

                                                                                                                                                                  5.数据库范式了解吗?讲一下,你设计数据库表的时候,会遵循三范式吗?(讲了三范式的原理,会遵循,但他说实际情况下不一定会)

                                                                                                                                                                  6.讲一下InnoDB,mysql索引的数据结构有哪些?为什么不用B树?

                                                                                                                                                                  7.java中都有哪些IO(讲了下三个IO模型跟原理)

                                                                                                                                                                  8.讲一下Netty?底层源码看过吗?(只讲了使用过程,底层不了解,关键我简历上就写了个了解,上来就硬核源码是吧)

                                                                                                                                                                  9.Netty是什么IO?为什么有了NIO还要用Netty?我直接用NIO不行吗?(封装了 NIO 的很多细节,使用更简单。 )

                                                                                                                                                                  10.JUC都熟悉哪些?知道Atomic吗?了解CountDownLatch吗(Thread类等创建线程的方式,后面连续问两个我感觉要凉凉了)

                                                                                                                                                                  最后:手撕没撕出来,一道中等题,代码随想录刷过,有思路但是代码没写出来,寄

                                                                                                                                                                  给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。注:lc46

                                                                                                                                                                  96

                                                                                                                                                                  2022/8/29 字节番茄小说后端实习一面

                                                                                                                                                                  项目

                                                                                                                                                                  1. 会话管理怎么实现的,拦截器具体怎么做的
                                                                                                                                                                  2. 说一下Cookie和Session
                                                                                                                                                                  3. Redis里具体存的什么信息
                                                                                                                                                                  4. 点赞、相互关注用的Redis哪一种数据类型,底层数据结构是什么
                                                                                                                                                                  5. 缓存一致性的几种策略,为什么用”先更新数据库,再删缓存“

                                                                                                                                                                  并发

                                                                                                                                                                  1. Java实现并发常用的哪几种方式
                                                                                                                                                                  2. sleep()和wait()的区别
                                                                                                                                                                  3. volatile怎么实现的可见性(提示内存屏障)
                                                                                                                                                                  4. 原子类的核心是什么
                                                                                                                                                                  5. CAS属于什么锁类型
                                                                                                                                                                  6. TreadLocal有了解么
                                                                                                                                                                  7. ThreadFactory有了解么
                                                                                                                                                                  8. 说一下ConcurrentHashMap的底层实现
                                                                                                                                                                  9. 线程池的核心参数有哪些;
                                                                                                                                                                  10. core 2, 有界队列 10,max 4, 拒绝策略为丢弃;1/3/7/13/17号线程的状态是什么

                                                                                                                                                                  JVM

                                                                                                                                                                  说一下Java的垃圾回收算法

                                                                                                                                                                  MySQL

                                                                                                                                                                  1. 聚簇索引和非聚簇索引
                                                                                                                                                                  2. 写select语句看走的什么索引
                                                                                                                                                                  3. 如果MySQL宕机了,如何恢复丢失的数据
                                                                                                                                                                  4. MySQL如何实现事务

                                                                                                                                                                  网络

                                                                                                                                                                  1. TCP/IP五层模型分别是什么
                                                                                                                                                                  2. TCP、UDP属于哪一层

                                                                                                                                                                  算法题

                                                                                                                                                                  lc[33. 搜索旋转排序数组]

                                                                                                                                                                  97

                                                                                                                                                                  字节跳动 互娱研发 后端开发面经 8.24

                                                                                                                                                                  内部员工回复

                                                                                                                                                                  提前批字节一面直接挂了,秋招再来一次

                                                                                                                                                                  一面1、前面几个都是项目相关问题2、Redis的热点key会带来什么问题?3、HashMap、HashTable和ConcurrentHashMap有什么区别?4、HashMap非线程安全,什么时候会出现线程安全问题呢?5、前后端分离时,cookie在什么情况下是有效的?6、前后端分离的状态如何维护?(jwt)7、jwt在前后端交互过程中通常被存储在哪里?在传输过程中是存放在什么中传输?(HTTP的header中)8、TCP的三次握手9、为什么seq要是随机值呢?10、TCP有哪些机制保证可靠性?11、通常用什么来标识一个TCP连接?12、一台机器到另外一台机器最多能有多少个TCP连接?13、HTTPS与HTTP的区别?14、HTTPS的数据加密过程?15、数据库中索引一般用什么数据结构?16、B树和B+树有什么区别?17、怎么实现分布式锁?18、如果当前线程申请了分布式锁,还没处理完就锁的时间要到期了怎么办?19、如果还需要是可重入锁呢?应该怎么设计?20、算法题:将阿拉伯数字转换成中文,如输入110010,输出 十一万零一十 算法题细节好多,面试官提醒下写了好久。。。

                                                                                                                                                                  98

                                                                                                                                                                  字节 PICO 一面

                                                                                                                                                                  面试时间:08/25

                                                                                                                                                                  面试形式:视频会议

                                                                                                                                                                  面试岗位:后端开发

                                                                                                                                                                  一面(45min)

                                                                                                                                                                  • 面试官介绍
                                                                                                                                                                  • 自我介绍

                                                                                                                                                                    面试官介绍本次面试流程:算法+基础+项目+反问环节

                                                                                                                                                                    算法

                                                                                                                                                                    • 两两交换链表中的节点(ACM 模式)

                                                                                                                                                                      基础知识

                                                                                                                                                                      os:

                                                                                                                                                                      • 进程和线程的区别?
                                                                                                                                                                      • 进程间通信方式?

                                                                                                                                                                        linux命令:

                                                                                                                                                                        • 查看CPU状态?
                                                                                                                                                                        • 查看网络情况?
                                                                                                                                                                        • 查看磁盘大小?
                                                                                                                                                                        • 如何查看大小前5的大文件?

                                                                                                                                                                          计网:

                                                                                                                                                                          • URL背后的过程?
                                                                                                                                                                          • DNS解析详细说一下?
                                                                                                                                                                          • cookie和session的区别?
                                                                                                                                                                          • session是如何保证安全性的?
                                                                                                                                                                          • http的状态码?
                                                                                                                                                                          • 502和504有什么区别? 不会
                                                                                                                                                                          • http请求报文的格式?

                                                                                                                                                                            MySQL:

                                                                                                                                                                            • 创建索引要注意什么?
                                                                                                                                                                            • 多个字段都要创建索引,可以使用什么? 组合索引。
                                                                                                                                                                            • 使用组合索引匹配方式? 最左匹配原则

                                                                                                                                                                              项目

                                                                                                                                                                              • 三种I/O多路复用技术介绍一下?
                                                                                                                                                                              • EPOLL的两种触发模式介绍一下?
                                                                                                                                                                              • 聊天服务器实现了哪些功能?
                                                                                                                                                                              • 支持图片视频传输吗? 不支持?
                                                                                                                                                                              • 为什么使用JSON?
                                                                                                                                                                              • 你项目中怎么定义的JSON字段?
                                                                                                                                                                              • Nginx是使用的那种模式实现的负载均衡?

                                                                                                                                                                                反问:

                                                                                                                                                                                • 部门的主要工作内容以及技术栈?
                                                                                                                                                                                • 部门的规模大小?
                                                                                                                                                                                • 主要是在北京还是上海? 北京
                                                                                                                                                                                • 上班下班时间?
                                                                                                                                                                                • 新人培养制度?

                                                                                                                                                                                  一面已过,下周同一时间二面

                                                                                                                                                                                  99

                                                                                                                                                                                  字节data 后端开发工程师提前批一二面 面经

                                                                                                                                                                                  三面已经挂掉了,有兄弟找我要一二面面经。 HR说data 大数据开发工程师 会捞一下我。因此,来回忆一下前两面的内容,后续如果能被捞继续复习。

                                                                                                                                                                                  一面:一小时

                                                                                                                                                                                  spark 实时处理项目挖掘。

                                                                                                                                                                                  1. 讲一下双流join?双流join 是事实表和维度表还是事实表和事实表join?
                                                                                                                                                                                  2. Redis 主要是用来干什么的?

                                                                                                                                                                                  实验室项目挖掘。

                                                                                                                                                                                  1. 介绍下无人车项目
                                                                                                                                                                                  2. 介绍下Apollo OpenDRIVE 格式这里是用来干啥的,给下游导航模块提供数据的。
                                                                                                                                                                                  3. 说一下实验环境,在哪的10公里?

                                                                                                                                                                                  两道题目手撕:

                                                                                                                                                                                  从左下角到右上角的路径个数
                                                                                                                                                                                  1. dp写出来
                                                                                                                                                                                  2. 用排列组合的方式会不会计算,分析分析
                                                                                                                                                                                  翻转二叉树

                                                                                                                                                                                  二面:一小时十分钟

                                                                                                                                                                                  项目介绍:

                                                                                                                                                                                  1. 介绍一下自己一个做得好的项目。
                                                                                                                                                                                  2. 说一下这里面难点在哪?我讲了双流join。
                                                                                                                                                                                  3. 面试官反问如果存储的时候Redis 数据量过大咋解决的?这个问题在快手也被问到了 大家知道怎么回答这个问题吗?能不能告知一下

                                                                                                                                                                                  网络:

                                                                                                                                                                                  1. TCP 和 UDP 的区别?

                                                                                                                                                                                    答了可靠和不可靠,答了应用场景。

                                                                                                                                                                                  2. TCP 是怎么实现可靠性的?

                                                                                                                                                                                    答了:ACK机制,三次握手四次挥手,流量控制,拥塞控制。没有继续追问。

                                                                                                                                                                                  3. 为啥需要三次握手和四次挥手?

                                                                                                                                                                                    为了保证全双工。发送方和接收方都有发送和接受的能力。没有继续追问。

                                                                                                                                                                                  4. IP 地址和 MAC 地址的区别说一下?

                                                                                                                                                                                    IP 是网络层,MAC是数据链路层。IP可以来做路由转发,MAC主要是ARP点对点发送。

                                                                                                                                                                                  5. 只用MAC 地址不用IP 地址行不行?

                                                                                                                                                                                    我说了IP可以有子网还有网段MAC不行。还有不在一个协议层。面试官说MAC地址不够?存不了这么大的范围?这个不会

                                                                                                                                                                                  数据库:

                                                                                                                                                                                  说一下事务,说一下ACID是怎么保证的。

                                                                                                                                                                                  操作系统:

                                                                                                                                                                                  说一下进程和线程的区别

                                                                                                                                                                                  算法:

                                                                                                                                                                                  写LRU cache,自己编写测试用例测试。

                                                                                                                                                                                  大数据基础:

                                                                                                                                                                                  1. Hadoop 有哪几部分构成?MR,YARN,HDFS
                                                                                                                                                                                  2. Hadoop 主要有哪些进程说说?NN,standByNN,ZKFailoverController,DN

                                                                                                                                                                                  反问:

                                                                                                                                                                                  1. 部门技术难点?说难点主要在于业务的理解。
                                                                                                                                                                                  2. 技术栈是啥?Spark 离线,Flink 实时。
                                                                                                                                                                                  3. 发展方向?在实现流批一体?数据和计算分离?数据湖?

                                                                                                                                                                                  总结:

                                                                                                                                                                                  项目中存储的时候Redis 数据量过大咋解决的?有人知道这个问题怎么回答吗?能不能在评论区贴一下答案,谢谢!

                                                                                                                                                                                  100

                                                                                                                                                                                  字节 后端 一面凉经

                                                                                                                                                                                  1. 项目经历

                                                                                                                                                                                  2. 实习经历

                                                                                                                                                                                  3. hashmap 怎么实现?

                                                                                                                                                                                    答:数组 + 链表/ 红黑树,然后讲了一大堆添加元素的操作(算hashcode -> 算index -> 冲突解决)

                                                                                                                                                                                    hashmap 扩容流程

                                                                                                                                                                                    答:默认16,有个扩容阈值0.75,扩容2n

                                                                                                                                                                                    然后呢?具体扩容过程

                                                                                                                                                                                    答:( 沉默 )

                                                                                                                                                                                  4. hashmap线程安全吗?

                                                                                                                                                                                    答:不是,首先hashmap设计理念就不是多线程场景下的

                                                                                                                                                                                    hashmap在并发场景下会有什么问题?

                                                                                                                                                                                    答:能插入null key/ null value 肯定会有安全问题

                                                                                                                                                                                    具体会有什么问题了解过吗?

                                                                                                                                                                                    答:( 沉默 ) 然后说了有可能会有跟mysql可重复读一样的问题吧

                                                                                                                                                                                    为了线程安全用什么结构?

                                                                                                                                                                                    答:ConcurrentHashMap

                                                                                                                                                                                    ConcureentHashMap 怎么实现线程安全?

                                                                                                                                                                                    答:1.7 Segment数组,分段加锁 1.8 Node数组,synchronized + CAS

                                                                                                                                                                                  5. Synchronized怎么实现的?

                                                                                                                                                                                    答:jvm层面 取对象监视器monitor

                                                                                                                                                                                  6. 除了synchronize还有什么方法可以保证线程安全的

                                                                                                                                                                                    答:讲了volatile原理、然后还有Atomic原子类,CAS的ABA问题等等(感觉这个方向不太好,应该回答别的)

                                                                                                                                                                                  7. 了解反射吗

                                                                                                                                                                                    答:可以通过反射去拿到类的信息,赋值,执行方法等等

                                                                                                                                                                                  8. 反射可以解决什么问题

                                                                                                                                                                                    答:balabla讲了一大堆动态代理被打断了,然后又重复了一遍反射本身是用来解决什么东西的

                                                                                                                                                                                  9. 反射有什么问题?

                                                                                                                                                                                    答:需要绕过安全检查,会有安全问题

                                                                                                                                                                                  10. 除了安全问题还有什么?

                                                                                                                                                                                    答:( 沉默 )

                                                                                                                                                                                  11. java内存模型

                                                                                                                                                                                    答:讲了运行时数据区域,线程私有公有那些( = = 回答的不太对,当时应该想错了)

                                                                                                                                                                                  12. 堆和栈有什么不一样

                                                                                                                                                                                    答:堆存放对象实例、静态变量、字符串常量池,栈由栈帧组成,栈帧由变量表、动态链接等方面组成

                                                                                                                                                                                  13. 申请一个对象,他会在刚刚提到的哪个内存模型模块去发生(这个问题我实在不是很理解想问什么)

                                                                                                                                                                                    答:讲了对象创建的过程,就加载 验证 准备 解析 初始化

                                                                                                                                                                                    对象一定会在堆里面

                                                                                                                                                                                    答:我说我只知道有“逃逸”的名词

                                                                                                                                                                                    追问知道逃逸对象在哪里吗?

                                                                                                                                                                                    答:不清楚,可能是栈

                                                                                                                                                                                  14. Spring?

                                                                                                                                                                                    答:简单讲了IoC、AOP

                                                                                                                                                                                  15. mysql范式

                                                                                                                                                                                    答:背

                                                                                                                                                                                  16. 了解mysql事务吗?

                                                                                                                                                                                    答:ACID

                                                                                                                                                                                  17. 了解mysql索引吗?

                                                                                                                                                                                    答:聚簇索引、非聚簇索引(然后讲了InnoDB、MyISAM)、二级索引,讲了一堆

                                                                                                                                                                                  18. 联合索引

                                                                                                                                                                                    答:最左匹配原则,(a, b, c) 创建 (a)、(a, b)、(a, b, c)

                                                                                                                                                                                  19. a = xx,c = xxx?

                                                                                                                                                                                    答:应该是有的,因为a等于某个值,c也是按顺序的(当时回答慌了感觉凉了、不过仔细想想好像也没啥错的,其实这里用的应该只是a的索引,这个说法好像没啥毛病)

                                                                                                                                                                                  20. b = xx, c = xxx?

                                                                                                                                                                                    答: 没有,不遵循最左匹配

                                                                                                                                                                                  21. 了解唯一索引吗(直接尸体冰凉,一慌全忘了)

                                                                                                                                                                                    答:主键索引也是一种唯一索引,但唯一索引不仅仅包括主键索引

                                                                                                                                                                                  22. 唯一索引有null值能生效吗

                                                                                                                                                                                    答:(完全不知道)说了不可以(刚刚查了是可以的)

                                                                                                                                                                                  23. 进程线程区别

                                                                                                                                                                                    答:

                                                                                                                                                                                  24. 为什么线程进程为什么性能损耗不同?

                                                                                                                                                                                    答:可能是包括上下文切换信息不同

                                                                                                                                                                                  25. 进程怎么跟操作系统申请资源分配

                                                                                                                                                                                    答:完全不知道,只知道分配内存和文件描述符,会不会跟IO模型有关,系统调度

                                                                                                                                                                                  26. 做题:num1, num2 循环大数减小数,减到有一个为0

                                                                                                                                                                                    面试官说是简单题,但是我卡了一会,而且面试官人超好边写还给我提示,但是飞书和leetcode不一样好不习惯

                                                                                                                                                                                    时间到了就做了一道题

                                                                                                                                                                                  27. 反问

                                                                                                                                                                                  本人23届本科双非,感觉是无了,不过面试体验超好,面试官人很不错,很耐心,但是问题一开始都是比较大概念然后逐渐深入(然后我就原形毕露了),我太菜了qwq

                                                                                                                                                                                  101

                                                                                                                                                                                  给大家推荐几份面经吧

                                                                                                                                                                                  阿里-阿里妈妈-Java

                                                                                                                                                                                  1、mysql中myism和innodb的区别

                                                                                                                                                                                  myisam不支持事务,innodb支持事务

                                                                                                                                                                                  myisam只支持表锁,innodb支持表锁和行锁

                                                                                                                                                                                  myisam支持全文检索,innodb不支持全文检索

                                                                                                                                                                                  2、聚簇索引和非聚簇索引区别

                                                                                                                                                                                  聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据

                                                                                                                                                                                  非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置

                                                                                                                                                                                  3、jvm内存模型以及程序运行时,它们是怎么一个过程

                                                                                                                                                                                  方法区

                                                                                                                                                                                  程序计数器

                                                                                                                                                                                  堆

                                                                                                                                                                                  本地方法栈

                                                                                                                                                                                  虚拟机栈

                                                                                                                                                                                  4、jvm跨代引用是如何处理的

                                                                                                                                                                                  5、双亲委派机制的优点

                                                                                                                                                                                  6、消息中间件里的消息重复、乱序、丢失,请从生产者和消费者的角度去谈一谈

                                                                                                                                                                                  可以看出,保证消息的可靠性需要三方配合。

                                                                                                                                                                                  生产者需要处理好Broker的响应,出错情况下利用重试、报警等手段。

                                                                                                                                                                                  Broker需要控制响应的时机,单机情况下是消息刷盘后返回响应,集群多副本情况下,即发送至两个副本及以上的情况下再返回响应。

                                                                                                                                                                                  消费者需要在执行完真正的业务逻辑之后再返回响应给Broker。

                                                                                                                                                                                  但是要注意消息可靠性增强了,性能就下降了,等待消息刷盘、多副本同步后返回都会影响性能。因此还是看业务,例如日志的传输可能丢那么一两条关系不大,因此没必要等消息刷盘再响应。

                                                                                                                                                                                  如果处理重复消息

                                                                                                                                                                                  我们先来看看能不能避免消息的重复。

                                                                                                                                                                                  假设我们发送消息,就管发,不管Broker的响应,那么我们发往Broker是不会重复的。

                                                                                                                                                                                  但是一般情况我们是不允许这样的,这样消息就完全不可靠了,我们的基本需求是消息至少得发到Broker上,那就得等Broker的响应,那么就可能存在Broker已经写入了,当时响应由于网络原因生产者没有收到,然后生产者又重发了一次,此时消息就重复了。

                                                                                                                                                                                  再看消费者消费的时候,假设我们消费者拿到消息消费了,业务逻辑已经走完了,事务提交了,此时需要更新Consumer offset了,然后这个消费者挂了,另一个消费者顶上,此时Consumer offset还没更新,于是又拿到刚才那条消息,业务又被执行了一遍。于是消息又重复了。

                                                                                                                                                                                  可以看到正常业务而言消息重复是不可避免的,因此我们只能从另一个角度来解决重复消息的问题。

                                                                                                                                                                                  关键点就是幂等。既然我们不能防止重复消息的产生,那么我们只能在业务上处理重复消息所带来的影响。

                                                                                                                                                                                  幂等处理重复消息

                                                                                                                                                                                  幂等是数学上的概念,我们就理解为同样的参数多次调用同一个接口和调用一次产生的结果是一致的。

                                                                                                                                                                                  例如这条 SQLupdate t1 set money = 150 where id = 1 and money = 100; 执行多少遍money都是150,这就叫幂等。

                                                                                                                                                                                  因此需要改造业务处理逻辑,使得在重复消息的情况下也不会影响最终的结果。

                                                                                                                                                                                  可以通过上面我那条 SQL 一样,做了个前置条件判断,即money = 100情况,并且直接修改,更通用的是做个version即版本号控制,对比消息中的版本号和数据库中的版本号。

                                                                                                                                                                                  或者通过数据库的约束例如唯一键,例如insert into update on duplicate key…。

                                                                                                                                                                                  或者记录关键的key,比如处理订单这种,记录订单ID,假如有重复的消息过来,先判断下这个ID是否已经被处理过了,如果没处理再进行下一步。当然也可以用全局唯一ID等等。

                                                                                                                                                                                  基本上就这么几个套路,真正应用到实际中还是得看具体业务细节。

                                                                                                                                                                                  如何保证消息的有序性

                                                                                                                                                                                  有序性分:全局有序和部分有序。

                                                                                                                                                                                  全局有序

                                                                                                                                                                                  如果要保证消息的全局有序,首先只能由一个生产者往Topic发送消息,并且一个Topic内部只能有一个队列(分区)。消费者也必须是单线程消费这个队列。这样的消息就是全局有序的!

                                                                                                                                                                                  不过一般情况下我们都不需要全局有序,即使是同步MySQL Binlog也只需要保证单表消息有序即可。

                                                                                                                                                                                  部分有序

                                                                                                                                                                                  因此绝大部分的有序需求是部分有序,部分有序我们就可以将Topic内部划分成我们需要的队列数,把消息通过特定的策略发往固定的队列中,然后每个队列对应一个单线程处理的消费者。这样即完成了部分有序的需求,又可以通过队列数量的并发来提高消息处理效率。

                                                                                                                                                                                  图中我画了多个生产者,一个生产者也可以,只要同类消息发往指定的队列即可。

                                                                                                                                                                                  如果处理消息堆积

                                                                                                                                                                                  消息的堆积往往是因为生产者的生产速度与消费者的消费速度不匹配。有可能是因为消息消费失败反复重试造成的,也有可能就是消费者消费能力弱,渐渐地消息就积压了。

                                                                                                                                                                                  因此我们需要先定位消费慢的原因,如果是bug则处理 bug ,如果是因为本身消费能力较弱,我们可以优化下消费逻辑,比如之前是一条一条消息消费处理的,这次我们批量处理,比如数据库的插入,一条一条插和批量插效率是不一样的。

                                                                                                                                                                                  假如逻辑我们已经都优化了,但还是慢,那就得考虑水平扩容了,增加Topic的队列数和消费者数量,注意队列数一定要增加,不然新增加的消费者是没东西消费的。一个Topic中,一个队列只会分配给一个消费者。

                                                                                                                                                                                  当然你消费者内部是单线程还是多线程消费那看具体场景。不过要注意上面提高的消息丢失的问题,如果你是将接受到的消息写入内存队列之后,然后就返回响应给Broker,然后多线程向内存队列消费消息,假设此时消费者宕机了,内存队列里面还未消费的消息也就丢了

                                                                                                                                                                                  7、k8s的设计理念,源码是否看过,谈一谈这样架构的好处

                                                                                                                                                                                  8、程序计数器是如何工作的

                                                                                                                                                                                  9、volatile是干啥的?其中线

                                                                                                                                                                                  10、结合类加载和jvm内存模型说一下整个过程

                                                                                                                                                                                  11、了解那些数据库的索引数据结构?分别说说有什么好处?

                                                                                                                                                                                  12、微服务拆分的原则?优缺点?

                                                                                                                                                                                  13、启动三个线程实现顺序打印abc

                                                                                                                                                                                  14、动态代理的原理

                                                                                                                                                                                  15、容器了解多少?为什么k8s的设计里有pod,而不是直接用容器?

                                                                                                                                                                                  16、高并发场景下,有10台机器正在工作,其中有一台机器重启之后cpu load特别大,请从各个角度分析一下该现象出现的原因

                                                                                                                                                                                  17、如何用AQS实现一个锁

                                                                                                                                                                                  阿里-新零售-Java

                                                                                                                                                                                  阿里巴巴一面(55分钟)

                                                                                                                                                                                  先介绍一下自己吧

                                                                                                                                                                                  说一下自己的优缺点

                                                                                                                                                                                  具体讲一下之前做过的项目

                                                                                                                                                                                  你觉得项目里给里最大的挑战是什么?

                                                                                                                                                                                  Hashmap为什么不用平衡树?

                                                                                                                                                                                  AQS知道吗?知道哪一些呢?讲一讲。

                                                                                                                                                                                  CLH同步队列是怎么实现非公平和公平的?

                                                                                                                                                                                  ReetrantLock和synchronized的区别

                                                                                                                                                                                  讲一下JVM的内存结构

                                                                                                                                                                                  JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计JVM的堆的线程安全的?

                                                                                                                                                                                  讲一下redis的数据结构

                                                                                                                                                                                  redis缓存同步问题

                                                                                                                                                                                  讲一讲MySQL的索引结构

                                                                                                                                                                                  你有什么问题要问我吗?

                                                                                                                                                                                  阿里巴巴二面(45分钟)

                                                                                                                                                                                  根据项目问了一些细节问题

                                                                                                                                                                                  说一下HashMap的数据结构

                                                                                                                                                                                  红黑树和AVL树有什么区别?

                                                                                                                                                                                  如何才能得到一个线程安全的HashMap?

                                                                                                                                                                                  讲一下JVM常用垃圾回收期

                                                                                                                                                                                  redis分布式锁

                                                                                                                                                                                  再描述一下你之前的项目吧

                                                                                                                                                                                  你觉得这个项目的亮点在哪里呢?

                                                                                                                                                                                  你设计的数据库遵循的范式?

                                                                                                                                                                                  你有没有问题?

                                                                                                                                                                                  阿里巴巴三面(50分钟)

                                                                                                                                                                                  又聊项目

                                                                                                                                                                                  在项目中,并发量大的情况下,如何才能够保证数据的一致性?

                                                                                                                                                                                  elasticsearch为什么检索快,它的底层数据结构是怎么样的?

                                                                                                                                                                                  JVM内存模型

                                                                                                                                                                                  netty应用在哪些中间件和框架中呢?

                                                                                                                                                                                  线程池的参数

                                                                                                                                                                                  讲一下B树和B+树的区别

                                                                                                                                                                                  为什么要用redis做缓存?

                                                                                                                                                                                  了解Springboot吗?那讲一下Springboot的启动流程吧

                                                                                                                                                                                  如何解决bean的循环依赖问题?

                                                                                                                                                                                  Java有哪些队列?

                                                                                                                                                                                  讲一讲Spring和Springboot的区别

                                                                                                                                                                                  最近看了什么书?为什么?

                                                                                                                                                                                  你平时是怎么学习Java的呢?

                                                                                                                                                                                  阿里-阿里口碑-Java

                                                                                                                                                                                  阿里巴巴一面(38分钟)- 自我介绍

                                                                                                                                                                                  介绍项目, 具体一点

                                                                                                                                                                                  讲一下Redis分布式锁的实现

                                                                                                                                                                                  HashMap了解么吗?说一下put方法过程

                                                                                                                                                                                  HashMap是不是线程安全?

                                                                                                                                                                                  ConcurrentHashMap如何保证线程安全?

                                                                                                                                                                                  数据库索引了解吗?讲一下

                                                                                                                                                                                  常见排序算法

                                                                                                                                                                                  TCP三次握手,四次挥手。

                                                                                                                                                                                  深入问了乐观锁,悲观锁及其实现。

                                                                                                                                                                                  阿里巴巴二面(45分钟)

                                                                                                                                                                                  自我介绍+项目介绍

                                                                                                                                                                                  你在项目中担任什么样的角色?

                                                                                                                                                                                  那你觉得你比别人的优势在哪里?你用了哪些别人没有的东西吗?

                                                                                                                                                                                  Java怎么加载类?

                                                                                                                                                                                  linux常用命令有哪些?

                                                                                                                                                                                  Spring的IOC, AOP。

                                                                                                                                                                                  讲一下ORM框架Hibernate

                                                                                                                                                                                  设计模式了解吗?讲一下

                                                                                                                                                                                  自己实现一个二阶段提交,如何设计?

                                                                                                                                                                                  你还有什么想问的?

                                                                                                                                                                                  阿里巴巴三面(30分钟)

                                                                                                                                                                                  说一下自己做的项目

                                                                                                                                                                                  问了一些项目相关的问题

                                                                                                                                                                                  wait()和sleep()的区别

                                                                                                                                                                                  原子变量的实现原理

                                                                                                                                                                                  CAS的问题,讲一下解决方案。

                                                                                                                                                                                  有没有更好的计数器解决策略

                                                                                                                                                                                  讲一讲NIO和BIO的区别

                                                                                                                                                                                  Nginx负载均衡时是如何判断某个节点挂掉了?

                                                                                                                                                                                  讲一下redis的数据类型和使用场景

                                                                                                                                                                                  k8s的储存方式是怎样的?

                                                                                                                                                                                  Spring AOP原理是什么?怎么使用?什么是切点,什么是切面?最好是举个例子

                                                                                                                                                                                  算法题:给一堆硬币的array,返回所有的组合

                                                                                                                                                                                  阿里巴巴总监面(34分钟)

                                                                                                                                                                                  算法:给一个set打印出所有子集;多线程从多个文件中读入数据,写到同一个文件中;判断ip是否在给定范围内;打乱一副扑克牌,不能用额外空间,证明为什么是随机的。

                                                                                                                                                                                  Tcp和udp区别

                                                                                                                                                                                  线程池的原理以及各种线程池的应用场景

                                                                                                                                                                                  线程池中使用有限的阻塞队列和无限的阻塞队列的区别

                                                                                                                                                                                  如果你发现你的sql语句始终走另一个索引,但是你希望它走你想要的索引,怎么办?

                                                                                                                                                                                  mysql执行计划

                                                                                                                                                                                  数据库索引为什么用b+树?

                                                                                                                                                                                  你在做sql优化主要从哪几个方面做,用到哪些方法工具?

                                                                                                                                                                                  有没有想问的?

                                                                                                                                                                                  阿里巴巴HR面(23分钟)

                                                                                                                                                                                  自我介绍

                                                                                                                                                                                  平时怎么学习的?

                                                                                                                                                                                  有什么兴趣爱好吗?

                                                                                                                                                                                  怎么看待996?

                                                                                                                                                                                  怎么平衡工作和学习?

                                                                                                                                                                                  有没有什么想问的

                                                                                                                                                                                  阿里-阿里云-Java

                                                                                                                                                                                  一面:

                                                                                                                                                                                  项目介绍

                                                                                                                                                                                  字符串全排列

                                                                                                                                                                                  线程安全

                                                                                                                                                                                  设计题:设计一个微博系统,给了一个比较大的用户量

                                                                                                                                                                                  头条-后端 一面

                                                                                                                                                                                  1.介绍了一下做过的项目架构,和项目实现细节。面试官最近刚做了一个项目,跟我们做的项目一样,聊了比较久

                                                                                                                                                                                  2.看我之前是打acm的,说问道简单的算法题走个流程Orz。

                                                                                                                                                                                  题:一个先逆序再正序的数组,求最小值

                                                                                                                                                                                  5 4 3 2 1 2 3 返回 1

                                                                                                                                                                                  解法:二分

                                                                                                                                                                                  3.看我项目里有一个进程内缓存的项目,聊了一下,然后又问了concurrentmap和hashmap区别,concurrentmap的分段锁,最多支持多少个segment

                                                                                                                                                                                  二面

                                                                                                                                                                                  1.聊项目,聊了比较久

                                                                                                                                                                                  2.问了一到算法题,二叉树按中序遍历的方式转换为链表

                                                                                                                                                                                  解法:中序遍历,遍历的时候修改树节点的前后指针。需要用到一个辅助节点pre和一个节点记录链表头

                                                                                                                                                                                  三面

                                                                                                                                                                                  1.问了一个开放性题目,设计一个方案,根据用户地点返回附近的餐馆

                                                                                                                                                                                  按城市划分,将城市划分为网格,每个网格有不同的餐馆,先定位到用户在哪个网格,再获取周围网格中的餐馆

                                                                                                                                                                                  2.算法题:将一个字符串小数约分为分数,且分子分母约分过,需要考虑无限循环小数

                                                                                                                                                                                  1.15(3) 表示1.153333333333循环

                                                                                                                                                                                  解法:分三部分,整数部分,非循环的小数和循环的小数

                                                                                                                                                                                  非循环部分的小数变分数为x/10^n

                                                                                                                                                                                  循环部分小数变分数为y/10n(10m-1)

                                                                                                                                                                                  如上述例子中循环部分为 3/ 100*9

                                                                                                                                                                                  整数部分直接加上分数

                                                                                                                                                                                  约分使用欧几里得算分子分母最大公约数,再除一下即可

                                                                                                                                                                                  二叉搜索数第k大元素。

                                                                                                                                                                                  二叉树按层遍历。

                                                                                                                                                                                  堆排序。

                                                                                                                                                                                  topk。

                                                                                                                                                                                  两个set取交集

                                                                                                                                                                                  链表是否有环。如何找到入环节点

                                                                                                                                                                                  头条-后端

                                                                                                                                                                                  一面:

                                                                                                                                                                                  1.项目。

                                                                                                                                                                                  2.Reentranlock 与synchronized区别。 各自的底层实现

                                                                                                                                                                                  3.事务隔离级别。 innodb的默认隔离级别如何避免幻读?

                                                                                                                                                                                  \5. mvcc。快照读 当前读。

                                                                                                                                                                                  \6. jvm cms的步骤。 缺点。

                                                                                                                                                                                  \7. 有大量full gc如何排查?

                                                                                                                                                                                  \8. 堆 gc频次正常 时间正常。 出现内存泄漏是什么问题? 如何排查堆外内存? 你见过哪里用堆外内存?

                                                                                                                                                                                  \9. netty eventloop 大概做什么? io事件 读写事件。任务事件

                                                                                                                                                                                  \10. 任务事件中 如何保障多线程情况下线程安全的进行上层的writeAndFlush? mpsc队列

                                                                                                                                                                                  4.实现一个 LRU ? get为o(1)复杂度

                                                                                                                                                                                  二面。

                                                                                                                                                                                  1项目中 难点。讲两个

                                                                                                                                                                                  \2. 如何实现一个可靠传输? 序列号。校验和 重传 ack 滑动窗口。拥塞控制。等

                                                                                                                                                                                  \3. mysql架构。 sql经过解析器之后得到的解析树 如何转换成优化器的执行计划?如何选择?

                                                                                                                                                                                  \4. b+tree结构?索引的页分裂?innodb做了哪些避免页分裂的努力?都是从节点中间记录分裂吗?

                                                                                                                                                                                  \5. 辅助索引 一个范围查询。 如果当前值不在索引中。如何查处符合条件的记录的?

                                                                                                                                                                                  \6. innodb的特性? 自适应hash。聚簇索引。 insert buffer?

                                                                                                                                                                                  \7. 可靠传输一定需要建立连接吗?

                                                                                                                                                                                  \8. 双向链表消除相处重复的? 消除之后新链接在一起的仍相同继续删除。算法题 手写

                                                                                                                                                                                  \9. 数组中 指定元素值的最小下标。 如何最优?二分查找中继续二分查找 手写

                                                                                                                                                                                  \10. 红黑树特性?二叉搜索数第k大元素。 然后继续topk算法。 除了小跟堆之外。问还有别的呢? 基于快排思想的top k手写。

                                                                                                                                                                                  三面。

                                                                                                                                                                                  1.项目

                                                                                                                                                                                  2.kafka的传递保证

                                                                                                                                                                                  \3. 一次遍历打印出 二叉树的最大深度和最大宽度 (同层中节点个数最大值)

                                                                                                                                                                                  \4. 如何删除倒数第k节点

                                                                                                                                                                                  \5. 聊以后发展

                                                                                                                                                                                  头条-后端

                                                                                                                                                                                  一面:

                                                                                                                                                                                  \1. 项目介绍 20分钟

                                                                                                                                                                                  \2. mysql索引 优缺点 底层实现原理

                                                                                                                                                                                  \3. mysql的优化。 不限于sql优化

                                                                                                                                                                                  \4. mysql join原理

                                                                                                                                                                                  \5. tcp协议 如何保障可靠传输

                                                                                                                                                                                  \6. MTU是什么? MSL呢

                                                                                                                                                                                  \7. redis zset实现原理

                                                                                                                                                                                  \8. rdb 和 aof区别

                                                                                                                                                                                  \9. redis的主从同步原理

                                                                                                                                                                                  \10. 二叉树的后序遍历

                                                                                                                                                                                  \11. 二叉树按层打印

                                                                                                                                                                                  \12. 括号的有效组合

                                                                                                                                                                                  二面

                                                                                                                                                                                  \1. 项目介绍

                                                                                                                                                                                  \2. tcp udp区别。头部字节有哪些。多少字节

                                                                                                                                                                                  \3. 通过域名是如何从外网请求到你公司内网服务器的? 详细讲解一下

                                                                                                                                                                                  \4. 路由算法

                                                                                                                                                                                  \5. 当前路由到某一个节点,如何查找选择的下一个节点?

                                                                                                                                                                                  \6. ip 分几类? 如何划分的?

                                                                                                                                                                                  \7. tcptrace 请求一个目标ip。会把路由的所有节点ip打印出。是如何做到的?

                                                                                                                                                                                  \8. 最长回文子字符串

                                                                                                                                                                                  \9. 反转链表 递归。非递归

                                                                                                                                                                                  102

                                                                                                                                                                                  23秋招-阿里巴巴三面面经

                                                                                                                                                                                  应该是最晚的面试了,这轮是技术主管+hr双面,也是最后一面。

                                                                                                                                                                                  坐标:cco

                                                                                                                                                                                  岗位:Java

                                                                                                                                                                                  -

                                                                                                                                                                                  -

                                                                                                                                                                                  [主管沟通环节]

                                                                                                                                                                                  自我介绍

                                                                                                                                                                                  讲讲自己的项目

                                                                                                                                                                                  为什么要做这个项目?

                                                                                                                                                                                  饿了么,如何在附近50w的商户中,快速找到离你最近的20家饭店?

                                                                                                                                                                                  一个5升的瓶子,一个4升的瓶子,如何弄出三升的水

                                                                                                                                                                                  threadlocal了解么,讲讲

                                                                                                                                                                                  rpc用过么,讲讲你平时的实践

                                                                                                                                                                                  rpc中的序列化协议知道么,如何优化?

                                                                                                                                                                                  为什么要出国念书?

                                                                                                                                                                                  读研期间你的研究方向是什么?

                                                                                                                                                                                  [hr沟通环节]

                                                                                                                                                                                  出国留学是因为父母的建议,你是否在生活中比较容易听从别人的想法?

                                                                                                                                                                                  平时业余时间做什么?

                                                                                                                                                                                  能给我推荐一本你最近读的书么?、

                                                                                                                                                                                  了解我们部门么?

                                                                                                                                                                                  在实习中有哪些收获、进步与不足?

                                                                                                                                                                                  你觉得应聘这个职位,你的优势和劣势是什么?

                                                                                                                                                                                  你平时如何和同时同事、上级沟通?

                                                                                                                                                                                  你手上目前有什么offer?

                                                                                                                                                                                  如果给你offer,你选哪个?

                                                                                                                                                                                  103

                                                                                                                                                                                  23秋招-阿里巴巴二面面经

                                                                                                                                                                                  岗位:JAVA开发岗

                                                                                                                                                                                  部门:阿里cco

                                                                                                                                                                                  进程:二面

                                                                                                                                                                                  一共面了1小时20分钟,相比一面全是场景题,这次基本都是数据结构和算法相关的设计题目。感受偏难,不管说什么面试官都要问个问什么,有股子pua味。最后反馈说要综合对比一下才能出结果。

                                                                                                                                                                                  一个键值对如何插入hashmap?

                                                                                                                                                                                  哈希的应用场景?

                                                                                                                                                                                  图搜索场景如何应用哈希来优化?

                                                                                                                                                                                  MD5使用哈希冲突,会有什么问题?

                                                                                                                                                                                  数据结构题

                                                                                                                                                                                  1.1T数据,内存有限,如何把这些数据排序

                                                                                                                                                                                  2.一个医院,有病人,会按照先来后到排序,现在来了个病重患者,你如何设计一个数据结构和算法来处理这些病人。

                                                                                                                                                                                  趣味题目

                                                                                                                                                                                  桌子放硬币,轮流放一个,放不下时算输,如何设计必赢策略。

                                                                                                                                                                                  算法题

                                                                                                                                                                                  1.输入一个正数n,输出所有和为n的连续正数序列。

                                                                                                                                                                                  2.有一段文字,包含6个字母 ABCDEF,假设这六个字母出现的频率分别是 A 27 B 8 C 15 D 15 E30 F5。现在要进行编码,如何设计让总文本最短

                                                                                                                                                                                  104

                                                                                                                                                                                  阿里 国际事业部 Java一面(已挂)

                                                                                                                                                                                  2022.12.14 1小时20分钟

                                                                                                                                                                                  1、自我介绍

                                                                                                                                                                                  2、问实验室项目 问了很久 问得很细节

                                                                                                                                                                                  3、问微服务项目 问了很久

                                                                                                                                                                                  4、手撕 寻找二叉树路径和为目标值的路径 回溯

                                                                                                                                                                                  5、手撕 x的n次方 一直要优化复杂度 从 n 到logn 再到常数级

                                                                                                                                                                                  反问

                                                                                                                                                                                  105

                                                                                                                                                                                  阿里速卖通Java面试

                                                                                                                                                                                  一、12.6一面(80min)

                                                                                                                                                                                  ​ 面试形式是阿里视频,一开始先做一个算法题:162. 寻找峰值——力扣,然后是面试部分:

                                                                                                                                                                                  0、自我介绍

                                                                                                                                                                                  1、在菜鸟实习的感受

                                                                                                                                                                                  2、看你一个项目里面是PM,在做PM的时候遇到什么问题?

                                                                                                                                                                                  3、项目中有用到过什么设计模式?

                                                                                                                                                                                  4、如果你是项目的PM,有一天线上的应用响应变得很慢,你应该怎么排查?

                                                                                                                                                                                  5、equals和hashcode方法有什么区别?如果只重写equals不重写hashcode会有问题吗?

                                                                                                                                                                                  6、String和StringBuffer和StringBuilder有什么区别?如果是一个非static类型的方法里的字符串你会使用哪个?StringBuffer是如何保证线程安全的?

                                                                                                                                                                                  7、HashMap的线程安全问题如何解决?

                                                                                                                                                                                  8、HashMap的扩容机制?jdk的升级过程中在这方面有什么不同吗?如果初始化的时候给HashMap的长度赋一个9,那他的长度就是9吗?

                                                                                                                                                                                  9、看你项目里面做了很多微服务的内容,你能说一下我们为什么要构建微服务吗?

                                                                                                                                                                                  10、synchronized工作机制?

                                                                                                                                                                                  11、wait和sleep有什么区别?

                                                                                                                                                                                  12、用过volatile吗?他和synchronized有什么区别?你是在什么场景下使用的?

                                                                                                                                                                                  13、JVM的内存模型

                                                                                                                                                                                  14、在new一个对象的时候,Java虚拟机做了什么?

                                                                                                                                                                                  15、在实习的时候遇到了什么比较困难的技术问题?

                                                                                                                                                                                  16、你是本科生对吧?看你的学院是人工智能xxxx,为什么会走Java开发的方向呢?

                                                                                                                                                                                  17、说一个作为负责人开展项目的经历

                                                                                                                                                                                  18、你是如何调动队员的积极性的呢?有没有实际的例子?

                                                                                                                                                                                  19、反问

                                                                                                                                                                                  二、12.8二面(50min)

                                                                                                                                                                                  0、自我介绍

                                                                                                                                                                                  1、说一下在学校做的机器人的项目

                                                                                                                                                                                  2、看你拿了奖学金,在学校成绩怎么样?

                                                                                                                                                                                  3、问一下操作系统吧:进程和线程的区别?

                                                                                                                                                                                  4、进程间的通信方式是什么样的?

                                                                                                                                                                                  5、套接字是什么?有用过吗?

                                                                                                                                                                                  6、问下数据结构:链表和数组有什么区别?

                                                                                                                                                                                  7、树的深度优先遍历用什么数据结构,如果不用递归的话?广度优先遍历用什么数据结构?

                                                                                                                                                                                  8、快速排序是稳定的吗?时间复杂度是多少?再说几个排序算法

                                                                                                                                                                                  9、实习做的项目,说一下架构和链路,你做了哪些工作?

                                                                                                                                                                                  10、微服务中服务发现和服务注册知道吗?如果调用方有A1、A2……A10,被调用方有B1、B2……B10,HTTP是如何请求的?

                                                                                                                                                                                  11、设计模式的七大原则

                                                                                                                                                                                  12、现在有一个Person类,他有一个手hand,hand可以去抓握杯子cup,这就有个问题是person依赖了cup,而人不一定是有杯子的,比如说在原始社会,那么你怎么设计才能解决这个问题

                                                                                                                                                                                  13、实习中了解哪些中间件?

                                                                                                                                                                                  14、反问

                                                                                                                                                                                  三、12.13交叉面(30min)

                                                                                                                                                                                  1、看你博客写得还不错,是从什么时候开始写的?

                                                                                                                                                                                  2、看你里面记录了不少算法题,考你一个算法吧:有一个文件里面有很多ip,统计出现次数最多的10个IP,你会怎么做?

                                                                                                                                                                                  3、项目

                                                                                                                                                                                  106

                                                                                                                                                                                  阿里CTO线Java面试

                                                                                                                                                                                  一、11.30一面(80min)

                                                                                                                                                                                  1、实习项目,每个都问了一遍,从业务流程到技术实现(45min)

                                                                                                                                                                                  2、有用过索引吗?什么样的字段要建索引

                                                                                                                                                                                  3、知道最左匹配原则吗?为什么是最左,而不是最右

                                                                                                                                                                                  4、设计RPC协议,从流程到报文(30min)

                                                                                                                                                                                  5、我再问最后一个问题,A和B进行TCP传输,B的网线被拔了,A会怎么做?

                                                                                                                                                                                  6、反问

                                                                                                                                                                                  总结:面试官对项目问得很细,里面涉及到的业务背景、架构设计、技术实现,包括遇到的问题都会详细问到,后面设计RPC协议的问题,也问的很细。同时面试官人也非常好,在我答不上来的地方会予以提示,把我的思路带进去。

                                                                                                                                                                                  107

                                                                                                                                                                                  阿里

                                                                                                                                                                                  面经1

                                                                                                                                                                                  1. 简单介绍项目
                                                                                                                                                                                  2. 知道哪些数据结构以及他们的特点
                                                                                                                                                                                  3. 链表增删快,那如何提高其查询效率,有没有什么想法?
                                                                                                                                                                                  4. B+树了解吗?B+树如何范围查询?B+树退化的极端情况是什么?
                                                                                                                                                                                  5. 跳表了解吗?
                                                                                                                                                                                  6. 大顶堆、小顶堆了解吗?
                                                                                                                                                                                  7. 实现长地址请求到服务端,然后服务端重定向短地址给客户端,如何实现长短地址的互相映射?
                                                                                                                                                                                  8. 那我现在有10份数据,有1000个线程来争抢,你要怎么处理?
                                                                                                                                                                                  9. 分布式是什么?为什么要分布式?分布式又会有哪些问题?分布式系统是如何实现事物的?
                                                                                                                                                                                  10. Redis集群了解吗?如何处理宕机的情况?Redis的同步策略?
                                                                                                                                                                                  11. LRU算法了解吗?你会如何实现它?这个算法可以应用在哪些场景下?
                                                                                                                                                                                  12. TCP为什么是三次握手?两次行不行?多次行不行?
                                                                                                                                                                                  13. TCP的安全性是如何实现的?两台服务器之间可以同时建立多条TCP链接吗?怎么实现的?
                                                                                                                                                                                  14. 客服端输入一个网址后,是如何拿到客服想要的数据的,是怎样在网络中传输的?
                                                                                                                                                                                  15. cookie和session
                                                                                                                                                                                  16. java有哪些锁?共享锁是什么?CAS?乐观锁和悲观锁?synchronied的底层原理?锁升级?***锁怎么形成的?如何破解***锁?

                                                                                                                                                                                  面经2

                                                                                                                                                                                  1. Java容器:List,Set,Map
                                                                                                                                                                                  2. Map的遍历方式
                                                                                                                                                                                  3. HashMap扩容为什么是扩为两倍?
                                                                                                                                                                                  4. Java线程同步机制(信号量,闭锁,栅栏)
                                                                                                                                                                                  5. 对volatile的理解:常用于状态标记
                                                                                                                                                                                  6. 八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)
                                                                                                                                                                                  7. 线程阻塞几种情况?如何自己实现阻塞队列?
                                                                                                                                                                                  8. Java垃圾回收。可达性分析->引用级别->二次标记(finalize方法)->垃圾收集 算法(4个)->回收策略(3个)->垃圾收集器(GMS、G1)。
                                                                                                                                                                                  9. java内存模型
                                                                                                                                                                                  10. TCP/IP的理解
                                                                                                                                                                                  11. 进程和线程的区别
                                                                                                                                                                                  12. http状态码含义
                                                                                                                                                                                  13. ThreadLocal(线程本地变量),如何实现一个本地缓存
                                                                                                                                                                                  14. JVM内存区哪里会出现溢出?
                                                                                                                                                                                  15. 双亲委派模型的理解,怎样将两个全路径相同的类加载到内存中?
                                                                                                                                                                                  16. CMS收集器和G1收集器
                                                                                                                                                                                  17. TCP流量控制和拥塞控制
                                                                                                                                                                                  18. 服务器处理一个http请求的过程
                                                                                                                                                                                  19. 例举几个Mysql优化手段
                                                                                                                                                                                  20. 数据库***锁定义,怎样避免***锁
                                                                                                                                                                                  21. spring的aop是什么?如何实现的
                                                                                                                                                                                  22. 面向对象的设计原则
                                                                                                                                                                                  23. 策略模式的实现
                                                                                                                                                                                  24. 操作系统的内存管理的页面淘汰 算法 ,介绍下LRU(最近最少使用算法 )
                                                                                                                                                                                  25. B+树的特点与优势

                                                                                                                                                                                  面经3

                                                                                                                                                                                  • 自我介绍,说简历里没有的东西
                                                                                                                                                                                  • 说几个你最近在看的技术(MySQL,多线程)
                                                                                                                                                                                  • 口述了一个统计数据的场景题
                                                                                                                                                                                  • 如果这个统计数据场景不用MySQL,而是用Java来实现,怎么做
                                                                                                                                                                                  • 如果数据量过大,内存放不下呢
                                                                                                                                                                                  • 用面向对象的思想解决上面提出的问题,创建出父类,子类,方法,说一下思路
                                                                                                                                                                                  • 下一个场景,口述了一个登录场景,同学用线程池做登录校验,会有什么问题
                                                                                                                                                                                  • 如何解决这些问题
                                                                                                                                                                                  • 你给出的方案弊端在哪里,还有哪些方案

                                                                                                                                                                                    面经4

                                                                                                                                                                                    • 谈谈类加载机制。
                                                                                                                                                                                    • hashmap和concurenthashmap
                                                                                                                                                                                    • 16g机器,让你分配jvm内存怎么分配。
                                                                                                                                                                                    • 机器慢了怎么排查。
                                                                                                                                                                                    • 谈谈consul和zookeeper,还有服务发现机制。
                                                                                                                                                                                    • 详细说明raft协议。
                                                                                                                                                                                    • 谈谈consul和zookeeper区别。
                                                                                                                                                                                    • 服务注册的时候发现没有注册成功会是什么原因。
                                                                                                                                                                                    • 讲讲你认为的rpc和service mesh之间的关系。

                                                                                                                                                                                      108

                                                                                                                                                                                      时间线:

                                                                                                                                                                                      x 投递 安全工程师

                                                                                                                                                                                      x+16 一面

                                                                                                                                                                                      x+23 二面

                                                                                                                                                                                      x+32 三面

                                                                                                                                                                                      x+50 HR面

                                                                                                                                                                                      x+53 口头意向

                                                                                                                                                                                      x+56 正式意向邮件

                                                                                                                                                                                      一面

                                                                                                                                                                                      时长:30分钟

                                                                                                                                                                                      1. 自我介绍
                                                                                                                                                                                      2. hw的职责
                                                                                                                                                                                      3. hw的成果
                                                                                                                                                                                      4. 分享一下有意思的案例
                                                                                                                                                                                      5. 每年的hw的分数和规则有什么不一样的地方
                                                                                                                                                                                      6. 除了hw以外自己会去挖漏洞吗
                                                                                                                                                                                      7. 代码审计的思路,审计的流程
                                                                                                                                                                                      8. 代码审计是java还是php的
                                                                                                                                                                                      9. java用的多吗
                                                                                                                                                                                      10. java反序列化(fastjson、log4j、本身的反序列化的区别)
                                                                                                                                                                                      11. java fastjson怎么修复
                                                                                                                                                                                      12. java原生反序列化(readObject、writeObject)的修复
                                                                                                                                                                                      13. 黑盒渗透测试的思路
                                                                                                                                                                                      14. 找回密码的逻辑漏洞
                                                                                                                                                                                      15. 有没有做过开发相关的,写小工具之类的
                                                                                                                                                                                      16. 了解阿里、菜鸟吗
                                                                                                                                                                                      17. 反问

                                                                                                                                                                                      二面

                                                                                                                                                                                      时长:35分钟

                                                                                                                                                                                      1. 自我介绍
                                                                                                                                                                                      2. 今年hw的经历,展开说说
                                                                                                                                                                                      3. 这次hw和往年有什么区别,和往年不同的地方,规则、攻击方式等
                                                                                                                                                                                      4. 对供应链的数据分的看法
                                                                                                                                                                                      5. 甲方视角下关于代码审计的想法
                                                                                                                                                                                      6. 对越权类漏洞的看法,从研发的角度来看的话
                                                                                                                                                                                      7. 最近发生的安全事件以及看法(聊了spring4shell和log4shell)
                                                                                                                                                                                      8. 可以说一下对这两个的看法吗(其实面试官问的是安全事件以及看法,但是我莫名就回答成了漏洞的原理。。)
                                                                                                                                                                                      9. 西北工业大学攻击事件,对这样的事情怎么看
                                                                                                                                                                                      10. 上海数据泄露事件的看法
                                                                                                                                                                                      11. 以甲方视角聊聊对安全行业的看法,安全措施、安全策略和思路之类的
                                                                                                                                                                                      12. 在自己的职业规划里有什么自己的要求,如果选择以菜鸟为offer的话是什么想法
                                                                                                                                                                                      13. 为什么没留在实习3
                                                                                                                                                                                      14. 反问

                                                                                                                                                                                      整体没问什么技术问题,大多是对某些事件、某些问题的看法,面试官介绍了很多菜鸟的运营模式、产业之类的,包括工作的路线什么的,整体面试体验很好

                                                                                                                                                                                      三面

                                                                                                                                                                                      时长:25分钟

                                                                                                                                                                                      1. 自我介绍
                                                                                                                                                                                      2. 介绍实习经历和项目经历
                                                                                                                                                                                      3. 写poc的要点、会写哪些产品的poc
                                                                                                                                                                                      4. 指纹识别的要点
                                                                                                                                                                                      5. 做测绘引擎时的关键因素有什么
                                                                                                                                                                                      6. 实习3的hw成绩
                                                                                                                                                                                      7. 你们能取得这个成绩的关键因素是什么
                                                                                                                                                                                      8. 聊了下实习3
                                                                                                                                                                                      9. 反问

                                                                                                                                                                                      HR面

                                                                                                                                                                                      时长:40分钟

                                                                                                                                                                                      1. 自我介绍
                                                                                                                                                                                      2. 聊了下对攻防演练的看法
                                                                                                                                                                                      3. 聊了下攻防演练中从防守队视角最容易或最常见的攻击类型
                                                                                                                                                                                      4. 聊了下工作地点的意向程度
                                                                                                                                                                                      5. 反问

                                                                                                                                                                                      HR面完3天给了口头意向,再过3天邮件正式意向

                                                                                                                                                                                      109

                                                                                                                                                                                      银泰 Java开发 一面 面经 已凉

                                                                                                                                                                                      10.12 一面 30分钟

                                                                                                                                                                                      1.自我介绍。

                                                                                                                                                                                      2.实习经历。

                                                                                                                                                                                      3.spring启动过程。

                                                                                                                                                                                      4.spring代理。

                                                                                                                                                                                      5.mysql索引。

                                                                                                                                                                                      6.mysql优化。

                                                                                                                                                                                      7.mysql隔离级别。

                                                                                                                                                                                      8.insert加锁。

                                                                                                                                                                                      9.事务隔离级别。

                                                                                                                                                                                      10.分布式事务了解,MQ实现。CAP理论。

                                                                                                                                                                                      11.JVM内存区域。

                                                                                                                                                                                      12.栈溢出。

                                                                                                                                                                                      12.堆划分。

                                                                                                                                                                                      13.年轻代GC。

                                                                                                                                                                                      14.老年代回收器。

                                                                                                                                                                                      15.G1运作。G1与CMS区别。

                                                                                                                                                                                      16.TCP/IP 四层模型。

                                                                                                                                                                                      17.四次挥手。

                                                                                                                                                                                      18.滑动窗口协议。

                                                                                                                                                                                      19.硬中断和软中断。

                                                                                                                                                                                      20.io中select poll epoll区别。

                                                                                                                                                                                      21.设计模式了解。适配器模式。

                                                                                                                                                                                      22.反问:技术栈:阿里内部,分库分表,RPC。

                                                                                                                                                                                      10.14 感谢信

                                                                                                                                                                                      110

                                                                                                                                                                                      阿里 本地生活 一面

                                                                                                                                                                                      一面

                                                                                                                                                                                      • 部门:本地生活-履约调度研发组
                                                                                                                                                                                      • info:业务是履约调度,外卖配送的物流全程
                                                                                                                                                                                        1. 自我介绍
                                                                                                                                                                                        2. 介绍科研项目
                                                                                                                                                                                        3. 让选一个项目进行介绍
                                                                                                                                                                                        4. 介绍一次秒杀流程做了哪些事情(包括限流、库存、下单、mq、redis等等)
                                                                                                                                                                                        5. redis的库存减了,而数据库减库存失败,导致有的商品没有卖出怎么办?
                                                                                                                                                                                        6. 秒杀过程中,有的商品临时加库存了,怎么处理?
                                                                                                                                                                                        7. 数据库减库存时的乐观锁是怎么用的?为什么要用乐观锁?
                                                                                                                                                                                        8. 消息队列向数据库方发送了重复的请求,怎么处理?
                                                                                                                                                                                        9. 两个sql语句,一个的where条件是唯一索引,一个where条件是普通索引,两个查询的加锁方式有什么相同?
                                                                                                                                                                                        10. sql语句中between…and…,加的什么锁?
                                                                                                                                                                                        11. 编程:写单例模式(懒汉、饿汉 两种方式)
                                                                                                                                                                                        12. 编程:判断一棵树是否是另一棵树的子树?
                                                                                                                                                                                        13. 介绍一下令牌桶的原理,如果让你设计一个令牌桶的限流,你怎么做?

                                                                                                                                                                                        111

                                                                                                                                                                                        秋招面经总结

                                                                                                                                                                                        字节

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 实习经历
                                                                                                                                                                                        2. java哪些线程池,线程池参数
                                                                                                                                                                                        3. synchronize和volatile区别,前者是否公平锁
                                                                                                                                                                                        4. 单例模式有哪些写法,写出双重校验锁的
                                                                                                                                                                                        5. 字符串全排列,结果不重复
                                                                                                                                                                                        6. 部门:大数据,数据拼接,与算法相关
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. 实习经历
                                                                                                                                                                                        2. 虚拟内存
                                                                                                                                                                                        3. 局部性原理及其应用
                                                                                                                                                                                        4. 浮点数咋在计算机表示
                                                                                                                                                                                        5. 怎么排查问题,top命令,怎么排查线程占用高
                                                                                                                                                                                        6. 容器最多能盛多少水
                                                                                                                                                                                        7. str2int实现
                                                                                                                                                                                        三面
                                                                                                                                                                                        1. 实习经历
                                                                                                                                                                                        2. 未来规划
                                                                                                                                                                                        3. 阿里和字节比较
                                                                                                                                                                                        4. 字符串第一个{}里的字符串
                                                                                                                                                                                        5. 字符串A包括字符串B所有字符的最短子串
                                                                                                                                                                                        四面
                                                                                                                                                                                        1. 做SDK怎么提升性能,为什么分开部署比集中部署更消耗CPU
                                                                                                                                                                                        2. 概率生成器,p概率生成1,1-p概率生成0,怎么0.5概率生成1,0.5概率生成0
                                                                                                                                                                                        3. 字符串去除空格,原地
                                                                                                                                                                                        4. 平时有没有深入了解什么技术
                                                                                                                                                                                        5. kafka是推还是拉
                                                                                                                                                                                        6. Netty为什么性能好
                                                                                                                                                                                        7. http和rpc的区别
                                                                                                                                                                                        8. 堆和栈,为什么堆保存对象,栈保存函数参数这些

                                                                                                                                                                                        美团

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 实习经历,挑一个最难的点,怎么解决的
                                                                                                                                                                                        2. 进程之间通信有哪些
                                                                                                                                                                                        3. http和https区别,细说,对称加密和非对称加密,为什么非对称能保证安全
                                                                                                                                                                                        4. k个一组反转链表,不足k个也要反转
                                                                                                                                                                                        5. 阿里和字节区别
                                                                                                                                                                                        6. 熟悉的中间件讲一下
                                                                                                                                                                                        7. CAP理论
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. 实习经历
                                                                                                                                                                                        2. 类只有一个int类型,这个类的对象占多大空间
                                                                                                                                                                                        3. 页表,脏页
                                                                                                                                                                                        4. MTU是什么
                                                                                                                                                                                        5. 四次挥手第一次挥手时,如果客户端再也发不出消息会怎样
                                                                                                                                                                                        6. kafka生产者发送消息瞬间,消费者突然停机,什么情况消费者重启后会接收不到消息
                                                                                                                                                                                        7. 公平锁与非公平锁,哪个常用一点,synchronize是哪类
                                                                                                                                                                                        8. fib数列
                                                                                                                                                                                        9. 二叉树最大路径和

                                                                                                                                                                                        美团二面体验不太好,一方面自己在实习,八股没看的很细,只记得一点点,所以只会做题,这些不常见的八股不会,自然而然的挂了,有点可惜。

                                                                                                                                                                                        猿辅导

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 进程之间通信,管道有什么缺点
                                                                                                                                                                                        2. rpc,序列化协议为什么protobuf和thrift效率高,编码有没有了解
                                                                                                                                                                                        3. hystrix进程隔离,信号量和线程池的比较
                                                                                                                                                                                        4. 虚拟内存
                                                                                                                                                                                        5. redis底层数据结构,跳跃表
                                                                                                                                                                                        6. 技术上和非技术上遇到的挑战
                                                                                                                                                                                        7. 做的这个服务治理中间件和service mesh有什么区别
                                                                                                                                                                                        8. z字型打印二叉树
                                                                                                                                                                                        9. 找工作看重的东西
                                                                                                                                                                                        10. 想要做什么方向
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. 数据库连接池设计
                                                                                                                                                                                        2. 项目介绍
                                                                                                                                                                                        3. 还原ip
                                                                                                                                                                                        三面
                                                                                                                                                                                        1. 设计鉴权系统,需要考虑哪些东西,怎么解决
                                                                                                                                                                                        2. hystrix框架信号量和线程池隔离的区别
                                                                                                                                                                                        3. 怎样设计发短信服务,不同的服务调用有不同的超时时间
                                                                                                                                                                                        4. 为什么不在网关里做服务发现而要有注册中心
                                                                                                                                                                                        5. 服务提供者的连接数不太一样,假如有一个宕机了,怎么做负载均衡呢

                                                                                                                                                                                        总之,猿辅导的面试体验还是挺不错的!

                                                                                                                                                                                        百度

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 旋转有序数组求target的index
                                                                                                                                                                                        2. 反转链表
                                                                                                                                                                                        3. java的字符串拼接有哪几种方式
                                                                                                                                                                                        4. equals和==区别
                                                                                                                                                                                        5. 实现变量线程安全方式有哪些
                                                                                                                                                                                        6. threadlocal原理
                                                                                                                                                                                        7. aotomic底层原理
                                                                                                                                                                                        8. finally作用
                                                                                                                                                                                        9. concurrenthashmap原理
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. 全程项目
                                                                                                                                                                                        2. 用到过jdk的什么工具
                                                                                                                                                                                        3. kafka partition有什么作用
                                                                                                                                                                                        4. 项目怎么提升性能
                                                                                                                                                                                        5. 怎么实现熔断功能

                                                                                                                                                                                        聊得挺开心,反手一个挂,百度可真有你的。

                                                                                                                                                                                        快手

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. hashmap,treemap, concurrenthashmap区别
                                                                                                                                                                                        2. CAS是啥,有啥问题
                                                                                                                                                                                        3. mysql隔离级别,都是怎么实现的
                                                                                                                                                                                        4. redis和mysql的区别和特性
                                                                                                                                                                                        5. 在那些场景用过redis
                                                                                                                                                                                        6. kafka主要用于什么场景,流量削峰咋实现的
                                                                                                                                                                                        7. 分布式锁,有什么问题
                                                                                                                                                                                        8. aotomicInteger用什么实现的
                                                                                                                                                                                        9. 找零钱/树的最大路径和二选一
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. cookie是什么,可不可以被修改
                                                                                                                                                                                        2. spring、spring boot、spring cloud区别
                                                                                                                                                                                        3. http和rpc区别
                                                                                                                                                                                        4. http哪些方法,什么时候用,对应restful的什么
                                                                                                                                                                                        5. http有哪些请求头
                                                                                                                                                                                        6. 二叉树2节点之间距离
                                                                                                                                                                                        7. 旋转排序数组找最小值
                                                                                                                                                                                        三面
                                                                                                                                                                                        1. java有哪些垃圾回收器
                                                                                                                                                                                        2. G1的流程,G1在什么时候stop the word
                                                                                                                                                                                        3. CMS和G1的区别
                                                                                                                                                                                        4. redis用什么数据结构存储dau,用户登录数量
                                                                                                                                                                                        5. 项目
                                                                                                                                                                                        6. 怎么解决项目上线之后,由于新上线部分的代码对已有代码的影响导致出现问题
                                                                                                                                                                                        HR面
                                                                                                                                                                                        1. 项目经历,遇到了什么问题,怎么解决的
                                                                                                                                                                                        2. 实习经历,和学校的项目冲突怎么处理的,怎么应对压力,实习项目介绍,怎么跟别人对接
                                                                                                                                                                                        3. 找工作看重哪些点,有哪些offer
                                                                                                                                                                                        4. 怎么评价你这场面试的表现

                                                                                                                                                                                        一天面完3轮技术面,快手的面试体验还是可以的,而且HR面之后说2周出结果,也是刚好2周出结果,给快手点赞!

                                                                                                                                                                                        京东

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 项目经历
                                                                                                                                                                                        2. equals和==的区别
                                                                                                                                                                                        3. String、StringBuilder和StringBuffer区别

                                                                                                                                                                                        面试时还说是校友,结果就问了半个小时,还问校园经历,头一次见到技术面问校园经历,一面完直接给我挂了,妥妥的kpi面。

                                                                                                                                                                                        蚂蚁金服

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 项目经历
                                                                                                                                                                                        2. java实现同步的方式有哪些,哪个最常用
                                                                                                                                                                                        3. synchronized再java集合里面哪些用到了,它的原理
                                                                                                                                                                                        4. java对象的内存布局
                                                                                                                                                                                        5. java创建对象的过程
                                                                                                                                                                                        6. 自己实现Boolean类型
                                                                                                                                                                                        7. 实现Power(a, b)
                                                                                                                                                                                        8. mysql mvcc的实现
                                                                                                                                                                                        9. 可重复读怎么实现

                                                                                                                                                                                        八股较多,后面已经没怎么看了,招架不住,还在等消息。

                                                                                                                                                                                        拼多多

                                                                                                                                                                                        一面
                                                                                                                                                                                        1. 项目经历
                                                                                                                                                                                        2. 二叉搜索树其中两个节点交换了,求中位数
                                                                                                                                                                                        3. 有写过底层的代码吗?比如网络、OS

                                                                                                                                                                                        面试官对项目经历还挺感兴趣,做的是算法工程方面的工作,可能是不匹配吧,自认为答的还可以,结果还是挂。

                                                                                                                                                                                        微软

                                                                                                                                                                                        一面

                                                                                                                                                                                        54min

                                                                                                                                                                                        1. 给出一个整数数组,包括正数和负数,求最大不出现在这个数组的负数
                                                                                                                                                                                        2. 给一堆金币,不能取相邻两堆,求最大能取的和。
                                                                                                                                                                                        二面
                                                                                                                                                                                        1. excel数字转字母列号

                                                                                                                                                                                        总结

                                                                                                                                                                                        目前拿到其中一些offer,总的来说快手、猿辅导和字节的面试体验还不错,京东真的名声臭了,之前都不打算投,结果还真的这样。之后应该就不面互联网了,希望能给后来人一些帮助。

                                                                                                                                                                                        112

                                                                                                                                                                                        阿里-夸克智能搜索引擎开发实习一面

                                                                                                                                                                                        9.23阿里-夸克智能搜索引擎开发实习一面

                                                                                                                                                                                        9.23下午两点临时约面,下午四点电面

                                                                                                                                                                                        面试官听声音像二十五岁左右的大佬,光听声音就有很强的大佬气息,面试完之后还把我每一个答得不太好或者能有更优解的题目重新给我讲了一遍,还从个人角度给我提了我作为非科班走程序员道路的很多建议,非常感动,个人认为这次面试哪怕是挂了,也非常有收获,体验感满分

                                                                                                                                                                                        自我介绍

                                                                                                                                                                                        实习经历

                                                                                                                                                                                        讲下vector

                                                                                                                                                                                        讲下map

                                                                                                                                                                                        map底层

                                                                                                                                                                                        红黑树底层

                                                                                                                                                                                        红黑树创建时间复杂度

                                                                                                                                                                                        红黑树查找时间复杂度

                                                                                                                                                                                        假设有一万个数,如何找出出现次数等于10的数?

                                                                                                                                                                                        假设有一万个数,如何找出出现次数等于10的数?(数字大小:1~20万)

                                                                                                                                                                                        我答了个桶排序,面试官顺便就让我手撕桶排序

                                                                                                                                                                                        说算法时间复杂度

                                                                                                                                                                                        写完桶排序,面试官让继续写代码写查找出现次数等于10的逻辑代码(写了半天,面试官说还行,但是没这么复杂,说我想的太复杂,亲自敲了一遍代码还给我分析,最后还优化了一波)

                                                                                                                                                                                        反问环节:

                                                                                                                                                                                        面试情况

                                                                                                                                                                                        需要加强和改进的地方(面试官真的给了超多建议和自己的看法,受益匪浅!)

                                                                                                                                                                                        给阿里的面试官一个大大的赞!真的是又温柔低调又厉害的高情商大佬

                                                                                                                                                                                        113

                                                                                                                                                                                        阿里巴巴本地生活(Java凉凉经)

                                                                                                                                                                                        听得出面试官年龄不大!人特好!以下内容顺序不固定!

                                                                                                                                                                                        1、手撕算法-返回数组中频率不小于2的元素。

                                                                                                                                                                                        2、HashMap的㡳层原理,以及扩容机制,以及转化为红黑树的底层源码。

                                                                                                                                                                                        3、Redis的㡳层数据结构,以及是先缓存还是先DB。

                                                                                                                                                                                        4、HTTP的长短连接、以及HTTP的状态码。

                                                                                                                                                                                        5、Volatile和Synchronlize的区别,以及volatile关键字的用法。

                                                                                                                                                                                        6、多个Java程序运行时,如何进行查看具体是哪个进程,使用Linux命令。

                                                                                                                                                                                        7、ping是位于网络模型的哪一层。

                                                                                                                                                                                        8、MySQL数据库里面如何设置保证原子性。根据自己的理解。

                                                                                                                                                                                        9、索引的低层原理,以及为什么要用B+树,而不是用B-树之类的。

                                                                                                                                                                                        10、wait和sleep对象分别是什么。

                                                                                                                                                                                        11、反问环节,请面试官指点指点。

                                                                                                                                                                                        有些想不起来了,全程快一个小时,被问得有点蒙。再见。

                                                                                                                                                                                        114

                                                                                                                                                                                        阿里菜鸟一面面经

                                                                                                                                                                                        内部员工回复

                                                                                                                                                                                        因为是突然的电话面试,没有录音所以**只列出记得的一些问题,基本上简历上写到的都有问到。

                                                                                                                                                                                        1. SpringBoot和spring****的区别?优势?
                                                                                                                                                                                        2. 说说SpringBoot的启动类注解。
                                                                                                                                                                                        3. SpringBoot****的自动装配是怎么实现的?
                                                                                                                                                                                        4. 代理模式是什么?Spring的动态代理有哪些具体的应用场景?
                                                                                                                                                                                        5. Java****三大特性
                                                                                                                                                                                        6. 多态是怎么实现的?
                                                                                                                                                                                        7. 泛型的类可以被重载嘛?
                                                                                                                                                                                        8. 线程池了解吗?请求的具体流程是怎么样的?
                                                                                                                                                                                        9. 线程最大数量和什么有关?
                                                                                                                                                                                        10. MySQL****数据库默认的隔离级别?
                                                                                                                                                                                        11. 索引的执行引擎?
                                                                                                                                                                                        12. 聚簇索引和非聚簇索引?
                                                                                                                                                                                        13. 回表指的是什么?
                                                                                                                                                                                        14. 索引的底层数据结构?
                                                                                                                                                                                        15. **为什么用****B+**树?
                                                                                                                                                                                        16. 输入url到页面显示的过程。
                                                                                                                                                                                        17. DNS是怎么用域名查找到ip****地址的,具体流程。
                                                                                                                                                                                        18. Http****请求是怎么解析的?
                                                                                                                                                                                        19. Http****传输完一次消息还需要重写连接吗?
                                                                                                                                                                                        20. http和https****发送时候的区别?
                                                                                                                                                                                        21. Redis****的过期清理如果数据量很大的情况怎么办?
                                                                                                                                                                                        22. MQ****的对象有哪些

                                                                                                                                                                                        115

                                                                                                                                                                                        阿里一面凉经

                                                                                                                                                                                        9.20 17:00

                                                                                                                                                                                        四十分钟电话面,举着电话手巨酸,忘记录音全靠回忆,没有算法题

                                                                                                                                                                                        • 她自我介绍,我自我介绍(点淘,直播业务,别的没听清)
                                                                                                                                                                                        • 聊实习项目xxx,实习中遇到的线上事故
                                                                                                                                                                                        • 你说cpu飙升,频繁Full GC,怎么排查的及其原因
                                                                                                                                                                                        • 公司的配置中心,实现原理?(不了解,根据自己的观点说了一下)
                                                                                                                                                                                        • 问自己的项目,挑一个困难点聊聊(好像对我的实习项目没啥兴趣)
                                                                                                                                                                                        • 一系列技术选型问题
                                                                                                                                                                                        • RabbitMQ和Kafka的对比,从实现原理上说一下。(回答的不行,太久没复习了)
                                                                                                                                                                                        • RPC框架?(想问我Dubbo,没学过,说了下自己的理解)
                                                                                                                                                                                        • 一个http请求全过程(回答的不太全面)
                                                                                                                                                                                        • 限流算法?(脑子抽了,只想起来滑动窗口和令牌桶)
                                                                                                                                                                                        • IOC和AOP
                                                                                                                                                                                        • HashMap,TreeMap,HashTable
                                                                                                                                                                                        • Java GC
                                                                                                                                                                                        • Redis过期数据淘汰策略
                                                                                                                                                                                        • 一致性哈希
                                                                                                                                                                                        • 线程池
                                                                                                                                                                                        • 几个hr问题,如在学校怎么学习的、工作规划等等
                                                                                                                                                                                        • todo 想起来再补
                                                                                                                                                                                        • 反问面评:有的点可以再深入学习一下原理,不过知识面还算全面,可能太久没有复习理论知识了。

                                                                                                                                                                                          面试官是个小姐姐,面试体验还不错,很多地方都会深问一下,感觉还蛮难的…有点凉凉

                                                                                                                                                                                          焦虑…

                                                                                                                                                                                          116

                                                                                                                                                                                          阿里cto面经(三面挂)

                                                                                                                                                                                          好久没写面经了,记录一下阿里cto业务中台的三面记录。整个过程一二面面试官给我的感觉都很好,不管是专业度还是耐心,三面主管面的时候就感觉很不对劲,面试官频繁打哈欠,左顾右盼的,说话也感觉不认真,可能也是我太菜了吧,中秋完后一查状态流程结束了。阿里的电话面没有手撕。

                                                                                                                                                                                          阿里cto电话一面

                                                                                                                                                                                          自我介绍

                                                                                                                                                                                          介绍一下学校奖励和参加竞赛

                                                                                                                                                                                          在美团接的需求是产品提的吗

                                                                                                                                                                                          数据库三范式

                                                                                                                                                                                          数据库隔离级别

                                                                                                                                                                                          数据库事务性

                                                                                                                                                                                          乐观锁和悲观锁

                                                                                                                                                                                          实习内容具体说一下

                                                                                                                                                                                          你刚才说维护代码过程解决了几个bug,能具体说一下吗

                                                                                                                                                                                          你在美团实习最大的收获是什么

                                                                                                                                                                                          快速学习新语言的方法

                                                                                                                                                                                          实习过程中有没有最想学习某个人的某个方面

                                                                                                                                                                                          为什么想做一个博客

                                                                                                                                                                                          面向对象的设计原则

                                                                                                                                                                                          阿里cto电话二面

                                                                                                                                                                                          自我介绍

                                                                                                                                                                                          实习时优化的背景和优化的过程

                                                                                                                                                                                          leaf的原理

                                                                                                                                                                                          分布式ID自增产生算法有哪些

                                                                                                                                                                                          项目中比较有成就感

                                                                                                                                                                                          项目中有建立索引吗

                                                                                                                                                                                          项目的搜索是如何实现的

                                                                                                                                                                                          mysql的字符串匹配如何利用索引

                                                                                                                                                                                          博客评论功能如何实现

                                                                                                                                                                                          order by走索引吗

                                                                                                                                                                                          阿里cto视频三面

                                                                                                                                                                                          第三面主要针对实习提问,以业务为主

                                                                                                                                                                                          对实习小组的技术系统掌握到什么程度了,比如应用划分,技术协同

                                                                                                                                                                                          亿级别的数据量大概有多少

                                                                                                                                                                                          分库分表的原则,优缺点

                                                                                                                                                                                          更新的频次和数据量的大小

                                                                                                                                                                                          分库分表后热点区域的数据块的访问有什么好的解决方案吗

                                                                                                                                                                                          小组提供数据库的应用场景,在什么情况下会用

                                                                                                                                                                                          打车这里对这个服务的要求是什么

                                                                                                                                                                                          目前所做的服务在可用性方向的挑战是什么,为什么还不能用

                                                                                                                                                                                          针对实习的优化问问题

                                                                                                                                                                                          117

                                                                                                                                                                                          偶然听到的一次阿里面试

                                                                                                                                                                                          想找个没人的地方办公,无意中听见后面的师兄在面校招生,就把听到的问题记录一下:

                                                                                                                                                                                          HTTP访问一个网站,发生了哪些过程?

                                                                                                                                                                                          TCP三次握手发生了什么?

                                                                                                                                                                                          三次握手建立起来的连接,在操作系统层面表现的是什么?

                                                                                                                                                                                          JVM的内存模型

                                                                                                                                                                                          java代码运行的时候怎么进行类加载的,这个类加载和刚刚说的JVM有什么关系?

                                                                                                                                                                                          说几个线程的状态

                                                                                                                                                                                          Thread.sleep()

                                                                                                                                                                                          Thread.wait()进入哪个状态

                                                                                                                                                                                          Redis使用什么机制提高了数据读取和写入的效率?

                                                                                                                                                                                          Redis怎么保证可用性?

                                                                                                                                                                                          假设有大流量的请求进来,如何解决?

                                                                                                                                                                                          springboot支持多例吗?生命周期是多长?多例和单例的区别是什么?比如存活时间

                                                                                                                                                                                          spring里用到了哪些设计模式?

                                                                                                                                                                                          springcloud中的Nacos主要的作用是什么?

                                                                                                                                                                                          算法(只说思路):

                                                                                                                                                                                          一维数组里是正整数,会重复,求其中连续增长的最长子串的长度?如果不是连续子串呢?

                                                                                                                                                                                          41个正整数,找出其中出现次数最多的数

                                                                                                                                                                                          118

                                                                                                                                                                                          阿里后端简历面凉经

                                                                                                                                                                                          2022年3月 阿里后端简历面凉经

                                                                                                                                                                                          1. 数组和链表的区别
                                                                                                                                                                                          2. 100x100的二维数组先横后纵的访问性能和先纵向后横的访问性能哪个好,10000000x100000000呢
                                                                                                                                                                                          3. TCP和UDP的区别
                                                                                                                                                                                          4. TCP可靠性是如何实现的
                                                                                                                                                                                          5. 设计一个可靠的UDP
                                                                                                                                                                                          6. 三次握手和四次挥手的原因
                                                                                                                                                                                          7. 四次挥手为什么最后要等2MSL
                                                                                                                                                                                          8. 什么是红黑树、B树、B+树
                                                                                                                                                                                          9. 红黑树和B树的比较
                                                                                                                                                                                          10. B树和B+树的比较
                                                                                                                                                                                          11. 聚簇索引和非聚簇索引
                                                                                                                                                                                          12. 找二叉搜索树的第k大数
                                                                                                                                                                                          13. 缓存了解吗
                                                                                                                                                                                          14. 用B+树当索引的好处:哈希索引、B+树索引的比较
                                                                                                                                                                                          15. 事务的四大特征
                                                                                                                                                                                          16. 事务的隔离级别
                                                                                                                                                                                          17. 最左匹配原则是什么,给了几个例子问查找对不对
                                                                                                                                                                                          18. 二叉树的后序遍历口述思路

                                                                                                                                                                                          119

                                                                                                                                                                                          阿里巴巴 CTO线 java一面

                                                                                                                                                                                          2022/8/31 一面 50min

                                                                                                                                                                                          • 自我介绍

                                                                                                                                                                                          • Java的基本数据类型,double精度丢失,BigDecimal的原理

                                                                                                                                                                                            计算时,先成于10的N次方,先把小数都变成整数,整数存储是没有精度问题的,做完了相应的运算之后,再除以10的N次方。

                                                                                                                                                                                          • 手写一个String类,能否被类加载器加载;双亲委派机制,如何打破;String类可以被继承吗

                                                                                                                                                                                          • hashmap的常规八股

                                                                                                                                                                                          • 浏览器发送url后,域名怎么转换为ip地址;域名对应的不止一个ip(负载均衡),了解哪些负载均衡的算法

                                                                                                                                                                                          • http和https的区别,对称加密算法和非对称加密算法的区别

                                                                                                                                                                                          • mysql的qps从1到10000,性能的变化情况

                                                                                                                                                                                          • 大量请求执行update语句,有什么方法优化;引入redis的数据一致性问题

                                                                                                                                                                                          • mysql索引的底层实现,为什么用b+树,模糊查询命中索引的条件

                                                                                                                                                                                          • mysql的事务隔离,MVCC如何实现

                                                                                                                                                                                          • Spring bean的生命周期和作用域,BeanFactory和FactoryBean的区别

                                                                                                                                                                                          • Spring aop的底层实现,动态代理的实现方式,在哪些实际业务中应用过

                                                                                                                                                                                          • 线程池参数,执行原理;工作队列有哪些,有什么区别

                                                                                                                                                                                          • 微服务的设计原则

                                                                                                                                                                                          • Dubbo有过了解吗,rpc和http调用的区别,rpc框架需要哪些模块,负载均衡应该设计在客户端还是服务端

                                                                                                                                                                                          • 了解微服务的网关路由吗,Spring Cloud Gateway可以用作哪些功能

                                                                                                                                                                                          • 单机限流的算法,需要集群限流的话应该怎么实现,计数法的弊端是什么

                                                                                                                                                                                          • 领域驱动有了解吗

                                                                                                                                                                                          • Java面向对象的设计原则

                                                                                                                                                                                            120

                                                                                                                                                                                            【面经分享】2022阿里Java后端实习面经,已上岸

                                                                                                                                                                                            阿里JAVA后端

                                                                                                                                                                                            第一轮:电话初面试

                                                                                                                                                                                            第二轮:技术面谈

                                                                                                                                                                                            第三轮:电话初面试

                                                                                                                                                                                            第四轮:HR最后确认

                                                                                                                                                                                            一面:

                                                                                                                                                                                            首先确认对阿里的意向度(如果异地更会考虑对工作地点(杭州)的意向度!阿里很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,主要考察java的技术基础和原理,比如Spring框架以及数据库和JVM三个方面,也会交流到分布式、线程池的实现等等,重点考察是不是有比较钻研技术和技术上的亮点【不一定每个面都很厉害但一定要有亮点】;

                                                                                                                                                                                            二面:

                                                                                                                                                                                            技术面,根据项目深入的了解技术实力,了解您的知识面,了解您的问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的有典型性的项目做一个仔细 技术回顾和自己独到的理解【这会成为您的加分项】;

                                                                                                                                                                                            三面:

                                                                                                                                                                                            他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等)HR确认:

                                                                                                                                                                                            基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对阿里的意向度。

                                                                                                                                                                                            【技术基础以及的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥】

                                                                                                                                                                                            阿里比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考;

                                                                                                                                                                                            阿里面试问的问题会比较底层

                                                                                                                                                                                            1、Java内存结构,spring的aop的实现方法,java数据库问题定位和性能调优;

                                                                                                                                                                                            2、关于Java异常的续承层次结构,讲述异常的续承关系;

                                                                                                                                                                                            3、java中重载和重写有什么区别,分别用什么关键字;

                                                                                                                                                                                            4、关于分布式消息队列,分布式缓存;.

                                                                                                                                                                                            5、关于hashmap源码实现, jdk

                                                                                                                                                                                            6、关于设计模式,uml,jvm 内存回收机制问题

                                                                                                                                                                                            7、java线程如何启动?java中加锁的方式有哪些,怎么个写法?

                                                                                                                                                                                            8、对乐观锁和悲观锁的理解;

                                                                                                                                                                                            9、ORACLE中的SQL如何进行优化,都有哪些方式?事务有哪些特性,在ORACLE中隔离有哪些级别?

                                                                                                                                                                                            10、介绍一下自己最近做的一个典型的项目;

                                                                                                                                                                                            11、在项目中遇到了哪些问题,自己是如何解决的 ;

                                                                                                                                                                                            12、目前系统支撑的用户量是多少,假如用户量提升10倍,系统会出现什么样的问题,如何重新设计系统【这里主要是想了解您的问题预见能力以及问题解决能力,考查思路】

                                                                                                                                                                                            13、使用memcached是一个什么样的原理

                                                                                                                                                                                            14、如何存放数据到memcached集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。

                                                                                                                                                                                            15、JVM中堆是如何管理的,JVM的内存回收机制,介绍一下

                                                                                                                                                                                            16、分布式事务实现方式

                                                                                                                                                                                            17、热点账户问题(项目中有就会问)

                                                                                                                                                                                            **第一轮技术面试(电面)涉及Java基础点(可参考):**session、java锁 、gc原理、hashmap 、listlink arraylist 区别 、aop 原理 、多线程 、kafka 原理和容错、spark hadoop 原理、redis 同步机制、classLoader 机制、Http 协议、cookie的限制、HashMap key的要求 , hashcode一致两个对象是否相等、JVM的原理……

                                                                                                                                                                                            旁听面试-java:

                                                                                                                                                                                            1、人选介绍目前目前技术管理侧重;

                                                                                                                                                                                            2、对阿里推荐对应岗位的理解度;

                                                                                                                                                                                            3、系统设计是怎么样的;

                                                                                                                                                                                            4、做的一些架构,数据源来自于哪里并深入问;

                                                                                                                                                                                            5、模块边界,缓存机制;

                                                                                                                                                                                            6、选用技术选型时,A和B的区别;

                                                                                                                                                                                            7、多线程如何用,有什么好处,和进程的区别;

                                                                                                                                                                                            8、多线程的过程;

                                                                                                                                                                                            9、多线程同步的方法,X项目中如何去实现;

                                                                                                                                                                                            10、分布式架构在你目前项目中的体现;

                                                                                                                                                                                            11、跨主机通信用过什么,接口等;

                                                                                                                                                                                            12、大数据存储;

                                                                                                                                                                                            结尾:

                                                                                                                                                                                            1、你自己觉得你擅长什么,以后想走的路线,技术还是管理;

                                                                                                                                                                                            2、Java面试题分享:

                                                                                                                                                                                            3、JMS的两种模式是那些;

                                                                                                                                                                                            4、富客户端怎么更新;

                                                                                                                                                                                            5、自己设计类似ESB这样的企业数据总线应该有哪些功能;

                                                                                                                                                                                            6、系统架构设计;

                                                                                                                                                                                            7、集群中怎么控制session;

                                                                                                                                                                                            8、怎么样知道java存中是哪一些模块消耗内存比较多;

                                                                                                                                                                                            9、应用服务器的参数调整

                                                                                                                                                                                            121

                                                                                                                                                                                            9.5阿里java一面凉经

                                                                                                                                                                                            时长:1h

                                                                                                                                                                                            方式:电话面

                                                                                                                                                                                            内容:

                                                                                                                                                                                            1.前半小时全部都在聊实习经历,问了实习的工作内容等等。

                                                                                                                                                                                            2.然后从这个开始引出了一些RocketMQ相关的内容,包括持久化,重复消费的问题。

                                                                                                                                                                                            3.提到zookeeper,dubbo,答不上来(g)

                                                                                                                                                                                            4.红黑树和平衡二叉树

                                                                                                                                                                                            5.还了解什么数据结构?

                                                                                                                                                                                            6.知道什么排序算法?时空复杂度?

                                                                                                                                                                                            7.HashMap的扩容机制,还有为什么要这么设定?

                                                                                                                                                                                            8.进程、线程,进程/线程间共享数据的方式,如何保证线程内的数据安全。

                                                                                                                                                                                            9.TCP、HTTP

                                                                                                                                                                                            10.反问

                                                                                                                                                                                            122

                                                                                                                                                                                            阿里一面

                                                                                                                                                                                            部门是高德地图,岗位是Java后端开发

                                                                                                                                                                                            自我介绍之后,面试官说没看到我的简历,所以直接开始八股

                                                                                                                                                                                            1. 讲讲ConcurrentHashMap,讲讲扩容
                                                                                                                                                                                            2. 线程池提交任务和回收线程的过程
                                                                                                                                                                                            3. 阻塞队列是怎么实现的
                                                                                                                                                                                            4. ReentrantLock是怎么实现的
                                                                                                                                                                                            5. AQS是怎么实现的(2-5老组合拳了)
                                                                                                                                                                                            6. 非公平锁怎么实现
                                                                                                                                                                                            7. 介绍MySQL索引的原理
                                                                                                                                                                                            8. 介绍Redis底层数据结构
                                                                                                                                                                                            9. 讲一件Redis过期键的淘汰
                                                                                                                                                                                            10. Redis的高可用是怎么保证的
                                                                                                                                                                                            11. Redis Cluster模式怎么确定key被分到哪个服务器

                                                                                                                                                                                            2个手撕

                                                                                                                                                                                            1. 从十亿个数字中找出最大的10个数字(不可以使用堆)
                                                                                                                                                                                            2. 实现一个阻塞队列

                                                                                                                                                                                            9.5号已约二面

                                                                                                                                                                                            123

                                                                                                                                                                                            秋招03——我与量化私募(上)

                                                                                                                                                                                            我是大三上第一段实习接触到量化私募的,当时是做C++交易系统开发,而正是第一段实习不错的印象,让我在秋招也对量化私募赛道有较多的关注~

                                                                                                                                                                                            从阿里离职,大概有半个月时间没有面试和学习了,虽然有一家量化私募的return offer,tp以及字节,在秋招的压力下我又投递了五六家私募,九坤的梧桐计划因为我太菜挂掉了,现在暂时拿到了两家的意向,其他仍在流程中

                                                                                                                                                                                            相对来说,私募的面试在大致流程上和互联网大厂相仿,但会多一些智力题以及和个人发展相关的题目,而且也会更看重学历

                                                                                                                                                                                            1. C++:

                                                                                                                                                                                            1.1 虚函数,虚函数表生成的时期,推测虚函数储存的位置,知道其他对象模型的储存方式吗

                                                                                                                                                                                            1.2 实现shared_ptr,移动构造,拷贝构造,赋值运算符重载…

                                                                                                                                                                                            1.3 C++14/17,gcc/g++版本

                                                                                                                                                                                            1.4 C++内存模型

                                                                                                                                                                                            1.5 static的作用,静态函数和静态成员变量,编译过程和static

                                                                                                                                                                                            1.6 同一段程序在不同情况耗时不同的问题

                                                                                                                                                                                            1.7 g++使用时有什么编译选项,o1,o2是什么,有哪些优化的地方呢

                                                                                                                                                                                            2. 操作系统 & 计组

                                                                                                                                                                                            2.1 编译的四个过程

                                                                                                                                                                                            2.2 静态链接和动态链接的区别,优缺点,步骤,linux相关命令

                                                                                                                                                                                            2.3 详细讲解符号表和重定位

                                                                                                                                                                                            2.4 C/C++中浮点数的存储方式

                                                                                                                                                                                            2.5 详细解释cache miss问题

                                                                                                                                                                                            2.6 设计程序确定是否cache miss

                                                                                                                                                                                            2.7 CPU的频率大概是多少,原子时钟周期

                                                                                                                                                                                            3. Python

                                                                                                                                                                                            3.1 pandas,numpy常用函数

                                                                                                                                                                                            3.2 numpy快的原因

                                                                                                                                                                                            3.3 pandas和numpy可以优化的地方

                                                                                                                                                                                            3.4 django和falsk相关,了解fastAPI吗

                                                                                                                                                                                            4. 其他技术问题

                                                                                                                                                                                            4.1 解释k8s和docker的概念和原理

                                                                                                                                                                                            4.2 k8s和vmware的区别

                                                                                                                                                                                            4.3 解释flink的概念,理解与使用

                                                                                                                                                                                            4.4 设计信号传输集群,传输格式,储存格式,部署方式,深入具体使用的开源组件和技术细节

                                                                                                                                                                                            4.5 比较C++和Rust

                                                                                                                                                                                            5. 智力题 & 开放题

                                                                                                                                                                                            5.1 3升5升取4升

                                                                                                                                                                                            5.2 3升7升10升共10升取5升

                                                                                                                                                                                            5.3 空瓶换饮料问题

                                                                                                                                                                                            5.4 速算:100以内的加减法×98×88

                                                                                                                                                                                            5.5 奶入茶还是茶入奶

                                                                                                                                                                                            5.6 井盖为什么是圆的

                                                                                                                                                                                            5.7 人生最重要的三个选择

                                                                                                                                                                                            124

                                                                                                                                                                                            20220831-阿里JAVA一面

                                                                                                                                                                                            内部员工回复

                                                                                                                                                                                            电话面

                                                                                                                                                                                            1.自我介绍实习介绍

                                                                                                                                                                                            2.Java反射机制使用场景

                                                                                                                                                                                            3.什么时候发生Full GC

                                                                                                                                                                                            4.ConcurentHashMap和HashMap

                                                                                                                                                                                            5.了解HBase吗

                                                                                                                                                                                            6.MySQL扩容的方式

                                                                                                                                                                                            7.Redis为什么快

                                                                                                                                                                                            8.一致性哈希

                                                                                                                                                                                            9.小内存排序大文件具体怎么操作

                                                                                                                                                                                            10.虚拟内存的作用

                                                                                                                                                                                            10.Easy: 二叉树最大深度

                                                                                                                                                                                            11.项目中遇到的难点,如何解决,如何调试

                                                                                                                                                                                            12.反问

                                                                                                                                                                                            125

                                                                                                                                                                                            2022春招阿里巴巴研发实习生JAVA面试汇总

                                                                                                                                                                                            一、杭州淘系java实习生一面(2022.3.3)50min(挂)

                                                                                                                                                                                            电话面试,17:00~17:50,五十分钟的极致八股拷问,问的都不难,自己太菜了,有的没答上来

                                                                                                                                                                                            0、自我介绍

                                                                                                                                                                                            1、平时用什么语言比较多?项目用的什么语言?机器人比赛用的什么语言?

                                                                                                                                                                                            2、有用过什么中间件?(Redis)那你说说对Redis的理解?

                                                                                                                                                                                            3、使用Redis的时候有碰到什么并发问题吗?怎么解决的?

                                                                                                                                                                                            4、项目中Redis和MySQL是怎么实现同步的?

                                                                                                                                                                                            5、在数据库方面的理解?有什么比较熟的点吗?(说了MySQL性能优化的方式)

                                                                                                                                                                                            6、数据库的特性知道吗?

                                                                                                                                                                                            7、数据库的三大范式知道吗?

                                                                                                                                                                                            8、数据库的隔离级别(太菜了,这么简单的都说错了,跟分布式下的问题搞混了)

                                                                                                                                                                                            9、HashMap的底层,源码有看过吗?

                                                                                                                                                                                            10、hashmap的扩容机制

                                                                                                                                                                                            11、再说一下ConcurrentHashMap的底层

                                                                                                                                                                                            12、项目中有碰到过***锁的问题吗?怎么解决的?

                                                                                                                                                                                            13、BIO、NIO这些有了解过吗?(不会)

                                                                                                                                                                                            14、反射的原理?(说了比较浅的一点)

                                                                                                                                                                                            15、类加载器知道吗?有哪些?类加载的过程是什么样的?(这里答得也不好)

                                                                                                                                                                                            16、说说对JVM的理解?(说了JVM的内存模型)

                                                                                                                                                                                            17、垃圾回收算法有了解吗?

                                                                                                                                                                                            18、G1收集器有了解吗?

                                                                                                                                                                                            19、什么时候会触发Full GC?Minor GC?(忘了)

                                                                                                                                                                                            20、多线程了解吗?说一下线程池的参数?(少说了两个)

                                                                                                                                                                                            21、网络有了解吗?说下三次握手的过程?

                                                                                                                                                                                            22、说下四次挥手的过程?为什么要四次?

                                                                                                                                                                                            23、TCP和UDP的区别?

                                                                                                                                                                                            24、TCP的粘包?(没听过)

                                                                                                                                                                                            25、HTTP和HTTPS的区别?

                                                                                                                                                                                            26、GET和POST的区别?

                                                                                                                                                                                            27、cookie和session的区别?

                                                                                                                                                                                            28、进程和线程的区别?

                                                                                                                                                                                            29、信号量、信号这些有了解吗?

                                                                                                                                                                                            30、用户态和内核态了解吗?

                                                                                                                                                                                            31、项目中有用过哪些设计模式?介绍一下自己熟悉的

                                                                                                                                                                                            32、说一下对spring的理解?IOC和AOP?

                                                                                                                                                                                            33、spring中bean的生命周期?

                                                                                                                                                                                            34、spring的源码看过哪些?里面用过哪些设计模式?

                                                                                                                                                                                            35、分布式的原理CAP?(忘记了)

                                                                                                                                                                                            36、有了解过netty吗?有了解过dubbo吗?(没)

                                                                                                                                                                                            37、消息队列了解吗?(原理不懂)

                                                                                                                                                                                            没有算法,没有反问(???问到这已经四五十分钟了,不知道是因为要挂还是时间到了)

                                                                                                                                                                                            总结一下:面试过程中没什么互动,基本上是一问一答的形式。问得也比较基础,奈何自己太菜了,有的没答上来。还是要经常复习一下八股,真的容易忘。

                                                                                                                                                                                            挂了。

                                                                                                                                                                                            二、菜鸟网络java实习生一面(2022.3.15)30min(过)

                                                                                                                                                                                            面试官忙着开会,迟了半个小时,问的时间也短。

                                                                                                                                                                                            0、自我介绍

                                                                                                                                                                                            1、学校里课程的成绩怎么样?有没有学校的课程应用到实际的例子?(学的C语言,用在机器人项目上了)

                                                                                                                                                                                            2、机器人怎么做的,遇到的各种问题;听说我是队长,问我队员不听话怎么办?

                                                                                                                                                                                            3、看你这项目……嗯……挺基础的,就不问了吧。 (55555)

                                                                                                                                                                                            4、网络原理学过吧?知道三次握手和四次挥手吗?(我:知道,需要我说他们的过程吗)

                                                                                                                                                                                            5、不让你说过程,你就说说为什么是三次和四次吧?(……愉快地回答)

                                                                                                                                                                                            6、了解什么数据结构吗?(我:栈、队列、红黑树、平衡二叉搜索树……)

                                                                                                                                                                                            7、那你说一下树的遍历方式吧!(???我红黑树都抛出来了你就问我这? 深搜、广搜)

                                                                                                                                                                                            8、我没有什么问题了,你有什么要问我的?(???x2,没了?)

                                                                                                                                                                                            总结:面试官前一天打电话的时候就说今天很多会,所以迟一点我也有心理准备,不过面试时间挺短的,面试官全程一直在说ok,八股也就问了一两个,面试体验挺好的(主要是时间短,狗头)。

                                                                                                                                                                                            三、菜鸟网络java实习生二面(2022.3.24) 1h(过)

                                                                                                                                                                                            前几天先打电话过来让我在阿里伯乐平台上做了两个题,面试官盯着我做的那种,一个简单的算法题,一个多线程的题。

                                                                                                                                                                                            0、自我介绍

                                                                                                                                                                                            1、OSI七层模型?传输层主要做什么?

                                                                                                                                                                                            2、TCP和UDP的区别?

                                                                                                                                                                                            3、你刚刚说UDP速度快一些,为什么快?

                                                                                                                                                                                            4、HTTP和HTTPS的区别?

                                                                                                                                                                                            5、TCP建立连接和断开连接的过程

                                                                                                                                                                                            6、了解哪些排序算法?

                                                                                                                                                                                            7、怎么判断链表有环,如何找到这个环的入口?

                                                                                                                                                                                            8、如何反转一个链表?(说了之后面试官问还有没有其他实现方式,不知道了)

                                                                                                                                                                                            9、听说过倒排索引吗?(没听过,好像说的是这个)

                                                                                                                                                                                            10、如何遍历一棵二叉树?

                                                                                                                                                                                            11、了解过java语言吗?说一下NIO的优点和Netty,说一下Netty的……模型(后面没听清了,没了解过netty,就说了一下NIO,netty直接说不会了)

                                                                                                                                                                                            12、听说过零拷贝吗?(没听过)

                                                                                                                                                                                            13、说一下垃圾回收算法

                                                                                                                                                                                            14、说一下CMS的算法

                                                                                                                                                                                            15、说一下触发Full GC的条件?Minor GC?

                                                                                                                                                                                            16、为什么有了垃圾回收算法,还会内存泄漏呢?

                                                                                                                                                                                            17、静态方法和实例方法的区别?(这个没说清楚)

                                                                                                                                                                                            18、那你说一下他们的使用上有什么区别?(面试官试着引导我,但是我菜呀)

                                                                                                                                                                                            19、Java中一个字符占几个字节?int、long、double占几个?

                                                                                                                                                                                            20、ArrayList和linkedlist的区别?分别适用什么场景?

                                                                                                                                                                                            21、== 和 equals() 的区别?

                                                                                                                                                                                            22、说一下HashMap的底层

                                                                                                                                                                                            23、HashMap的扩容机制?什么时候扩容?

                                                                                                                                                                                            24、你刚刚说到负载因子默认是0.75,那为什么是0.75呢?

                                                                                                                                                                                            25、你刚刚说到哈希冲突,如何避免哈希冲突呢?(只说了两三个方法,其他的有点忘了)

                                                                                                                                                                                            26、如何实现线程安全的hashmap?(ConcurrentHashMap)那你说一下ConcurrentHashMap是如何实现的吧?

                                                                                                                                                                                            27、数据库了解吗?你说一下InnoDB 和 MyISAM 的区别?

                                                                                                                                                                                            28、你刚刚说到了索引的底层是B+树,你能说一下他是如何用B+树实现索引的吗?

                                                                                                                                                                                            29、B树和B+树的区别?

                                                                                                                                                                                            30、使用查询语句的时候,什么时候索引会失效?(说了两三个,记不清了,面试官也在问还有吗)

                                                                                                                                                                                            31、行锁和表锁有什么区别?他们是如何实现的呢?(不知道怎么实现)

                                                                                                                                                                                            32、说一下乐观锁和悲观锁

                                                                                                                                                                                            33、你刚刚说到了CAS,那你能说一下怎么解决他里面的ABA问题吗?

                                                                                                                                                                                            34、数据库的隔离级别?为什么要设置这些隔离级别,他们有什么作用?(感觉作用上面的回答面试官不是很满意)

                                                                                                                                                                                            35、你现在是大三对吧,明年本科毕业。你平时有关注什么技术吗?怎么学习的?

                                                                                                                                                                                            36、了解哪些业界比较流行的技术或者框架?说说你对他们的理解。

                                                                                                                                                                                            37、了解哪些业界的人,谁是你的偶像和标杆?(业界不认得谁啊……我说了学校的教授,面试官马上问名字是怎么写的,应该是百度了)

                                                                                                                                                                                            38、平时做的项目有过总结吗?有想过如何优化吗?怎么实现优化?(主要说了对MySQL的保护、读写分离、集群配置等,还有对并发问题的一些处理)

                                                                                                                                                                                            39、最有成就感的一件事是什么?为什么?(我说了机器人比赛拿奖的时候)

                                                                                                                                                                                            40、在机器人比赛中做了哪些努力?遇到哪些问题?你主要负责什么?(后面就是项目细节了,详细问遇到的问题,虽然面试官是做Java的,但是硬件层面的东西他都听得懂……)

                                                                                                                                                                                            41、有过实习经历吗?是一直在学校吗?

                                                                                                                                                                                            没有反问。

                                                                                                                                                                                            总结:阿里二面对八股文的广度要求还比较高,并且有好几个问题是之前挂了的一次面试里面没答上来的问题,好在后面又都看过。并且对于知识的深度也有要求,当提到一个点之后,面试官会一直追问到源码层面,***记八股文显然是不行的,还得有自己的理解和判断。同时一定要保证回答的真实性,不能瞎编。

                                                                                                                                                                                            四、菜鸟网络JAVA实习生三面(2022.3.25) 30min (过)

                                                                                                                                                                                            ​ 二面面完几个小时之后,阿里的HR打电话过来,并且加了钉钉,约了第二天三面。之前的面试都是面试官直接打电话约的,并且都是电话面试,这是我第一次加上阿里的HR。三面是钉钉视频面试,面试官一看就是个大佬,气场很足,没有笑过。也就是围绕着项目在问,对一些设计提出了质疑。顺便问了问怎么学习的,在看什么书。

                                                                                                                                                                                            ​ 总结:三面的面试官是主管级的,他并不问八股,也不问算法,只在意我的项目具体是怎么实现的,并且对里面的一些细节提问,对一些设计提出质疑。一定要对自己的项目细节十分清楚,并且明白这样设计的理由和利弊。

                                                                                                                                                                                            五、菜鸟网络JAVA实习生HRG面(2022.3.29) 30min (过)

                                                                                                                                                                                            三面面完几个小时之后,HR钉钉联系我,约了HR面的面试。也是钉钉视频面试。

                                                                                                                                                                                            0、面试官自我介绍

                                                                                                                                                                                            1、是哪里人?为什么选择这个学校?为什么选择计算机专业?

                                                                                                                                                                                            2、你刚刚说互联网前景好、竞争激烈,那么你能说说你有什么优势能够在竞争中胜出吗?

                                                                                                                                                                                            3、那你的不足呢?

                                                                                                                                                                                            4、你刚刚说小时候有接触过电脑,是做什么?第一次接触编程是什么时候?

                                                                                                                                                                                            5、说说你的项目吧,是怎么做的?除了简历上的项目还有其他的项目吗?

                                                                                                                                                                                            6、在前面技术面试的时候跟面试官交流这些项目,你学到了什么?(我说了有一个设计,面试官说浪费成本,应该舍弃)

                                                                                                                                                                                            7、那你现在觉得面试官的观点正确吗?为什么在当时做项目的时候要这样设计呢?(想秀技术,想巩固一下新学的知识)

                                                                                                                                                                                            8、你刚刚说到秀技术,其实很多程序员都喜欢秀技术,你怎么看待这样的行为?

                                                                                                                                                                                            9、在前面技术面的时候,你的回答有没有什么亮点?

                                                                                                                                                                                            10、前面的面试官有说我们这个部门是负责什么业务的吗?(然后给我详细地介绍了一下业务,说了一堆我又听不懂,正在发呆,忽然问我)

                                                                                                                                                                                            11、在这样的工作环境中,你觉得对你的技术和个人生活方面有什么样的提升?

                                                                                                                                                                                            12、在前面跟面试官交流的过程中,你觉得自己有哪些不足还需要弥补?

                                                                                                                                                                                            13、你刚刚说没有来过杭州,那你在杭州有亲戚朋友或者学长学姐吗?

                                                                                                                                                                                            14、结合前面的面试体验,你能不能用三五个词来概括一下阿里巴巴的面试体验?

                                                                                                                                                                                            15、假如让你从前面三个面试官中选一个作为你的导师,你更愿意选哪一个?

                                                                                                                                                                                            16、你是做后端的,为什么大学的时候会去做机器人项目呢?机器人的项目对你做后端开发有什么帮助?

                                                                                                                                                                                            17、看你经常写CSDN博客,在CSDN里面你有关注的博主吗?他的网名叫什么?为什么关注他?

                                                                                                                                                                                            18、看你写的博客有的阅读量还挺大的,你还记得这些博客吗?为什么这么受欢迎?

                                                                                                                                                                                            19、家庭情况,有兄弟姐妹吗?父母想让你去哪个城市?有女朋友吗?

                                                                                                                                                                                            20、最快什么时候能实习?现在疫情影响,学校支持出去实习吗?

                                                                                                                                                                                            21、反问

                                                                                                                                                                                            三天之后给意向书了。

                                                                                                                                                                                            126

                                                                                                                                                                                            23秋招面试记录(continuing)

                                                                                                                                                                                            已上岸

                                                                                                                                                                                            • 字节(8/8)
                                                                                                                                                                                            • 用友-高潜(8/29)
                                                                                                                                                                                            • 科大讯飞(9/13)

                                                                                                                                                                                              蔚来一面(7/20)

                                                                                                                                                                                              • map的put流程
                                                                                                                                                                                              • redis的zset实现
                                                                                                                                                                                              • mvcc机制
                                                                                                                                                                                              • sql(课程a比课程b得分高的学生信息)
                                                                                                                                                                                              • 数组中最长的等差数组(可不连续)

                                                                                                                                                                                                第四范式一面(7/21)

                                                                                                                                                                                                • 5层网络模型中各自典型协议
                                                                                                                                                                                                • 局域网中涉及的协议
                                                                                                                                                                                                • 3次握手过程
                                                                                                                                                                                                • kmp
                                                                                                                                                                                                • 层序遍历
                                                                                                                                                                                                • 中序和后序推倒前序
                                                                                                                                                                                                • 反转链表

                                                                                                                                                                                                  中望一面(7/27)

                                                                                                                                                                                                  • 网关作用
                                                                                                                                                                                                  • 路由器和交换机区别
                                                                                                                                                                                                  • java的gc
                                                                                                                                                                                                  • hashmap不重写hashcode或者equal方法可能导致的问题
                                                                                                                                                                                                  • hashmap长度为2的幂次的原因
                                                                                                                                                                                                  • 前后序能否推导中序

                                                                                                                                                                                                    用友一面(7/29)

                                                                                                                                                                                                    • 进程、线程
                                                                                                                                                                                                    • 线程、进程的通信方式
                                                                                                                                                                                                    • ISO五层模型
                                                                                                                                                                                                    • mtu作用
                                                                                                                                                                                                    • mysql存储高精度数据适用的数据类型
                                                                                                                                                                                                    • redis数据结构(hash)
                                                                                                                                                                                                    • redis的hash的put流程
                                                                                                                                                                                                    • mysql索引组织方式
                                                                                                                                                                                                    • kafka架构

                                                                                                                                                                                                      米哈游一面(忘记录了,凭记忆了哈)(8/1)

                                                                                                                                                                                                      • 大小端
                                                                                                                                                                                                      • aof、rdb区别
                                                                                                                                                                                                      • 快排的最好、最坏时间复杂度
                                                                                                                                                                                                      • 算法题:字符串转数字
                                                                                                                                                                                                      • 算法题:快排

                                                                                                                                                                                                        第四范式二面(8/8)

                                                                                                                                                                                                        • 网络5层模型,如何给他人介绍此5层模型
                                                                                                                                                                                                        • 场景题:可支持多人同时点餐的小程序,点餐流程,如何推送,如何并发点餐
                                                                                                                                                                                                        • 场景题:网站支持作者发布文章、读者订阅作者,在首页推送读者订阅的作者们更新的最新的10篇文章,如何设计mysql表,写sql,谈优化,如何利用缓存

                                                                                                                                                                                                          用友二面(8/8)

                                                                                                                                                                                                          • 作业编排模型,如何设计
                                                                                                                                                                                                          • 火焰图
                                                                                                                                                                                                          • 场景题:redis加分布式锁,锁时长的续费问题,如何续费,具体实现;以及续费过程中如何保证流程正常

                                                                                                                                                                                                            科大讯飞一面(8/11)

                                                                                                                                                                                                            • 进程、线程区别
                                                                                                                                                                                                            • mysql事务的使用场景
                                                                                                                                                                                                            • 在浏览器中输入 www.baidu.com 在网络栈中发生的事情
                                                                                                                                                                                                            • dhcp协议
                                                                                                                                                                                                            • tcp粘包
                                                                                                                                                                                                            • 常用排序算法及时间复杂度
                                                                                                                                                                                                            • redis写入后的数据一致性

                                                                                                                                                                                                              百度一面(8/15)

                                                                                                                                                                                                              • mysql超大表的处理
                                                                                                                                                                                                              • mq如何保证消息不重复
                                                                                                                                                                                                              • 算法题:给一数组,数组元素为struct{id int,pid int},要求树化

                                                                                                                                                                                                                科大讯飞二面(8/17)

                                                                                                                                                                                                                • 纯项目面

                                                                                                                                                                                                                  百度二面(8/22)

                                                                                                                                                                                                                  • 纯kpi面,不想回忆

                                                                                                                                                                                                                    招商银行一面(8/24)

                                                                                                                                                                                                                    • 二分法能否用于双向链表
                                                                                                                                                                                                                    • java的hash表底层数据结构及put流程
                                                                                                                                                                                                                    • java中是多进程还是多线程,多进程和多线程的区别
                                                                                                                                                                                                                    • 分布式锁的实现方式
                                                                                                                                                                                                                    • 线程对临界区的保护机制
                                                                                                                                                                                                                    • mysql的事务四大特性,解释原子性和一致性,能否用mysql实现分布式锁
                                                                                                                                                                                                                    • 算法题:leetcode 322

                                                                                                                                                                                                                      招商银行二面(8/31)

                                                                                                                                                                                                                      • 纯项目面

                                                                                                                                                                                                                        美团一面(8/31)

                                                                                                                                                                                                                        • 线程和协程的区别
                                                                                                                                                                                                                        • 零拷贝
                                                                                                                                                                                                                        • select和epoll
                                                                                                                                                                                                                        • reactor模型
                                                                                                                                                                                                                        • 解释mysql事务四大特性
                                                                                                                                                                                                                        • 事务四种隔离级别
                                                                                                                                                                                                                        • mysql的innodb引擎的索引数据结构
                                                                                                                                                                                                                        • ISO网络模型
                                                                                                                                                                                                                        • http和https区别
                                                                                                                                                                                                                        • https的非对称加密
                                                                                                                                                                                                                        • 线程池的参数
                                                                                                                                                                                                                        • 算法题:数组中最小的k个数

                                                                                                                                                                                                                          美团二面(9/7)

                                                                                                                                                                                                                          • 电影院的数据表设计
                                                                                                                                                                                                                          • pv操作
                                                                                                                                                                                                                            • 商店能容纳10名顾客
                                                                                                                                                                                                                            • 有一个店员,且店员一次只能招待一名顾客

                                                                                                                                                                                                                              阿里一面(9/9)

                                                                                                                                                                                                                              • java类的装载过程
                                                                                                                                                                                                                              • hashmap的扩容
                                                                                                                                                                                                                              • 浏览器输入url后发生的事情
                                                                                                                                                                                                                              • 协程和线程的区别
                                                                                                                                                                                                                              • 设计模式

                                                                                                                                                                                                                                阿里二面(9/10)

                                                                                                                                                                                                                                • 学习经历

                                                                                                                                                                                                                                  美团三面(9/13)

                                                                                                                                                                                                                                  • 学习经历

                                                                                                                                                                                                                                    荣耀一面(9/13)


                                                                                                                                                                                                                                    京东一面(9/14)


                                                                                                                                                                                                                                    深信服一面(9/18)

                                                                                                                                                                                                                                    • go的slice和数组的区别
                                                                                                                                                                                                                                    • go的select如何做到有优先级的选取
                                                                                                                                                                                                                                    • java的hashmap和treemap的实现,何时treemap的性能优于hashmap
                                                                                                                                                                                                                                    • 进程通信的方式和优劣
                                                                                                                                                                                                                                    • tcp和udp的区别
                                                                                                                                                                                                                                    • 如何使用udp完成可靠的传输
                                                                                                                                                                                                                                    • 函数50%的概率输出1,30%的概率输出2,20%的概率输出3

                                                                                                                                                                                                                                      微软一面(9/19)

                                                                                                                                                                                                                                      • 两个字符串的最长相同子串长度

                                                                                                                                                                                                                                        滴滴一面(9/19)

                                                                                                                                                                                                                                        • 协程模型
                                                                                                                                                                                                                                        • 虚拟内存
                                                                                                                                                                                                                                        • 进程切换
                                                                                                                                                                                                                                        • 手写协程池
                                                                                                                                                                                                                                        • go的defer和return
                                                                                                                                                                                                                                        • mysql索引
                                                                                                                                                                                                                                        • B+ VS B
                                                                                                                                                                                                                                        • 查索引的过程
                                                                                                                                                                                                                                        • 事务特性
                                                                                                                                                                                                                                        • linux的ps、find命令
                                                                                                                                                                                                                                        • redis数据结构
                                                                                                                                                                                                                                        • redis分布式锁
                                                                                                                                                                                                                                        • 算法题:逆波兰表达式

                                                                                                                                                                                                                                          127

                                                                                                                                                                                                                                          面经分享

                                                                                                                                                                                                                                          本人投递较晚,4月20号开始投暑期,然后就只有一个阿里 kpi 一面,三十分钟,没有参考意义。

                                                                                                                                                                                                                                          随后到五月中旬,心情很低落。被美团买菜后端开发捞了,但是一面算法没过(个人较菜)。

                                                                                                                                                                                                                                          boss 找投递机会,准备字节教育后端开发一面(基础还行,算法又挂了)。

                                                                                                                                                                                                                                          经同学推荐,转客户端,投递字节飞书客户端,然后第三面挂了。

                                                                                                                                                                                                                                          然后被腾讯 pcg 捞了,只有两面,都通过了,现在怀疑是 hr kpi,池子里都是大佬。

                                                                                                                                                                                                                                          最终在师兄的推荐下开始字节新业务后端开发日常岗位面试,终于不是 0 offer了!

                                                                                                                                                                                                                                          美团一面后端:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 你认为你们项目的亮点在哪

                                                                                                                                                                                                                                          \3. 你说到 SpringSecurity,你是怎么学习的呢

                                                                                                                                                                                                                                          \4. Linux 了解哪些命令

                                                                                                                                                                                                                                          \5. Object 类有哪些方法,细说一下每一种

                                                                                                                                                                                                                                          \6. 用过哪些集合类,说一下 ConcurrentHashMap,说一下 ConcurrentHashMap源码在多线程下有哪些优化

                                                                                                                                                                                                                                          \7. wait() 和 sleep()区别,sleep() 使用过吗,怎么用的

                                                                                                                                                                                                                                          \8. volatile 说一下(原子性,可见行,有序性,指令重排,内存屏障,volatile 原理)

                                                                                                                                                                                                                                          \9. 线程池7大参数,原理,拒绝策略

                                                                                                                                                                                                                                          \10. GCRoot 引用对象

                                                                                                                                                                                                                                          \11. 新生代晋升到老年代过程

                                                                                                                                                                                                                                          \12. 说一下索引失效

                                                                                                                                                                                                                                          \13. 联合索引实际场景如何建立索引

                                                                                                                                                                                                                                          \14. 数据库隔离级别分别是什么,解决了什么问题

                                                                                                                                                                                                                                          \15. 脏读、幻读、不可重复读

                                                                                                                                                                                                                                          \16. MVCC说了一半,面试官打断说不需要说可见行算法,下一个问题

                                                                                                                                                                                                                                          \17. Next-key lock 提了一下,没说别的

                                                                                                                                                                                                                                          \18. linux 命令询问,chmod,什么是777,三个777分别代表什么,分别代表那个组

                                                                                                                                                                                                                                          \19. 框架,Spring IOC, 循环依赖,三级缓存

                                                                                                                                                                                                                                          字节飞书客户端:

                                                                                                                                                                                                                                          一面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 项目登录过程实现、SS 授权和认证过程、JWT 如何使用、如何实现表单重复提交

                                                                                                                                                                                                                                          \3. Redis 数据同步如何解决

                                                                                                                                                                                                                                          \4. AOP 怎么理解的,动态代理 JDK 和 CGLIB

                                                                                                                                                                                                                                          \5. 如何理解线程池、参数、拒绝策略、原理

                                                                                                                                                                                                                                          \6. Java 里面的锁机制,synchronized 原理、作用、锁升级,AQS原理,ReentrantLock 源码

                                                                                                                                                                                                                                          \7. 手写 DCL 线程安全方法,解释为什么需要加 volatile

                                                                                                                                                                                                                                          \8. 第 K 大,leetcode 215,使用快速选择排序 O(n)

                                                                                                                                                                                                                                          二面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 输入 URL 访问流程

                                                                                                                                                                                                                                          \3. TLS 什么时候使用对称加密,什么时候使用非对称加密

                                                                                                                                                                                                                                          \4. 中间人攻击了解吗?(不了解)

                                                                                                                                                                                                                                          \5. 可靠传输如何优化?(类似加速网络请求)

                                                                                                                                                                                                                                          \6. DNS 缓存在代码中如何实现?

                                                                                                                                                                                                                                          \7. 网络中的二进制如何对应真实内容?(我说的粘包,但是不对,后来说表示层的功能。再后来说前后端交互使用规定的JSON格式,但是他说JSON格式在网络中也是二进制,如何在网络中体现?我就说了序列化,然后他说序列化只是一部分,后来我就不知道了,有大佬知道可以教教我哈)

                                                                                                                                                                                                                                          \8. MySQL 索引如何提高查询效率

                                                                                                                                                                                                                                          \9. 如何看SQL 语句是否使用了索引

                                                                                                                                                                                                                                          \10. 如果你设计优化器,如何优化联合索引?

                                                                                                                                                                                                                                          \11. 如何理解事务?

                                                                                                                                                                                                                                          \12. 面向对象语言的特点

                                                                                                                                                                                                                                          \13. GC如何判断回收的垃圾对象?

                                                                                                                                                                                                                                          \14. 如何判断引用计数器什么时候加1,减1?

                                                                                                                                                                                                                                          \15. 如何知道对象什么时候被引用?

                                                                                                                                                                                                                                          \16. 那什么时候GC进行回收呢?Minor GC、Full GC

                                                                                                                                                                                                                                          \17. leetcode 给一个字符串,判断最长的回文子串的长度,如何优化

                                                                                                                                                                                                                                          三面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 十六进制转换为十进制 代码编写

                                                                                                                                                                                                                                          \3. 感觉一面二面面试官怎么样?

                                                                                                                                                                                                                                          \4. 你感觉一二面令你印象最深的题目?

                                                                                                                                                                                                                                          \5. 你还学习过哪些语言?做过哪些项目?

                                                                                                                                                                                                                                          \6. 你认为 Python 和 Java 的区别有哪些?历史、编码过程、框架方面

                                                                                                                                                                                                                                          \7. HTTP 的历史,HTTP 1.0、1.1、2.0、3.0

                                                                                                                                                                                                                                          \8. 当前腾讯视频用到了哪些协议?

                                                                                                                                                                                                                                          \9. 设计一个缓存系统,如何在客户端保存用户的图片?缓存唤出策略、缓存的级别、缓存的存储方式(文件还是数据库,什么时候用文件,什么时候用数据库)、网络图片下载失败重试

                                                                                                                                                                                                                                          \10. 你认为你项目中印象最深刻的难题?学到了什么?

                                                                                                                                                                                                                                          \11. 你写的代码大致有多少行?

                                                                                                                                                                                                                                          腾讯 pcg 后端:

                                                                                                                                                                                                                                          一面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 浏览器输入 url 过程

                                                                                                                                                                                                                                          \3. MTU 和 MSS

                                                                                                                                                                                                                                          \5. 状态码详细问答 502 504 403 404 302 301

                                                                                                                                                                                                                                          \6. UDP 如何做可靠传输

                                                                                                                                                                                                                                          \7. TCP 如何可靠传输

                                                                                                                                                                                                                                          \8. 流量控制和拥塞控制的区别

                                                                                                                                                                                                                                          \9. 考察 NGINX 如何转发,NGINX 里面包含什么

                                                                                                                                                                                                                                          \10. AOP 动态代理 项目横切日志如何做

                                                                                                                                                                                                                                          \11. IOC

                                                                                                                                                                                                                                          \12. 看过那些书

                                                                                                                                                                                                                                          \13. 如何解决慢查询

                                                                                                                                                                                                                                          \14. 12345678 单链表,从尾部到首部每 k 个反转一次,不足 k 个不用处理,返回反转后到链表 k = 3,87654312

                                                                                                                                                                                                                                          二面:

                                                                                                                                                                                                                                          \1. 总监面

                                                                                                                                                                                                                                          \2. 由于总监时间有限制,直接算法题

                                                                                                                                                                                                                                          \3. 二分查找数组指定元素的最小索引,包含边界值处理,测试用例的设计。(算是运气好)

                                                                                                                                                                                                                                          字节新业务后端开发:

                                                                                                                                                                                                                                          一面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 数据库表如何设计的

                                                                                                                                                                                                                                          \3. 系统中的 JWT + SpringSecurity 如何实现认证和授权的

                                                                                                                                                                                                                                          \4. HTTP 和 HTTPS 的区别

                                                                                                                                                                                                                                          \5. 拥塞控制和流量控制的含义和区别,包括拥塞的四个算法

                                                                                                                                                                                                                                          \6. Innodb 索引介绍一下

                                                                                                                                                                                                                                          \7. 项目中用到哪些索引,怎么用的

                                                                                                                                                                                                                                          \8. 覆盖索引是什么

                                                                                                                                                                                                                                          \9. ACID 如何保证的(undolog, AID, redolog, mvcc)

                                                                                                                                                                                                                                          \10. Redis key过期怎么办?如何删除key?(淘汰策略)

                                                                                                                                                                                                                                          \11. Redis 分布式锁你是怎么理解的

                                                                                                                                                                                                                                          \12. leetcode 540

                                                                                                                                                                                                                                          二面:

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 系统中为什么使用 Redis?怎么使用的

                                                                                                                                                                                                                                          \3. 详解 JWT,如何实现系统登陆的,如何解决 JWT 的 Token 续期问题

                                                                                                                                                                                                                                          \4. 防重复提交如何实现的

                                                                                                                                                                                                                                          \5. AOP 是什么(我是从 JDK + CGLIB 源码角度解答的)

                                                                                                                                                                                                                                          \6. 然后他说我面过好多次了,基础可以就没有问我八股了(实际上这面之前字节已经面过五次了)

                                                                                                                                                                                                                                          \7. 做题:第一题:leetcode 763,第一题没思路,然后给了第二题:分糖果,过了之后又出了一个题:leetcode 162,还好会二分

                                                                                                                                                                                                                                          三面:(三面没录音,记不太清晰了)

                                                                                                                                                                                                                                          \1. 自我介绍

                                                                                                                                                                                                                                          \2. 项目简介,问项目系统设计从软件工程的角度如何考虑,包括需求,设计,安全多角度思考(结合自己的系统)。

                                                                                                                                                                                                                                          \3. 做题:合并 N 个不等长的有序数组为一个有序数组,动态输入。(20分钟之内)

                                                                                                                                                                                                                                          \4. 问了操作系统 read write 底层原理

                                                                                                                                                                                                                                          \5. 操作系统线程切换的底层原理,设计哪些寄存器的内容,如何变化的

                                                                                                                                                                                                                                          \6. 计算机网络的拥塞控制,有哪些缺点,如何改进

                                                                                                                                                                                                                                          \7. 了解 QUIC嘛,有哪些优点,解决了 HTTP 2.0哪些问题

                                                                                                                                                                                                                                          128

                                                                                                                                                                                                                                          阿里本地生活java暑期面经

                                                                                                                                                                                                                                          楼主投阿里投的很晚(4.19才投,那会儿阿里暑期好像要结束了),能给面已经很好了,这波能意向感觉还是有蛮大运气成分的。

                                                                                                                                                                                                                                          04.24 一面(35mins)

                                                                                                                                                                                                                                          1. HashMap。
                                                                                                                                                                                                                                          2. ConcurrentHashMap。
                                                                                                                                                                                                                                          3. ThreadLocal。
                                                                                                                                                                                                                                          4. 悲观锁乐观锁。
                                                                                                                                                                                                                                          5. static。
                                                                                                                                                                                                                                          6. 线程和进程的区别。
                                                                                                                                                                                                                                          7. TCP三次握手?
                                                                                                                                                                                                                                          8. 二分查找、排序。
                                                                                                                                                                                                                                          9. 索引底层。
                                                                                                                                                                                                                                          10. 索引覆盖、最左前缀匹配原则。
                                                                                                                                                                                                                                          11. 缓存击穿和缓存雪崩。
                                                                                                                                                                                                                                          12. 反问环节:面试评价,hc问题,后续流程问题。

                                                                                                                                                                                                                                          总结:可能是因为我非科班,面试中问了很多偏向计算机基础的知识点,很多都忘掉了没写上去。

                                                                                                                                                                                                                                          04.29 二面(55mins)

                                                                                                                                                                                                                                          • 全程项目

                                                                                                                                                                                                                                            总结:问的挺深的,要把项目搞搞清楚才行。

                                                                                                                                                                                                                                            05.06 hrg面(15mins)

                                                                                                                                                                                                                                            总结:面完就感觉不太对劲,等了一周被告知不合适,估计没hc了。hr人很好帮我推荐到了其他小部门。

                                                                                                                                                                                                                                            05.17 交叉面(45mins)

                                                                                                                                                                                                                                            • 全程项目

                                                                                                                                                                                                                                              总结:还是问项目,然后扩展着问了点os和计网。

                                                                                                                                                                                                                                              05.18 hrg面(50mins)

                                                                                                                                                                                                                                              总结:技术(30mins)+常规问题(20mins)。

                                                                                                                                                                                                                                              05.23 OC

                                                                                                                                                                                                                                              • wx告知。

                                                                                                                                                                                                                                                05.25 意向

                                                                                                                                                                                                                                                • 收到邮件。

                                                                                                                                                                                                                                                  129

                                                                                                                                                                                                                                                  阿里C++暑期实习面经

                                                                                                                                                                                                                                                  (一面60min)

                                                                                                                                                                                                                                                  项目- [ ] 流程、难题、怎么解决?效果如何?

                                                                                                                                                                                                                                                  - [ ] 所用模型结构,训练模型如何设立

                                                                                                                                                                                                                                                  - [ ] 故障数据不够怎么使用神经网络

                                                                                                                                                                                                                                                  - [ ] select,poll,epoll的区别

                                                                                                                                                                                                                                                  - [ ] select阻塞非阻塞,同步异步的区别

                                                                                                                                                                                                                                                  - [ ] 服务端一下子涌入大量数据怎么办

                                                                                                                                                                                                                                                  - [ ] C++的多态

                                                                                                                                                                                                                                                  - [ ] 深浅拷贝的区别

                                                                                                                                                                                                                                                  - [ ] 指针和引用的区别

                                                                                                                                                                                                                                                  - [ ] STL各种容器及特点

                                                                                                                                                                                                                                                  - [ ] C++内存管理

                                                                                                                                                                                                                                                  - [ ] 有指针为什么还要用迭代器

                                                                                                                                                                                                                                                  - [ ] 迭代器的作用

                                                                                                                                                                                                                                                  - [ ] 查找算法及时间复杂度

                                                                                                                                                                                                                                                  - [ ] 栈溢出的原因

                                                                                                                                                                                                                                                  - [ ] TCP保证传输可靠的方法

                                                                                                                                                                                                                                                  - [ ] TIME_WAIT和CLOSE_WAIT的意义

                                                                                                                                                                                                                                                  - [ ] TCP保证传输正确的算法,保证传输安全的方法

                                                                                                                                                                                                                                                  - [ ] 什么时候会发生粘包

                                                                                                                                                                                                                                                  - [ ] 粘包怎么解决

                                                                                                                                                                                                                                                  - [ ] MYSQL的锁机制

                                                                                                                                                                                                                                                  - [ ] 怎么实现乐观锁

                                                                                                                                                                                                                                                  - [ ] 如何判别用哪个线程去操作

                                                                                                                                                                                                                                                  - [ ] InnoDB的隔离级别和特点

                                                                                                                                                                                                                                                  - [ ] 索引的目的及优缺点

                                                                                                                                                                                                                                                  - [ ] 聚簇索引和非聚簇索引

                                                                                                                                                                                                                                                  - [ ] 索引的数据结构,为什么用它

                                                                                                                                                                                                                                                  - [ ] B+树的缺点

                                                                                                                                                                                                                                                  - [ ] 索引为什么不用红黑树

                                                                                                                                                                                                                                                  - [ ] 索引为什么不用哈希表

                                                                                                                                                                                                                                                  - [ ] 内存淘汰机制

                                                                                                                                                                                                                                                  - [ ] LRU的实现

                                                                                                                                                                                                                                                  - [ ] C++的几种模式

                                                                                                                                                                                                                                                  - [ ] 单例模式是否线程安全

                                                                                                                                                                                                                                                  - [ ] 了解的框架

                                                                                                                                                                                                                                                  - [ ] 如何学习新内容

                                                                                                                                                                                                                                                  - [ ] 自己的优势

                                                                                                                                                                                                                                                  - [ ] 深度学习的意义与优势

                                                                                                                                                                                                                                                  (二面25min)

                                                                                                                                                                                                                                                  项目- [ ] 项目多大会崩溃

                                                                                                                                                                                                                                                  - [ ] 怎么定义高并发

                                                                                                                                                                                                                                                  - [ ] MYSQL定义一个递增主键,结果不连续的原因

                                                                                                                                                                                                                                                  - [ ] 查询语句LIKE走索引么

                                                                                                                                                                                                                                                  - [ ] 什么时候查询不走索引

                                                                                                                                                                                                                                                  - [ ] TCP的五层模型(从底层往上)

                                                                                                                                                                                                                                                  - [ ] 有一亿个随机数,只有1k的内存可以用,找中位数

                                                                                                                                                                                                                                                  - [ ] 轮流抛硬币,你先抛,获胜的概率

                                                                                                                                                                                                                                                  阿里云基础事业部,已凉

                                                                                                                                                                                                                                                  130

                                                                                                                                                                                                                                                  字节提前批 三面

                                                                                                                                                                                                                                                  内部员工回复

                                                                                                                                                                                                                                                  字节 后端-基础架构 三面 8.23 大约45min (二面20天后)

                                                                                                                                                                                                                                                  三面一看就是大佬,目测35+。全程只简单问了一下项目,然后就问我对于那些方面擅长一些,理论和实战方面都行,我说OS和计网知道的多一点,后面我将为自己这句话付出代价。

                                                                                                                                                                                                                                                  一、自我介绍问论文和实验室项目有没有关系,可能以为是落地项目。

                                                                                                                                                                                                                                                  二、项目(感觉大佬一眼就知道项目哪些地方值得问,上来就对着我两个项目都用到的muduo入手去问,可惜没看源码)rpc项目的日志模块怎么实现的?你用了开源的muduo库大致介绍一下(简单说了网络模型)前面说的多reactor模型,你说一下回答说主线程reactor负责建立连接,然后分发连接给子线程reactor,那会带来哪些问题?我瞎蒙惊群效应你做的rpc项目是为了完成业务吗回答只是简单模拟了一下聊天的业务序列化协议为什么用protobuf?聊天项目nginx你用了之后掌握了多少,有没有看专门书籍和源码我回答了知道正向代理,反向代理,如何配置tcp负载均衡文件,怎么解决惊群效应。ros小车项目介绍一下,我说了自己的工作内容。三、操作系统说一下你擅长的哪方面回答进程和内存管理说一下进程的调度算法有哪些?进程间通信说一下socket有多少类型内存管理说一下,寻址怎么做的?我先说根据地址线找到对应物理内存单元,然后通过控制线确定读写信号,再通过数据总线读写内存单元,再说需要mmu进行从虚拟地址到物理地址的转换。针对我说的分段,分页,端页,说一下地址转换?我觉得不能说太久,直接以分页管理来说明。页表在哪,怎么得到?现在如果系统中磁盘被大文件占满,怎么查找大文件并删除?linux内存管理的slab算法知道吗?四、计算机网络首先提问网络方面你哪些方面知道的多?http1.0,1.1. 2.0, 3.0的区别?TCP Tahoe 和TCP Reno拥塞控制算法知道吗?前面说不了解,补充了拥塞控制算法的四个过程?ip包重组的过程怎么知道网络包要不要交付二层还是三层?交换机怎么区分二层转发和三层转发?vlan知道吗?netlink听说过吗?

                                                                                                                                                                                                                                                  没有手撕,没有反问。。。感觉要寄

                                                                                                                                                                                                                                                  131

                                                                                                                                                                                                                                                  [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KwFp5KoA-1677410119299)(D:\books\pics\5.png)]

                                                                                                                                                                                                                                                  132

                                                                                                                                                                                                                                                  字节网络开发——系统架构面经

                                                                                                                                                                                                                                                  7.22一面

                                                                                                                                                                                                                                                  项目:

                                                                                                                                                                                                                                                  介绍下项目,交流下他们部门主要做的,好像有重合,但是做的不太一样(网络监控、流量调度),流长对应到的实际问题场景是什么

                                                                                                                                                                                                                                                  C++

                                                                                                                                                                                                                                                  • new和malloc的区别。延申问了vector中的allocator。

                                                                                                                                                                                                                                                  • vector是怎么开辟空间的,适用什么场景。

                                                                                                                                                                                                                                                  • map和set的底层以及区别。

                                                                                                                                                                                                                                                  • 动态链接库和静态链接库的区别,在实际应用中如何考虑,一般情况下内存充足,保证应用程序时间响应

                                                                                                                                                                                                                                                    操作系统

                                                                                                                                                                                                                                                  • 进程 线程 协程区别。延申讲到Go语言实现协程*****(那会已经听不太懂了)

                                                                                                                                                                                                                                                  • 异步I/O与同步,I/O复用,写时复制

                                                                                                                                                                                                                                                  • 现在内存大小16G,malloc(10G),会发生什么,如果现在再加一条语句给这些内存赋初值,又会发生什么

                                                                                                                                                                                                                                                  • 操作系统内存的结构:五大部分。(我答了,但是面试官好像问的是要继续深入???进程调用时,内存的情况,用户态、内核态,没太听懂他要说啥了)

                                                                                                                                                                                                                                                    计算机网络

                                                                                                                                                                                                                                                  • ping工作原理

                                                                                                                                                                                                                                                  • TCP如何保证可靠传输

                                                                                                                                                                                                                                                  • 在建立三次连接时,如果某个报文丢失了,会发生什么

                                                                                                                                                                                                                                                  • 超时重传,超时重传的时间是怎么设置的

                                                                                                                                                                                                                                                  • 什么是TCP粘包和拆包

                                                                                                                                                                                                                                                  • TCP是面向字节流的,那么一个消息在多个报文中,怎么来恢复这个消息

                                                                                                                                                                                                                                                  • 流量控制和拥塞控制区别

                                                                                                                                                                                                                                                    手撕代码:160. 相交链表

                                                                                                                                                                                                                                                    7.28二面

                                                                                                                                                                                                                                                    可能是方向比较匹配,整个聊天也比较舒服,算是相互交流

                                                                                                                                                                                                                                                    • 介绍他本人(Google过来的)以及他们SDN团队(网络监控、网络告警、网络诊断、网络安全、网络仿真)
                                                                                                                                                                                                                                                    • 讲项目,P4、分布测量、爬虫,处理速度有没有评估过
                                                                                                                                                                                                                                                    • 常见的路由协议
                                                                                                                                                                                                                                                    • 手撕:翻转数组里面出现的质数
                                                                                                                                                                                                                                                    • 问环节:继续问他们所负责的方向,结合实验室正在做的交流了一下

                                                                                                                                                                                                                                                      8.3三面

                                                                                                                                                                                                                                                      项目:30分钟

                                                                                                                                                                                                                                                      • 主要的问题场景,吹就行,DDoS啥的都能干

                                                                                                                                                                                                                                                      • 在实际场景中,P4交换机难以部署(更换成本大),传统的方法可能侧重于将报文镜像到高性能服务器做分析,怎么去考虑这个问题。答:P4交换机侧重于做在线实时过滤,相比于直接镜像,减少大量工作量,吹就行。

                                                                                                                                                                                                                                                      • Datacon比赛,关注点在数据集的大小

                                                                                                                                                                                                                                                      • 职业规划

                                                                                                                                                                                                                                                      • 手撕:25分钟

                                                                                                                                                                                                                                                      • 代码改错,迭代器相关,迭代时,找到相对应的元素就删除,迭代器会失效

                                                                                                                                                                                                                                                      • 手写实现平方根运算,会不会不收敛,复杂度之类的

                                                                                                                                                                                                                                                        交流环节:5分钟

                                                                                                                                                                                                                                                      • 还投了哪些公司

                                                                                                                                                                                                                                                        8.15HR面

                                                                                                                                                                                                                                                      • base 工作方向 有没有投其他公司 会不会继续投别的公司

                                                                                                                                                                                                                                                      • 字节文化的介绍

                                                                                                                                                                                                                                                      • 一周后给结果

                                                                                                                                                                                                                                                        今年形势不好,祝大家都有满意的offer!!!

                                                                                                                                                                                                                                                        133

                                                                                                                                                                                                                                                        字节 系统架构 提前批 二面

                                                                                                                                                                                                                                                        一面:

                                                                                                                                                                                                                                                        \1. http三次握手,状态码,交互细节。

                                                                                                                                                                                                                                                        \2. 为什么要三次握手

                                                                                                                                                                                                                                                        \3. 四次挥手,状态码,传输细节,为什么握手要三次,挥手要四次

                                                                                                                                                                                                                                                        \4. 数据链路层怎么传输数据的,展开说说

                                                                                                                                                                                                                                                        \5. Arp协议中网关怎么去转换ip地址到对应MAC地址的

                                                                                                                                                                                                                                                        \6. 如果数据包不在当前子网内,怎么传输到目标子网网关的

                                                                                                                                                                                                                                                        \7. MySQL的行锁怎么实现的

                                                                                                                                                                                                                                                        \8. MySQL的事务,展开说说

                                                                                                                                                                                                                                                        \9. MySQL索引了解吗

                                                                                                                                                                                                                                                        \10. 索引是怎么实现的

                                                                                                                                                                                                                                                        \11. 索引有哪些,介绍下

                                                                                                                                                                                                                                                        \12. 联合索引中间可以有null值吗,为什么,测试过吗?

                                                                                                                                                                                                                                                        \13. B+树的特点,原理

                                                                                                                                                                                                                                                        \14. B+树索引和hash索引的区别,优劣

                                                                                                                                                                                                                                                        \15. 了解***锁吗

                                                                                                                                                                                                                                                        \16. MySQL怎么解决***锁的

                                                                                                                                                                                                                                                        \17. 平时遇到过***锁吗,怎么解决的

                                                                                                                                                                                                                                                        \18. JVM的垃圾清除说一下

                                                                                                                                                                                                                                                        \19. 垃圾清除算法有哪些,介绍下

                                                                                                                                                                                                                                                        \20. 知道的垃圾收集器有些什么

                                                                                                                                                                                                                                                        \21. 垃圾的判断方法,引用计数法为什么用的没有GCRoot的多,缺点是什么,为什么

                                                                                                                                                                                                                                                        \22. 平时测试过JVM的垃圾清除吗

                                                                                                                                                                                                                                                        \23. Redis的了解,介绍下

                                                                                                                                                                                                                                                        \24. Redis的持久化机制

                                                                                                                                                                                                                                                        \25. redis怎么实现持久化的

                                                                                                                                                                                                                                                        \26. 算法题:删除链表的倒数第k个节点

                                                                                                                                                                                                                                                        总结:完全没有问项目问题,计算机网络部分问的特别细!***问我数据链路层的传输原理,答得磕磕绊绊,有好些题都没有答得很好,算法题倒是挺简单的,最后反问,面试官说我答得挺好的,但有些地方细节上还需要再学习优化下。

                                                                                                                                                                                                                                                        希望可以收到二面的通知!!!

                                                                                                                                                                                                                                                        二面: 一共1h20min,先是聊项目。

                                                                                                                                                                                                                                                        \1. Redis跳表怎么设计实现

                                                                                                                                                                                                                                                        \2. Redis的持久化

                                                                                                                                                                                                                                                        \3. Redis崩溃后怎么恢复数据,介绍下恢复的过程

                                                                                                                                                                                                                                                        \4. Redis的字符串底层数据结构实现

                                                                                                                                                                                                                                                        \5. Redis怎么对字符串进行管理

                                                                                                                                                                                                                                                        \6. 数据库的索引原理

                                                                                                                                                                                                                                                        \7. tcp的状态机,详细介绍

                                                                                                                                                                                                                                                        \8. http1/2/3介绍

                                                                                                                                                                                                                                                        \9. http和https的区别

                                                                                                                                                                                                                                                        \10. 介绍下SSL(上面提到了)

                                                                                                                                                                                                                                                        \11. 接触过网络编程吗,介绍下

                                                                                                                                                                                                                                                        \12. select,poll,epoll介绍下

                                                                                                                                                                                                                                                        \13. 你提到了select有长度限制,那长度超过了怎么办,为什么会限制成 1024个

                                                                                                                                                                                                                                                        \14. io多路复用介绍下

                                                                                                                                                                                                                                                        \15. 介绍下红黑树,插入过程说一下呢

                                                                                                                                                                                                                                                        \16. 以tcp连接过程为例,介绍下Socket编程过程中用到的api

                                                                                                                                                                                                                                                        \17. 三次握手发生在哪个api调用的阶段

                                                                                                                                                                                                                                                        \18. 具体哪两个api之间发生三次握手

                                                                                                                                                                                                                                                        \19. 介绍下拥塞控制算法

                                                                                                                                                                                                                                                        \20. 基于什么样的场景判断发生拥塞了

                                                                                                                                                                                                                                                        \21. 为什么要用三个连续重复确认是发生轻微拥塞(上面提到了)

                                                                                                                                                                                                                                                        \22. udp了解吗,说下udp和tcp的区别

                                                                                                                                                                                                                                                        \23. 从udp和tcp的数据包头来说下区别呢

                                                                                                                                                                                                                                                        \24. 操作系统的进程和线程,从底层分析下区别

                                                                                                                                                                                                                                                        \25. 进程间的通信方式

                                                                                                                                                                                                                                                        \26. 管道通信说一下

                                                                                                                                                                                                                                                        \27. 消息队列,说一下你的了解

                                                                                                                                                                                                                                                        \28. posix详细说说

                                                                                                                                                                                                                                                        \29. 共享内存说下呢,期间会用到哪些具体的linux api呢

                                                                                                                                                                                                                                                        \30. Linux的***锁说下,怎么解决***锁

                                                                                                                                                                                                                                                        算法题 :二叉树的序列化和反序列化

                                                                                                                                                                                                                                                        总结:问的很细,网络编程中间的好多api我只是粗略的了解过,答得不好,最后算法题做的也不好,虽然做出来了,但过程有点曲折,就很离谱,给个数组,要我自己建树,然后序列化,再输出数组。

                                                                                                                                                                                                                                                        134

                                                                                                                                                                                                                                                        23届秋招字节一面

                                                                                                                                                                                                                                                        数据库的隔离级别 具体问题 解决方案

                                                                                                                                                                                                                                                        乐观锁 悲观锁 自己设计实现

                                                                                                                                                                                                                                                        mysql的自增id是严格自增的吗?

                                                                                                                                                                                                                                                        服务器A向B发包 如果遇到网络阻塞都会发生什么

                                                                                                                                                                                                                                                        Java中String StringBuffer StringBulider 都有什么区别

                                                                                                                                                                                                                                                        自己设计一个深clone 说了一下思路 不会写。

                                                                                                                                                                                                                                                        算法 : 都是lc原题

                                                                                                                                                                                                                                                        旋转数组搜索

                                                                                                                                                                                                                                                        括号生成

                                                                                                                                                                                                                                                        一共大概就这么点问题 只有30min

                                                                                                                                                                                                                                                        感觉答的都还可以啊 聊的挺深的 除了深clone没写出来以外 算法都写出来了。

                                                                                                                                                                                                                                                        面这么短时间是被刷kpi了吗

                                                                                                                                                                                                                                                        135

                                                                                                                                                                                                                                                        字节跳动后端开发一面面经

                                                                                                                                                                                                                                                        #字节跳动后端开发面经# #一面面经#

                                                                                                                                                                                                                                                        2022.8.17 14:00-15:30

                                                                                                                                                                                                                                                        ## 项目相关

                                                                                                                                                                                                                                                        \1. 为什么要做这个项目?

                                                                                                                                                                                                                                                        \2. 我看别人有做聊天室的项目,你怎么不做那个项目?

                                                                                                                                                                                                                                                        \3. epoll它的工作原理(具体过程)

                                                                                                                                                                                                                                                        \4. epoll、select、poll的区别

                                                                                                                                                                                                                                                        \5. 说了select线性表要从用户态复制到内核态,具体怎么复制的(用户态复制到内核态的过程)

                                                                                                                                                                                                                                                        ## 进程和线程

                                                                                                                                                                                                                                                        \1. 进程、线程、协程的概念

                                                                                                                                                                                                                                                        \2. 系统创建进程的时候会给进程分配哪些资源(内存空间、文件描述符表)

                                                                                                                                                                                                                                                        \3. 线程中包含哪些资源(线程占用进程的内存空间、有自己的线程栈)

                                                                                                                                                                                                                                                        \4. 如果线程栈溢出的话,怎么发现

                                                                                                                                                                                                                                                        (用什么工具检查内存溢出,只说了valgrind,问有没有其他)

                                                                                                                                                                                                                                                        \5. 线程的资源怎么回收

                                                                                                                                                                                                                                                        (一整个说错,说成wait_pid进程回收了?)

                                                                                                                                                                                                                                                        \6. 怎么看进程当中有哪些线程(语句)

                                                                                                                                                                                                                                                        \7. 怎么查看网络的状态(netstat),如果只想看close_wait状态的连接(netstat -),并且关闭这些连接怎么办?

                                                                                                                                                                                                                                                        我说的RST,面试官说RST一个个来不够高效

                                                                                                                                                                                                                                                        ## 计网

                                                                                                                                                                                                                                                        \1. HTTP协议状态码 500 501 502 503 504分别代表什么?可以举出具体场景嘛?

                                                                                                                                                                                                                                                        \2. 说一说四次挥手的整个过程,主动关闭方、被动关闭方 Time_wait 有2MSL ,为什么(两个理由)

                                                                                                                                                                                                                                                        \3. 当存在大量close_wait的连接时怎么处理?

                                                                                                                                                                                                                                                        ## Mysql

                                                                                                                                                                                                                                                        \1. 什么是聚类索引和非聚类索引

                                                                                                                                                                                                                                                        \2. InooDB 为什么要使用聚类索引?

                                                                                                                                                                                                                                                        为了查询效率

                                                                                                                                                                                                                                                        \3. 什么是 InooDB里面的联合索引?

                                                                                                                                                                                                                                                        \4. 给出一个表A 有a1~a5 个列,联合索引(a2,a1)

                                                                                                                                                                                                                                                        select a5 from A where a2=1 and a1=2

                                                                                                                                                                                                                                                        ( 请问用到联合索引了嘛? 它的具体过程呢,怎么回的表)

                                                                                                                                                                                                                                                        ## 编程题

                                                                                                                                                                                                                                                        滑动窗口

                                                                                                                                                                                                                                                        给定一个s=abcabkbb 求最长的不重复的长度,这里是cabk 4

                                                                                                                                                                                                                                                        acm编程,小bug没有挑出来

                                                                                                                                                                                                                                                        发面经攒人品

                                                                                                                                                                                                                                                        感悟:面试官人很好,我是fw,等感谢信ing

                                                                                                                                                                                                                                                        更新:一天后收到感谢信

                                                                                                                                                                                                                                                        136

                                                                                                                                                                                                                                                        被暴捶的字节提前批后端开发-data三面凉经

                                                                                                                                                                                                                                                        三面:一小时十分钟 已挂

                                                                                                                                                                                                                                                        项目:

                                                                                                                                                                                                                                                        1. 你对离线还是实时处理比较擅长
                                                                                                                                                                                                                                                        2. Spark 和 Flink 的区别
                                                                                                                                                                                                                                                        3. spark 使用的版本
                                                                                                                                                                                                                                                        4. 你用spark streaming 不用flink 最后项目的效果是怎么样的啊
                                                                                                                                                                                                                                                        5. 双流join 的具体过程。流A和 流B 具体用什么表示?join的时候如何判断两个同时存在
                                                                                                                                                                                                                                                        6. Kafka 如何实现消息的有序消费?(指定partition或指定key)
                                                                                                                                                                                                                                                        7. 指定partition的话,如果发生了数据倾斜,一个key 的数据全发到了一个partition会出现什么问题 不会
                                                                                                                                                                                                                                                        8. 我回答会造成OOM,突然想到Kafka 数据是落在磁盘的。答什么内存溢出啊。追问:为什么会内存溢出?不知道,答得可能磁盘会满。
                                                                                                                                                                                                                                                        9. 那怎么解决这种造成的Kafka 的倾斜问题?不会
                                                                                                                                                                                                                                                        10. Kafka 同步消费和异步消费知道吗?
                                                                                                                                                                                                                                                        11. 说一下Kafka 的分区是如何进行leader election 的?
                                                                                                                                                                                                                                                        12. 说一下Kafka 如何实现高吞吐?
                                                                                                                                                                                                                                                        13. 说一下零拷贝技术?说一下传统 IO 四步操作?

                                                                                                                                                                                                                                                        做题:

                                                                                                                                                                                                                                                        题干:Atoi 实现 public static long valueOf(String str)

                                                                                                                                                                                                                                                        注意以下几个点:

                                                                                                                                                                                                                                                        - 异常处理(RuntimeException),

                                                                                                                                                                                                                                                        - 状态机

                                                                                                                                                                                                                                                        - MIN_VALUE,MAX_VALUE处理

                                                                                                                                                                                                                                                        追问:这个方法是线程安全的吗?一开始回答的是需要加synchronized关键字,后来改口String不可变变量线程安全。好像答的不对。有人知道怎么答麻烦告知一下。

                                                                                                                                                                                                                                                        追问:synchronized 对静态方法加锁是怎么实现的?说下内部原理?不会 有人知道这个怎么回答吗?

                                                                                                                                                                                                                                                        八股:

                                                                                                                                                                                                                                                        栈里面可以有对象吗?不会

                                                                                                                                                                                                                                                        虚拟机栈里面存的是什么?

                                                                                                                                                                                                                                                        如何判断对象可回收?

                                                                                                                                                                                                                                                        GC Roots 有哪些?

                                                                                                                                                                                                                                                        场景题目:

                                                                                                                                                                                                                                                        设计一个缓存系统,10万条 存到五台机器上如何设计?呵呵,这是让我从头设计一个Redis吗?

                                                                                                                                                                                                                                                        我说可以用Redis 的集群实现。面试官说,别用Redis,自己设计一个。

                                                                                                                                                                                                                                                        我:先说的按照range 分到五台上,对于数据倾斜的加上随机数在存到五台机器上

                                                                                                                                                                                                                                                        面试官:我想得到一个key,怎么知道去哪台机器上拿?如何拿到?我模拟 namenode 说的记录key和所在的块的位置,面试官给否了

                                                                                                                                                                                                                                                        我:再挣扎一下,给自己挖个大坑。我觉得也可以用哈希把key 分散到五台机器上

                                                                                                                                                                                                                                                        面试官:那再加上一个机器不就是要rehash了吗? Rehash 你打算如何去解决?不会

                                                                                                                                                                                                                                                        面试官:行吧,那先这样,如果一台机器宕机了咋办

                                                                                                                                                                                                                                                        我:我觉得可以多副本,然后一个副本放在本机,另外两个放到其他的两个机器上

                                                                                                                                                                                                                                                        面试官:你还没有回答我怎么去找到缓存的key啊

                                                                                                                                                                                                                                                        我:我好像理解成设计分布式文件系统了,要的是设计cache。

                                                                                                                                                                                                                                                        时间到了,就这样吧。大家知道这道场景题怎么答吗?蹲一蹲

                                                                                                                                                                                                                                                        反问:

                                                                                                                                                                                                                                                        新人培养机制:面试官吹了一波字节平台好,场景多,业务线多,锻炼人适合应届生。

                                                                                                                                                                                                                                                        对我有啥建议:建议好好享受学校生活,有时间多出去玩

                                                                                                                                                                                                                                                        总结:

                                                                                                                                                                                                                                                        首先,有兄弟知道项目部分中中7,8,9如何去解决Kafka 的倾斜问题的?能不能在评论区里贴一下答案,谢谢!

                                                                                                                                                                                                                                                        这次面试暴露出自己看八股不仔细,重点知识没研究透。还有自己项目里面的细节,要给别人讲的项目重难点没有彻底搞明白很被动。发下凉经攒攒人品,继续加油加油加油!!!

                                                                                                                                                                                                                                                        137

                                                                                                                                                                                                                                                        字节提前批后端123面+hr面面经

                                                                                                                                                                                                                                                        一面 220728

                                                                                                                                                                                                                                                        做题

                                                                                                                                                                                                                                                        剑指 Offer II 026. 重排链表

                                                                                                                                                                                                                                                        操作系统

                                                                                                                                                                                                                                                        进程与线程是什么,区别和联系

                                                                                                                                                                                                                                                        进程间通信方式有哪些,用过哪些

                                                                                                                                                                                                                                                        了解虚拟内存吗?说一下虚拟内存的好处和解决哪些问题

                                                                                                                                                                                                                                                        介绍一下主从Reactor

                                                                                                                                                                                                                                                        linux看CPU、看内存、看网络、看磁盘的命令分别是什么

                                                                                                                                                                                                                                                        linux如何寻找大文件[gg]

                                                                                                                                                                                                                                                        git命令都有哪些,大体介绍一下

                                                                                                                                                                                                                                                        计网

                                                                                                                                                                                                                                                        说一下分层,每一层干啥的有啥协议

                                                                                                                                                                                                                                                        TCP协议和UDP协议的报文中都有哪些东西

                                                                                                                                                                                                                                                        TCP协议里面的seqNum是怎么初始化的

                                                                                                                                                                                                                                                        HTTP协议 一共有多少种

                                                                                                                                                                                                                                                        HTTP状态码有哪些

                                                                                                                                                                                                                                                        HTTPS协议握手过程

                                                                                                                                                                                                                                                        Redis

                                                                                                                                                                                                                                                        redis的rbd和aof的文件存储格式

                                                                                                                                                                                                                                                        redis如何实现主从同步

                                                                                                                                                                                                                                                        redis rdb的时候发生了啥 写时复制机制

                                                                                                                                                                                                                                                        redis 怎么查大key

                                                                                                                                                                                                                                                        项目

                                                                                                                                                                                                                                                        略,就是让我介绍一下,没深入问

                                                                                                                                                                                                                                                        总结

                                                                                                                                                                                                                                                        比较注重操作系统计网

                                                                                                                                                                                                                                                        二面 220802

                                                                                                                                                                                                                                                        八股

                                                                                                                                                                                                                                                        unicode和ascii的区别

                                                                                                                                                                                                                                                        utf8和unicode

                                                                                                                                                                                                                                                        java注解用过吗,怎么用的

                                                                                                                                                                                                                                                        用过什么rpc框架,大概说一说

                                                                                                                                                                                                                                                        TCP和UDP都适合什么场景

                                                                                                                                                                                                                                                        HTTP3为什么用UDP

                                                                                                                                                                                                                                                        java注解了解吗, @Target和@Retention都是干什么的

                                                                                                                                                                                                                                                        写一个简单的SQL: 将表中所有id>3的数据的名字更新为张三

                                                                                                                                                                                                                                                        java GC: 新生代老年代、可达性分析、三种清除

                                                                                                                                                                                                                                                        java8默认的垃圾收集器

                                                                                                                                                                                                                                                        java的容器类,大体介绍一下

                                                                                                                                                                                                                                                        ArrayList和LinkedList的底层实现

                                                                                                                                                                                                                                                        HashMap和TreeMap的底层实现

                                                                                                                                                                                                                                                        做题

                                                                                                                                                                                                                                                        leetcode 70. 爬楼梯

                                                                                                                                                                                                                                                        leetcode 25 k个一组翻转链表

                                                                                                                                                                                                                                                        实习

                                                                                                                                                                                                                                                        简略的问了下

                                                                                                                                                                                                                                                        总结

                                                                                                                                                                                                                                                        面试官很和蔼,做题的时候会尝试让你想出多个解法

                                                                                                                                                                                                                                                        三面 220809

                                                                                                                                                                                                                                                        问题

                                                                                                                                                                                                                                                        让你去设计一个可靠的通信协议你去怎么设计

                                                                                                                                                                                                                                                        HTTP3的新特性

                                                                                                                                                                                                                                                        HTTP2的新特性

                                                                                                                                                                                                                                                        数据库索引了解吗

                                                                                                                                                                                                                                                        数据库联合索引是啥

                                                                                                                                                                                                                                                        最左前缀原则: 一个sql题,给你一张表还有几个语句,判断走不走索引

                                                                                                                                                                                                                                                        数据库事务了解吗

                                                                                                                                                                                                                                                        Mysql怎么实现的可重复读

                                                                                                                                                                                                                                                        undolog里面具体存的啥

                                                                                                                                                                                                                                                        项目一(我把一些与项目无关的问题放到这了)

                                                                                                                                                                                                                                                        raft协议当时是怎么搭建的

                                                                                                                                                                                                                                                        最开始怎么选举

                                                                                                                                                                                                                                                        选举完了命令传播怎么传播

                                                                                                                                                                                                                                                        commitid applyId都是干啥的

                                                                                                                                                                                                                                                        如果从节点挂了会怎么样

                                                                                                                                                                                                                                                        如果主节点挂了怎么开启新的选举

                                                                                                                                                                                                                                                        这个项目遇到的难点

                                                                                                                                                                                                                                                        项目二(我把一些与项目无关的问题放到这了)

                                                                                                                                                                                                                                                        redis 渐进式rehash

                                                                                                                                                                                                                                                        redis rdb写时复制

                                                                                                                                                                                                                                                        为啥项目里要用netty

                                                                                                                                                                                                                                                        netty比javaNIO好在哪

                                                                                                                                                                                                                                                        为啥用protobuf,比json好在哪里

                                                                                                                                                                                                                                                        总结

                                                                                                                                                                                                                                                        较长的时间都是在问项目,会让我比较项目中与实际工业界的项目有哪些不足,有没有优化思路

                                                                                                                                                                                                                                                        面试官比较和蔼,会跟我探讨和提醒

                                                                                                                                                                                                                                                        四面hr面 220810

                                                                                                                                                                                                                                                        平时怎么学习技术

                                                                                                                                                                                                                                                        家是哪的,未来想去哪里工作

                                                                                                                                                                                                                                                        可以来实习吗

                                                                                                                                                                                                                                                        为什么选择做后端

                                                                                                                                                                                                                                                        。。。

                                                                                                                                                                                                                                                        还有几个忘了

                                                                                                                                                                                                                                                        意向书 220817

                                                                                                                                                                                                                                                        从6月21号放暑假复习到今天基本一天没歇,感谢字节给我校招的第一份offer!!!

                                                                                                                                                                                                                                                        138

                                                                                                                                                                                                                                                        字节跳动提前批 面经(已意向)

                                                                                                                                                                                                                                                        更新

                                                                                                                                                                                                                                                        一周又一周,本来说上周三出结果,到这周还没,我感觉要凉了,无限的审批中

                                                                                                                                                                                                                                                        9.1更新,两周啦,️

                                                                                                                                                                                                                                                        9.2更新,hr打电话说下周出结果

                                                                                                                                                                                                                                                        9.6更新,昨天中午社招官网状态变成面试已完成,今天收到意向书

                                                                                                                                                                                                                                                        前言

                                                                                                                                                                                                                                                        因为一直在实习,没投提前批,看着字节提前批快结束了,就投了简历,互娱研发,后端开发,然后第二天就发邮件选面试时间

                                                                                                                                                                                                                                                        一面

                                                                                                                                                                                                                                                        没问项目,没问实习经历,只问了一些基础

                                                                                                                                                                                                                                                        1. ArrayList和LinkedList的区别,设计一种数据结构能够结合这两种结构的优点
                                                                                                                                                                                                                                                        2. Java所有类都有一个共同的父类是什么,那个类有什么方法
                                                                                                                                                                                                                                                        3. hashcode和equals的关系是什么
                                                                                                                                                                                                                                                        4. 工作中哪里用到了hash
                                                                                                                                                                                                                                                        5. 项目中的JVM用的是什么回收器
                                                                                                                                                                                                                                                        6. 介绍一下CMS回收器
                                                                                                                                                                                                                                                        7. 计算机基础课程熟悉哪些
                                                                                                                                                                                                                                                        8. 为什么三次握手是三次,四次挥手是四次
                                                                                                                                                                                                                                                        9. 介绍以下操作系统的内存管理
                                                                                                                                                                                                                                                        10. 什么是页面置换
                                                                                                                                                                                                                                                        11. 进程和线程的区别
                                                                                                                                                                                                                                                        12. 算法题1:原创的,类似组合总和2
                                                                                                                                                                                                                                                        13. 算法题2:二分找到有序数组中某个数最左边和最右边的位置

                                                                                                                                                                                                                                                        第二天早上十一点左右约了二面

                                                                                                                                                                                                                                                        二面

                                                                                                                                                                                                                                                        二面比较难,问了很多场景设计、系统设计的问题,由于比较有针对性,我就不详细描述了,大概就是让我现场设计一个系统,从接口、数据存储、前端等等方面都要设计,考的是平时的积累和代码习惯

                                                                                                                                                                                                                                                        还有写sql,也没写出来,就说了一下思路,是那种很具体场景下的sql

                                                                                                                                                                                                                                                        算法题,是之前没见过的,返回比目标数最大的最小的数,说思路说了一二十分钟,写代码写个半个小时

                                                                                                                                                                                                                                                        项目里做过最有挑战的地方是什么

                                                                                                                                                                                                                                                        面试结束前问了几句八股:

                                                                                                                                                                                                                                                        • 什么是用户态和内核态
                                                                                                                                                                                                                                                        • 什么情况下会导致用户态切换到内核态
                                                                                                                                                                                                                                                        • 系统调用是什么

                                                                                                                                                                                                                                                          问的都是比较灵活的问题,面完觉得自己要凉了,第二天早上十一点左右发邮件约的三面

                                                                                                                                                                                                                                                          三面

                                                                                                                                                                                                                                                          三面是主管面,感觉气氛有点沉默,面试官一直在思考要问我什么,哈哈

                                                                                                                                                                                                                                                          1. 堆和栈的区别是什么?gg
                                                                                                                                                                                                                                                          2. 平时工作中用到了什么设计模式,我说策略模式,面试官:手写一个策略模式吧。gg
                                                                                                                                                                                                                                                          3. mysql调优的经验
                                                                                                                                                                                                                                                          4. 多线程间的同步
                                                                                                                                                                                                                                                          5. tcp和udp的区别
                                                                                                                                                                                                                                                          6. tcp的拥塞控制
                                                                                                                                                                                                                                                          7. 你的优点是什么
                                                                                                                                                                                                                                                          8. 一道智力题
                                                                                                                                                                                                                                                          9. 你需要改进的地方是什么(没答上来,确实想不起来)
                                                                                                                                                                                                                                                          10. 算法题:k个一组反转链表
                                                                                                                                                                                                                                                          11. 未来一两年的职业规划

                                                                                                                                                                                                                                                          其他想不起来了,从二十分钟开始就一直在聊天,四十来分钟结束的,结束后一个多小时约了hr面

                                                                                                                                                                                                                                                          hr面

                                                                                                                                                                                                                                                          常见的hr面问题,十五分钟结束,现在等结果中

                                                                                                                                                                                                                                                          139

                                                                                                                                                                                                                                                          字节跳动后端开发面经(已意向)

                                                                                                                                                                                                                                                          内部员工回复

                                                                                                                                                                                                                                                          烫

                                                                                                                                                                                                                                                          先讲一下时间线吧,7.7号投递 -> 7.17一面 -> 7.21二面 -> 7.28三面 -> 8.2HR面 -> 8.13OC -> 8.15意向

                                                                                                                                                                                                                                                          因为楼主没有录屏,所以可能有些遗漏。

                                                                                                                                                                                                                                                          一面 7.17(60min)

                                                                                                                                                                                                                                                          一面的面试官给我留下了非常好的印象,面试开始时告诉我他有两个显示器,所以有时目光不会直视我,并且他会做一些必要的记录,如果我回答完他没有立即回应的话,希望我能理解。

                                                                                                                                                                                                                                                          1.自我介绍(介绍实习项目)

                                                                                                                                                                                                                                                          2.根据我的实习项目对我进行提问,问的较为仔细,需要对自己的项目有较深的理解

                                                                                                                                                                                                                                                          3.OSI7层网络了解吗?说说具体有哪些层,并且每一层起到什么作用?互相之间如何协作?

                                                                                                                                                                                                                                                          4.应用层,传输层,网络层,数据链路层都有哪些协议?它们都起到了什么作用?

                                                                                                                                                                                                                                                          5.MAC地址在传输过程中会改变吗?

                                                                                                                                                                                                                                                          6.CSMA/CD协议作用于哪一层?如何工作的?如何降低碰撞几率的?

                                                                                                                                                                                                                                                          7.TCP三次握手,四次挥手聊一聊?

                                                                                                                                                                                                                                                          8.进程,线程,协程了解吗?说说他们的特性和区别。

                                                                                                                                                                                                                                                          9.select,poll,epoll的区别?

                                                                                                                                                                                                                                                          10.进程间的通信方式有哪些?共享存储的优点和缺点分别是什么?消息队列与管道相比有什么优势?

                                                                                                                                                                                                                                                          11.JDK8默认使用的垃圾收集器有哪些?新生代为什么普遍采用复制算法?老年代为什么普遍采用标记清除算法?

                                                                                                                                                                                                                                                          12.虽迟但到的算法题环节:

                                                                                                                                                                                                                                                          (1)接雨水

                                                                                                                                                                                                                                                          (2)链表每k个进行反转

                                                                                                                                                                                                                                                          二面 7.21(70min)

                                                                                                                                                                                                                                                          1.自我介绍(介绍实习项目)

                                                                                                                                                                                                                                                          2.也是针对项目进行提问,相较于一面更为深入,例如会问为什么选择使用这项技术?有没有和其他技术进行过对比?可扩展性如何?

                                                                                                                                                                                                                                                          3.TCP和UDP区别是什么?TCP依据什么来保证可靠性?TCP是面向什么进行传输?

                                                                                                                                                                                                                                                          4.HTTPS和HTTP的区别?HTTPS协议链接建立流程是什么?HTTPS中的S代表什么?介于拿两层之间起作用?对于应用层透明吗?

                                                                                                                                                                                                                                                          5.数据链路层为网络层提供了哪些服务?ARP协议是哪一层的协议?

                                                                                                                                                                                                                                                          6.ICMP报文能起到哪些作用?分别是如何起作用的?

                                                                                                                                                                                                                                                          7.虚拟内存了解吗?有什么作用?

                                                                                                                                                                                                                                                          8.讲讲请求分段,请求分页,请求段页的实现方式及使用场景

                                                                                                                                                                                                                                                          9.请求分页的具体工作流程能不能讲讲呢?页面置换算法有哪些?(其中我说了LRU,结果后面算法题出的就是LRU)

                                                                                                                                                                                                                                                          11.你平时喜欢使用什么关系型数据库呢?(回答的是mysql)

                                                                                                                                                                                                                                                          12.mysql一般使用哪些引擎呢?

                                                                                                                                                                                                                                                          13.Innodb和myisam的区别是什么呢?哪种情况下该使用innodb,哪种情况下使用myisam呢?为什么?

                                                                                                                                                                                                                                                          14.当查询数据库时使用limit 10000,10有什么弊端?有什么好的解决方案吗?

                                                                                                                                                                                                                                                          15.什么时候索引会失效?能够使用>和>=的时候你会使用哪一个?为什么?

                                                                                                                                                                                                                                                          16.当查询条件有xx == null 时索引一定会失效吗?

                                                                                                                                                                                                                                                          17.执行计划了解吗?

                                                                                                                                                                                                                                                          18.智力题

                                                                                                                                                                                                                                                          有36匹马,6赛道,每条赛道之间的名次不可知,只能获知单条赛道马的名次,问最少比多少次能知道前三名?

                                                                                                                                                                                                                                                          19.算法题

                                                                                                                                                                                                                                                          (1)LRU(后面又让改成带过期时间的LRU,我使用的惰性删除)

                                                                                                                                                                                                                                                          (2)查找旋转数组(时间复杂度要求O(logn))

                                                                                                                                                                                                                                                          三面 7.28(70min)

                                                                                                                                                                                                                                                          前两面面试官询问Java方面的知识点比较少,三面面试官问的比较多

                                                                                                                                                                                                                                                          1.自我介绍(介绍实习项目)

                                                                                                                                                                                                                                                          2.针对实习项目和简历中的项目展开地毯式考察(花费大概25min)

                                                                                                                                                                                                                                                          3.HashMap如何是如何实现的呢?JDK8HashMap的散列算法能不能从源码层面来介绍一下?为什么扩容是两倍呢?自己手写实现过HashMap吗?

                                                                                                                                                                                                                                                          4.我看之前答垃圾收集器答的蛮好的,你能介绍一下CMS垃圾收集器的优缺点吗?为什么CMS会将serial old作为后备垃圾回收器?

                                                                                                                                                                                                                                                          5.对象只会被分配到堆吗?(答:不是,还有可能会栈上分配)

                                                                                                                                                                                                                                                          6.什么时候会进行栈上分配?

                                                                                                                                                                                                                                                          7.ThreadLocal的作用?如何实现?会不会出现内存泄漏?如何避免内存泄漏?

                                                                                                                                                                                                                                                          8.Spring AOP 的作用?如何实现的?

                                                                                                                                                                                                                                                          9.Spring 自动注入如何实现?(这个涉及的方面就比较多,讲了好久)

                                                                                                                                                                                                                                                          10.了解SSD的原理吗?(答:不知道,只知道磁盘,所以就讲了下磁盘存储原理和寻道算法)

                                                                                                                                                                                                                                                          11.操作系统是如何判定内存访问越界的?

                                                                                                                                                                                                                                                          12.访问越界后操作系用会如何进行处理?

                                                                                                                                                                                                                                                          13.用户态转换到核心态的过程?

                                                                                                                                                                                                                                                          14.进程切换过程?线程切换过程?

                                                                                                                                                                                                                                                          15.当我们ping的时候发送的是什么包?

                                                                                                                                                                                                                                                          16.TCP协议头部长度是使用哪个字段?如何计算的?

                                                                                                                                                                                                                                                          17.TCP如何实现流量控制和拥塞控制?

                                                                                                                                                                                                                                                          18.TCP的滑动窗口移动流程你能具体讲讲吗?

                                                                                                                                                                                                                                                          19.当我们输入一个SQL查询语句时,mysql数据库引擎是如何执行并得到最终结果的?(答:先查询缓存->解析器->优化器)

                                                                                                                                                                                                                                                          20.智力题

                                                                                                                                                                                                                                                          (1) 一个桶能存储5升水,一个桶能存储3升水,如何操作能量出4升水?

                                                                                                                                                                                                                                                          (2)两根质地不均匀的木头,从一端烧到另一端需要60分钟,如何操作能准确量出15分钟?

                                                                                                                                                                                                                                                          21.算法题

                                                                                                                                                                                                                                                          你之前说了解析器,那我现场出一道算法题吧,我会输入一个SQL语句,你需要将where后面的查询条件解析为一棵规则树

                                                                                                                                                                                                                                                          例如:where (a == b and c == d) or (e == f or (g == h))

                                                                                                                                                                                                                                                          我需要生成一棵树,结构为

                                                                                                                                                                                                                                                          or

                                                                                                                                                                                                                                                          - and

                                                                                                                                                                                                                                                          - a == b

                                                                                                                                                                                                                                                          - c == d

                                                                                                                                                                                                                                                          - or

                                                                                                                                                                                                                                                          - e == f

                                                                                                                                                                                                                                                          - g == h

                                                                                                                                                                                                                                                          楼主运气比较好,肌肉记忆写出来了,面试官几个测试用例也通过了,算是有惊无险。

                                                                                                                                                                                                                                                          HR面 8.2 (30min)

                                                                                                                                                                                                                                                          询问实习期间的挑战和解决问题的思路,就拉拉家常,如实回答就好~。

                                                                                                                                                                                                                                                          HR面完后,HR加了我微信,长达11天的审批流程后终于OC。

                                                                                                                                                                                                                                                          总结

                                                                                                                                                                                                                                                          总的来说,字节跳动后端开发考察具体语言知识是比较少的,计算机网络,操作系统原理考察的比较多。智力题也会进行考察可以事先准备下。算法题我的体验是每面都有一道Hard,不过是比较常见的(除了最后一面)。

                                                                                                                                                                                                                                                          面试体验也十分的好,可能是我运气好,没有遇到故意刁难的面试官,特别是最后一面的面试官,一直在呵呵的笑(很友善),搞得我也一直在笑,哈哈。

                                                                                                                                                                                                                                                          今年秋招十分的不容易,希望这篇面经能帮助到大家~

                                                                                                                                                                                                                                                          对了,楼主base成都

                                                                                                                                                                                                                                                          140

                                                                                                                                                                                                                                                          字节跳动飞书提前批二面

                                                                                                                                                                                                                                                          \1. 问项目

                                                                                                                                                                                                                                                          \2. 进程间通信的方式

                                                                                                                                                                                                                                                          \3. 信号量是什么

                                                                                                                                                                                                                                                          \4. 共享内存是什么

                                                                                                                                                                                                                                                          \5. 用过共享内存吗,接口是什么

                                                                                                                                                                                                                                                          \6. 全局变量放在头文件还是cpp文件

                                                                                                                                                                                                                                                          \7. #define的作用是什么

                                                                                                                                                                                                                                                          \8. unorderedmap原理

                                                                                                                                                                                                                                                          ----回答不出来开始问性格了

                                                                                                                                                                                                                                                          \9. 你觉着你自己有什么优点

                                                                                                                                                                                                                                                          \10. 你觉着你现在有什么缺点需要克服

                                                                                                                                                                                                                                                          \11. 你对去互联网公司和去车企国企有什么想法

                                                                                                                                                                                                                                                          算法:

                                                                                                                                                                                                                                                          给定一个不重复字符串m“abcd”,和一个字符串n“fdbsradcadcbewrfds”

                                                                                                                                                                                                                                                          从n中找出连续子串的开始下标,要求找出的连续子串中的字符和m中的字符一样,不要求顺序一样。如果找不到返回-1

                                                                                                                                                                                                                                                          (给十五分钟,飞书竟然还支持倒计时,十五分钟到了面试官就说看一看然后就开始说其他的了,没让我写完再运行,我是小垃圾,我没法十五分钟写完。)

                                                                                                                                                                                                                                                          准备的java让我面c++那我不铁定挂,啧,秋招运气不好的事情也太多了吧。

                                                                                                                                                                                                                                                          141

                                                                                                                                                                                                                                                          字节Pico后端面经

                                                                                                                                                                                                                                                          一面

                                                                                                                                                                                                                                                          Http状态码:301 302 304 403 499 502 503

                                                                                                                                                                                                                                                          Http/1.1 http/2,https的传输过程

                                                                                                                                                                                                                                                          进程,线程区别,线程调度

                                                                                                                                                                                                                                                          进程内存模型

                                                                                                                                                                                                                                                          同步 阻塞 非阻塞

                                                                                                                                                                                                                                                          异步,以及它们的区别

                                                                                                                                                                                                                                                          Utf-8与unicode的区别

                                                                                                                                                                                                                                                          MySql的执行流程

                                                                                                                                                                                                                                                          Innodb的行锁是怎么实现的,

                                                                                                                                                                                                                                                          隔离级别

                                                                                                                                                                                                                                                          Limit分页的执行流程

                                                                                                                                                                                                                                                          一道sql(自连接)

                                                                                                                                                                                                                                                          一道算法(打家劫舍改编版)

                                                                                                                                                                                                                                                          二面(已凉)

                                                                                                                                                                                                                                                          项目交流

                                                                                                                                                                                                                                                          C++与Go语言的区别

                                                                                                                                                                                                                                                          C和C++的内存模型

                                                                                                                                                                                                                                                          栈和堆的区别

                                                                                                                                                                                                                                                          什么变了量会存栈里面,什么变量会存堆里面

                                                                                                                                                                                                                                                          静态对象放在什么区

                                                                                                                                                                                                                                                          C++代码从编写到最后执行的流程

                                                                                                                                                                                                                                                          C++里面怎么实现线程

                                                                                                                                                                                                                                                          网络分层以及代表协议

                                                                                                                                                                                                                                                          Mysql数据库的常用引擎以及它们的区别

                                                                                                                                                                                                                                                          为了保证网络接口的安全性,需要做哪些措施

                                                                                                                                                                                                                                                          代码题,K组翻转链表(全部写出来,定义数据结构,创建链表,然后链表翻转)

                                                                                                                                                                                                                                                          142

                                                                                                                                                                                                                                                          23字节校招后端凉经(一面,如有后续持续更新

                                                                                                                                                                                                                                                          面试概况

                                                                                                                                                                                                                                                          投递较早,投后半个月左右约面试,时间线较长。

                                                                                                                                                                                                                                                          曾经挂过一面,不清楚是否会有影响。

                                                                                                                                                                                                                                                          面试时间大约50分钟,用飞书面试,有手撕代码环节。

                                                                                                                                                                                                                                                          面试官算比较好说话,整体体验不错。

                                                                                                                                                                                                                                                          面试内容

                                                                                                                                                                                                                                                          十分钟左右简历+自我介绍,十分钟八股,二十五分钟做题,五分钟反问。

                                                                                                                                                                                                                                                          由于我是非科班,问了学过的课程、实习经历等。

                                                                                                                                                                                                                                                          八股题

                                                                                                                                                                                                                                                          • 实习项目用的什么数据库?(MySQL、Redis)
                                                                                                                                                                                                                                                          • MySQL和Redis特点、使用场景对比?
                                                                                                                                                                                                                                                          • 关系型和非关系型数据库对比?
                                                                                                                                                                                                                                                          • MySQL索引(类型,特点,使用场景),Redis索引?

                                                                                                                                                                                                                                                            算法

                                                                                                                                                                                                                                                            LC739: 每日温度。单调栈可解。一开始没想起来,给了提示。

                                                                                                                                                                                                                                                            反问

                                                                                                                                                                                                                                                            技术栈:Go相关内容(没展开讲)

                                                                                                                                                                                                                                                            面试反馈/评价:不能透露。

                                                                                                                                                                                                                                                            总的来说面得一般,算法写得比较慢+一开始没想起来,从反馈猜出来八成是凉了。后面继续努力吧。如果有后续再更新。

                                                                                                                                                                                                                                                            143

                                                                                                                                                                                                                                                            字节跳动 火山引擎 秋招 一面

                                                                                                                                                                                                                                                            2022.08.11 20:00

                                                                                                                                                                                                                                                            45分钟

                                                                                                                                                                                                                                                            1.介绍下你的秒杀系统,深挖redis,数据一致性,MQ消息可靠性

                                                                                                                                                                                                                                                            2.秒杀用户退款了怎么办

                                                                                                                                                                                                                                                            3.mysql的锁有哪些呀

                                                                                                                                                                                                                                                            4.简单介绍下堆和栈的区别

                                                                                                                                                                                                                                                            5.TCP三次握手

                                                                                                                                                                                                                                                            6.TCP怎么保证可靠

                                                                                                                                                                                                                                                            7.让你设计一个微信朋友圈的点赞功能,你怎么测试呢

                                                                                                                                                                                                                                                            8.算法题:字符串模式匹配,例如“aabb”匹配“北京 北京 杭州 杭州”,输出为True;“aabb”匹配“北京 北京 北京 北京”False

                                                                                                                                                                                                                                                            144

                                                                                                                                                                                                                                                            字节国际化电商 后端开发二面

                                                                                                                                                                                                                                                            1. 拥塞控制
                                                                                                                                                                                                                                                            2. 服务器挂掉了,客户端会怎么做
                                                                                                                                                                                                                                                            3. tcp三次握手和accept函数
                                                                                                                                                                                                                                                            4. 数据库隔离级别,脏读和幻读的区别
                                                                                                                                                                                                                                                            5. 虚拟内存、请求调页的具体过程
                                                                                                                                                                                                                                                            6. select语句的存储引擎执行过程
                                                                                                                                                                                                                                                            7. 算法:给定m个不重复字符。求一个字符串中刚好由这m个字符组成的连续子串的起始位置

                                                                                                                                                                                                                                                            145

                                                                                                                                                                                                                                                            字节国际化电商 后端开发一面面经

                                                                                                                                                                                                                                                            1. 项目难点、解决方案、如何应用在实际场景中
                                                                                                                                                                                                                                                            2. MySQL:读写分离的应用场景、主从复制的实现原理、慢查询优化、引擎、采用的索引
                                                                                                                                                                                                                                                            3. Redis:zset底层数据结构,使用场景(评论点赞)
                                                                                                                                                                                                                                                            4. 算法:一个先升序后降序的数组,求数组中不重复元素的个数:双指针,一个在头一个在尾,往中间移动。类似合并两个有序数组

                                                                                                                                                                                                                                                            146

                                                                                                                                                                                                                                                            字节提前批 AI LAB 后端开发 一面面经

                                                                                                                                                                                                                                                            面试官人很好!虽然我菜,但是聊的很开心(自以为

                                                                                                                                                                                                                                                            ———————— 面经—————

                                                                                                                                                                                                                                                            • 自我介绍
                                                                                                                                                                                                                                                            • 问答环节(15min)
                                                                                                                                                                                                                                                              • 介绍下实习干了啥
                                                                                                                                                                                                                                                              • 分布式锁有了解么,有哪几种,挑一个说一下
                                                                                                                                                                                                                                                              • channel 关闭的时机
                                                                                                                                                                                                                                                              • coding

    上一篇:主机读取不到内存卡怎么回事

    下一篇:守望先锋怎么转其他服务器?