深度复盘我的秋招,我的腾讯、字节、快手、滴滴后端开发面经!

360 篇文章 2 订阅
180 篇文章 2 订阅

一:前言

  • 大家好,我是洲洲,目前北京门头沟学院研一在读,
  • 趁考试周之前的两个星期,找了一波实习,历时半个月左右
  • 踩过很多坑,也有裸面被怼的哑口无言的时候
  • 总的来说,体验是找大厂实习真的很难
  • 投很多岗位就是没有后续,石沉大海,相信不止我一个人这样 😥 😥
  • 准备的过程中看了不少牛油的帖子,现在回馈一下大家 😃
  • 发个帖子攒攒人品,许愿后续过过过!! 😘 😘

二:项目和实习部分

问项目相关:
  • java的锁了解多少
    悲观锁、乐观锁、可重入锁、中断锁、读锁、写锁、synchronized锁升级(偏向锁、轻量级锁、重量级锁)
  • 树的节点是权重,取最大权重的路径,状态压缩,树的剪枝聊了一些,聊了一些记忆化搜索在项目中的运用
问实习相关:
  • 你的那部分是离线还是在线处理?
  • 正则表达式怎么过滤敏感词?
  • 怎么得到文本中的关键词?

三:基础知识

题目就不分公司写了,全写一起好了

  • string和stringbuffer和stringbuilder的区别
  • concurrenthashmap了解多少,1.7和1.8区别
  • 分段锁说一说
  • CAS知道吗,介绍一下
  • hashmap底层数据结构,jdk1.8之前和jdk1.8
  • .hashmap为什么链表超过8转化为红黑树?
  • 介绍一下线程池,如果自己创建一个线程池,线程池包括哪些参数
  • 多线程start和run方法的区别
  • 抽象类和接口的区别,为什么要有抽象类?
  • arraylist和linkedlist区别,是不是线程安全
  • jvm了解多少,重要!!【垃圾回收机制】【类加载机制】
    追问:双亲委派、jvm内存模型和内存结构、minor gc和full gc
  • mysql创建索引的注意事项
  • redis怎么样、缓存类中间件用过哪些?kafka和rocketMQ了解多少
  • 自动装箱 int和integer比较
  • try catch执行顺序 中间插入return,执行顺序
  • 多态的理解
    三个条件,继承、重写、向上转型(父类引用指向子类对象)
    16.手写单例模式,
    懒汉式、饿汉式
    追加:如何保证线程安全
    17.arraylist和linkedlist区别,
    追问:两个都是不是线程安全的
    arraylist底层为啥线程不安全,
    答:并发情况下 size++ 不安全
    考虑并发要用vector
  • 手写SQL 查找成绩总和top3的学生
  • 创建线程的几种方法,都介绍一下
  • 三层的B+树可以存多少信息,页表自己定义,节点大小自己估算
    上亿级别,按页表16KB算,long占4个字节,16KB/4B = 4K
    4K × 4K × 4K = 6.4×10^10
  • B树和B+树介绍一下,说说区别
  • 死锁四大条件
  • 如何避免死锁
  • 银行家算法(预防死锁的方法)
  • linux会哪些命令,介绍10个
  • socket编程了解多少
  • 聚簇索引和非聚簇索引
  • linux文件系统
  • 你知道哪些文件系统,说说结构
  • http是有状态还是无状态?是有连接还是无连接?
    无状态、无连接
    追问:200、404(原谅我笑场了 🤣)、500都是什么含义
    追问:会不会被劫持和篡改?

四:手写代码

算法相关:
  • 两数之和
    最优解:hashmap一遍遍历 ,O(n)

  • 反转链表
    迭代和递归分别解
    (不要觉得这题送分,这个递归很容易写错的)

  • 手写LRU
    自己定义节点、双向链表和缓存区结构

解法:双向链表+哈希表,满足put和get都是O(1)

  • 给定一个数组,里面的数都是1~10,找到其中的中位数
    这种题要是调API,铁定挂
    计数排序 O(n)

  • 中位数是一段数据的50%的位置
    如果改成找一段数据中m%位置的数字呢?

答:这题是查找第K大的数(可能要找top_(k-1)和top_(k+1)),topK的变形
时间复杂度O(n) 减治法+快排思想

  • 思考题 (要我回去想想)
    100w数据,甚至上亿数量级,找其中m%到n%这一段的数据(m<n)

提示往多个节点,并发处理这块考虑

  • 螺旋遍历矩阵
    模拟题,分四个方向走

  • 给出树a和树b,判断a是不是b的子结构
    递归解

  • 有些题目要求写单元测试,如果出bug,

  • 检验临场debug能力,大家可以多多培养debug能力

  • 不要每次刷题写不出来就去看题解,最好一步步调对自己的代码,理解也更深刻

五:面试官建议环节:

  • 面试官建议环节:如果愿意教你这些,说明对你印象至少不差,认真听就行了
  • 建议1:其实业务很简单(我:??)就是增删改查,然后辅助大量的中间件,【数据库和缓存】很重要的
  • 建议2:代码写完之后会不会format处理,命名、格式等,最好养成这个习惯
  • 建议3:建议去看看kafka源码,多了解一些缓存相关
  • 建议4:我:redis不太会,建议去看看redis源码

六:反问环节:

  • 到了最喜欢的反问环节了,也预示着这轮面试即将结束,

(一般面试发挥还行的时候问)

  • 部门主要业务是什么,然后选一个感兴趣的追问
  • 部门上班下班时间是什么
  • 如果面试过了,后续实习要用哪些技术栈

(一般觉得自己比较凉的时候问)

  • 对在校生学习建议是什么
  • 您觉得我在哪些方面还要加强

七:Hr面

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值