虚度大一一年又如何,双非本科大三学弟连斩腾讯字节

如果你想在校招中顺利拿到更好的offer,阿秀建议你多看看前人的经验 ,比如准备简历实习上岸经历校招总结阿里、字节、腾讯、美团等一二线大厂真实面经也欢迎来一起参加秋招打卡活动 等;如果你是计算机小白,学习/转行/校招路上感到迷茫或者需要帮助,可以点此联系阿秀;免费分享阿秀个人学习计算机以来的收集到的好资源,点此白嫖;如果你需要《阿秀的学习笔记》网站中求职相关知识点的PDF版本的话,可以点此下载

作者:阿秀

原文链接:https://mp.weixin.qq.com/s/IsuN7Wo8AyC_FFwXJdU7fg (opens new window)

大家好,我是阿秀。

最近很开心鸭,因为不少粉丝朋友都来找我报喜,真心替他们感到高兴!

有通过自己的努力艰难爬坑社招去长沙多益做游戏开发的,也有校招实习去腾讯 WXG 部门的,还有去字节抖音的,真的太牛逼了。

不会有人不想去鹅厂吗?而且还是腾讯 WXG ...

/

最让我印象深刻的莫过于这位粉丝朋友了,他跟我报喜的时候我跟他聊了很多。

/

他跟我一样,是一位普通双非学校的学生,大一一年还去搞硬件了,大二才开始学习准备软件开发的知识。

认真苦学一年半,终得正果!

恭喜这个逼!下面来看他的故事!

# Offer情况

字节:深圳-安全与风控部门

腾讯:深圳- CSIG 腾讯云部门

目前状态:字节 offer 审批中,腾讯 HR 面已过

# 背景介绍

本人就读于某双非大学,现计科大三。大一时一直在学嵌入式做小车,从大二开始接触 Java,突然对 Java 很感兴趣,所以想学一下相关的技术,算起来,应该是疫情那个假期开始正式起步吧。

我在刚上大学的时候就下定决定毕业出去工作,没有打算考研。大一的时候听到实验室的学长年薪 15W就傻了,当时已经刷新了我对大学生薪水的认知;大二时带我的助班去了华为工作,年薪居然有 30W 之多,这更加使我目瞪口呆。

那时,我便下定决心,我毕业之后也要年薪 15W ,呜呜呜。

大二自学的时候仅仅是想着能多学一点以后工资可能就会高一点,从来没有想过进大厂

对于我这种普通学校的学生而言,毕业后能有一份不错的工作就很满意了。

这里也很感谢阿秀哥指导我HR面,让我提前知道 HR 面大概会考察哪些知识点,提前有了准备!

我也是大二开始有计划地开始刷leetcode,先刷一年简单题,是的整整一年,我刷的很慢,但每道题都是我自己亲手解出来的,并且也学了许多后端的技术框架。

/

大三上学期开始刷 middle 和 hard ,开始看源码和一些经典书籍去深入了解知识,点亮自己的技能树。

也不知道从什么时候开始有了想去大厂的念头,也许是实验室的一次聚会上谈到每个人的规划时,学长对我说我准备了这么久可以去冲一下大厂。

这句话打动了我

是呀,我做了这么多准备,小公司也用不上,何必不试一下大厂?试一下又不会掉块肉

然后开始疯狂地查缺补漏,去年寒假在家时只有除夕和大年初一没有学习,其它时间每天都在学习、做项目、查缺补漏,有时候做梦都能梦到自己在和面试官对话哈哈。

能通过这几轮面试,有很大的运气成分,因为我还有许多东西没有学,比如 Redis 的源码、Kafka 和 K8S 之类的。

Java 方面倒是准备挺多的,什么源码、多线程、微服务框架都有去准备,可惜字节和腾讯的面试都不怎么问我Java2333

# 腾讯面经

CSIG一面

  • 自我介绍
  • 部门主要是Python和Golang,进来转语言有没有问题?
  • 上次一面为什么挂?说说上次面试没回答上来的问题
  • 10000个数,小顶堆思路 找前100个和找前1000个 的时间复杂度有什么区别?
  • 系统中死循环如何定位?
  • 如果是项目运行中呢?
  • 进程、线程、协程?
  • TCP三次握手、四次挥手?
  • 介绍一下简历的项目
  • 中途打断,为什么要用定时同步任务?
  • 为什么想到用LRU设计商品推荐?
  • LRU有什么缺点?
  • 有了解过LFU吗?
  • 点赞是如何设计的?
  • 如果用户量很多,你会怎么设计点赞?
  • 就比如说用别的方案,比如用rabbitMQ?(给了个不太好的方案)
  • 这是最基础的方案,优化一下,如何减少对数据库的访问?(给了个好一点的方案)
  • 考虑一下在MQ后面做处理?(突然领悟)
  • redis了解吗?redis有哪些地方可能是你以后做项目会用到或者借鉴的?
  • 有了解过设计模式吗?介绍一下工厂模式?
  • 介绍一下秒杀项目?
  • 讲了一下秒杀的逻辑,从前端到后端再到数据库
  • 细问商品库存校验的实现(如何防止超卖)
  • 为什么要加rabbitMQ?
  • 为什么不用其它MQ?比如RocketMQ,Kafka?
  • MySQL了解吗?说一下MySQL索引?
  • 假如有一个非唯一索引,它是如何访问到数据的?
  • 反问

