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

大家好,我是阿秀。

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

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

不会有人真的不想去鹅厂吧?而且还是腾讯 WXG 部门...

虚度大一一年又如何,双非本科大三学弟连斩腾讯字节_第1张图片

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

虚度大一一年又如何,双非本科大三学弟连斩腾讯字节_第2张图片

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

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

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

Offer情况

字节:安全与风控部门

腾讯:CSIG 腾讯云部门

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

背景介绍

本人就读于某双非大学,现计科大三。

大一时一直在学嵌入式做小车,从大二开始接触 Java,突然对 Java 很感兴趣,所以想学一下相关的技术。算起来,应该是疫情那个假期正式开始起步学的。

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

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

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

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

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

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

虚度大一一年又如何,双非本科大三学弟连斩腾讯字节_第3张图片 leetcode到目前为止刷了350+

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

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

这句话打动了我

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

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

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

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

腾讯面经

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已故球星科比的名言就很好:总有人要赢得,为什么不能是我呢?

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

最后,再次恭喜这个逼


往期推荐

1、《逆袭进大厂》第七弹之计算机网络(上)33问33答

2、Web服务器烂大街?来试试这个项目吧|我可能是推荐这个项目的第一人

---END---

你好,我是阿秀,毕业于双非学校,校招时拿下字节跳动SP、华为、百度等6个offer,现于抖音部门担任全栈开发工程师。

一路走来,很累也很不容易,希望能帮助到更多像我一样的普通学校的学生,我踩的坑不希望你再踩,我走过的路希望你照着走下来。公众号后台回复「宝贝」,送你一个宝贝!

你可能感兴趣的:(腾讯,数据库,java,编程语言,面试)