CSIG二面

  • 自我介绍

  • 后端哪些方面学得比较好

  • MySQL学生选课系统表的设计

  • MySQL主键和唯一键的区别

  • 有做过数据库性能调优吗

  • 一条SQL语句执行慢是为什么

  • 什么情况下会出现死锁?具体一些?

  • 上一个问题我有提到间隙锁,面试官突然问我,你说什么锁?我:间隙锁....

  • 间隙锁是什么锁?(我不知道面试官是真的不懂还是故意问的)

  • 在编程过程中如何避免死锁(这回不能答八股文的死锁避免了)

  • 场景题:你和另一个用户同时登录网站去修改一个数据,如何避免覆盖修改(或者是修改丢失)

  • 哪个语言比较擅长

  • 实现一个HashMap,口述思路

  • hashcode和equals在什么时候需要重写

  • 使用Java的时候用什么组件操作数据库

  • MyBatis和其它的相比有什么优势

  • MyBatis底层是如何管理Connection的

  • 你觉得你的优势是什么

  • 你的主动性如何

  • 你的责任心如何

  • 假如团队中有个别成员的进度没有达到预期,你会怎么处理

# 字节面经

字节一面

  • 进程和线程的区别
  • 进程被分配哪些资源
  • 线程同步机制
  • 线程共享哪些资源
  • 线程独占哪些资源
  • 程序计数器的作用
  • 进程和线程的调度区别
  • 进程常见的状态
  • 阻塞态能直接到运行态吗
  • 就绪态到运行态的条件(上一个进程时间片用完,本进程被系统调度)
  • 解释一下 LRU
  • 让你实现 LRU 你怎么实现
  • LRU 各个操作的时间复杂度
  • 计网七层模型、五层模型、四层模型
  • 五层模型中各个层都有哪些协议,简单描述
  • FTP 是什么协议
  • TCP 和 UDP的区别
  • 三次握手、四次挥手
  • 为什么是三次握手、四次挥手
  • MySQL 的索引是什么
  • 使用 B+ 树有什么优点
  • B+ 树和 B 树相比较
  • B+ 树的叶子结点存放数据有什么好处
  • 设计题,先说思路再写代码:
  • 已知一天内用户登录登出的日志(数据量较大),求这一天用户在线的最大峰值。
  • 日志包含字段(userid, login_time, logout_time),登录登出时间精确到秒。

字节二面

  • 二面面试官果然像传说中的那样没有一面面试官那么严肃~

  • 自我介绍

  • 项目中JWT的作用

  • token和cookie的区别

  • 进程和线程的区别与调度

  • 假如有一段程序,只有main函数,也没有fork之类的操作,它跑起来的时候系统是几个进程几个线程?

  • 进程之间如何通信

  • 写两个代码:1、剑指offer30 的变形题 2、剑指offer13 两题很快秒了,继续问问题

  • 项目中的定时任务具体实现逻辑以及功能

  • 当场优化项目中的某个功能,允许去查阅资料(之前说过这个功能设计得不太好)

  • Redis的几种数据结构

  • Redis的容灾方案(持久化+集群)

  • 定时持久化数据会有什么问题?(其实是想问RDB的缺点)

  • AOF模式下,机器宕机之后如何恢复数据?

  • 关系型数据库的事务要保证什么(四大特性)

  • 细说事务隔离级别

  • 口述思路:删除单链表倒数第k个节点(还是剑指offer!)

  • 秒给思路,随后追问:思路有什么问题?

  • 如果链表有环?

  • 僵尸进程以及带来的问题?

  • 僵尸进程中子进程未释放的具体是什么资源?

  • 近期的学习规划、打算

  • 反问

字节三面

没有自我介绍,上来直接开始

  • 现在读大三是吗?

  • 以前去实习过吗?

  • 你的项目里用到了 RateLimiter 限流,你用代码实现一下?(我的内心:What......)我说:我只是简单地用过,但是没有去研究过它的底层原理

  • 说一下 RateLimiter 的工作原理?

  • RateLimiter 写不了是吧,那写一个代码,输入的是一个代码段,用字符串表示,输入的代码里面会有一些注释,输出去掉所有注释之后的代码

  • 写了50分钟,面试官给的最后一个输入没跑通,然后说时间关系,今天就写到这儿了,让我下去可以再看看代码

  • 写代码是因为感兴趣吗?

  • 你觉得你和其他同学相比写代码的能力怎么样?

  • 怎么证明?(证明上一个问题的回答)

  • 以前打过ACM是吗?(只参加过一次而已)

  • 反问

字节HR面

  • 自我介绍
  • 高考之后为什么选择现在的这个学校?
  • 第一志愿学校是什么
  • 深圳这边夏天也很热,能否适应
  • 对计算机专业的理解
  • 对计算机感兴趣吗
  • 怎么想到做简历上的这个项目
  • 项目团队有几个人
  • 团队有没有组长或负责人
  • 从项目中收获了什么
  • 遇到了问题怎么解决
  • 有没有遇到过解决不了的问题,后来怎么办
  • 开发时和同学有意见冲突怎么办
  • 有没有投递别的互联网公司
  • 为什么想来字节跳动
  • 对字节跳动的了解,评价一下
  • 来字节实习想收获什么
  • 平时怎么学习
  • 毕业前/后的规划
  • 为什么不考研
  • 评价一下自己,优缺点
  • 什么时候能来,能实习多久
  • 实习期间要不要兼顾学校课程

# 结语

有人可能会担心普通本科进不了大厂,没有 211 以上的学历加成之类的。

我想说的是,可能你没有别人学校好,但你就不去尝试了吗?这条路是很难,可再难,也有人上岸了啊。

NBA已故球星科比的名言就很好:总有人要赢得,为什么不能是我呢?

对啊,总有人要上岸的,为什么不能是你呢?

最后,再次恭喜这个哥们