今天介绍的是学校的直系学弟,二本独立院校软工专业,他大一的时候从学校贴吧上加的我,我给他规划了一些路线,让他大二早点去实习,走我的路子,这样之后有进大厂的筹码。在这次春季实习招聘中,他先拿了厦门大部分公司的offer,后来也通过阿里和腾讯的后台面试。
自我介绍
福建某二本学院(省外三本),是峰哥的学弟,软件工程大三学生。
学校算是在投递大厂的应届生中属于垫底的。我从大一就有一个大厂梦,周围的人都劝我考研,有更好的学历,才更有机会进大厂,无奈本人对考试实在没有天赋,又由于考研的“背水一战”的性质,我就想直接冲击大厂,功夫不负有心人,最终拿到了阿里和腾讯的Offer。
学习过程
大一暑假的时候,想要称有大块的时间自学编程,但是苦于没有门路,于是就上学校的贴吧,想看看有没有关于编程的协会社团啥的,幸运地,我找到了学长峰哥。于是加了峰哥学长的微信,吓我一跳,我们这个学校还有这么优秀的人(我没想过我们学校还有人能拿大厂offer的),于是就请教了峰哥如何学习。
在峰哥的指导下,我开始了我的学习之路,但是,除此之外,我觉得对我的帮助更大的是:激励了我,让我了解到了,我们学校的学生有机会进大厂的,这给了我不少鼓励。
就这样我学了一学期的JavaSE来到了大二的寒假,并且又迎来了一个新冠疫情,我意识到,这是一个提升自我的好时机,于是我又找到了峰哥,说明了我的基本情况,峰哥就给了一些资料,让我开始了相关项目的学习。
在大二暑假将近的时候,通过峰哥经历(小厂实习 -> 大厂实习 -> 大厂)的这么一个过程,我于是开始在BOSS直聘上开始了实习简历的投递,当然也收到了不少拒绝,大部分原因都是不收大二的实习生,最终还是一些公司给了机会,最终拿到了一家老牌软件公司的Offer。
暑假实习过后,又回到了学校,我就开始着手准备大厂的面试内容,从JVM、多并发、MySQL、Redis入手,也看了一些教程和一些书籍,期间还将之前的项目进行了一些包装,总而言之就是丰富简历的一个过程。
一个学期下来,来到了大三的寒假,我看到了阿里提前批的开始,就想试一试,反正不进系统,于是投出了第一份大厂简历,面试挂在了二面,于是我又陆续投了几个阿里部门,也均挂在了一二面。
3月份之后,许多大厂陆续开始了春季实习生招聘,我投递了许多知名企业(阿里、腾讯、网易、360、小米等),也投递了厦门的一些公司,投递小公司的作用是用来练练面试的感觉。
不得不说学历低还是有些不足的地方,许多中厂不给面试机会,小米、网易的一些部门将我的简历筛选掉了。但还好因为我有实习经历,也能拿到一些大厂的面试,最终拿了阿里和腾讯的offer。
在准备春招的这一个寒假到拿到offer,我的心态从一开始的自信满满地开始简历的投递,到后来的自我怀疑,再到后来的平常心,拿到offer都已经没了那种小时候考100分那么激动了,所以不管是学习还是生活,只要保持一颗平常心就好。但行好事,莫问前程。
面试过程
阿里一面
• redis提升访问效率是怎么做的?• 如何做的redis分页?• 如何使用Disruptor优化的?• 根据项目问秒杀系统的设计?• 最终一致性入库的怎么做的,如果在此期间数据丢失了怎么办?• 如何防止使用脚本秒杀?• 如何进行JVM调优的?• 说一说ThreadLocal的原理。平时使用过吗?• ThreadLocal与线程池一起使用可能发生的问题?• 垃圾回收器G1和CMS的区别。• HashMap的数据结构是什么样的?• 为什么会去了解分布式一致性算法,有没有在什么场景使用过?• 一道算法题:129. 求根到叶子节点数字之和
阿里二面
• 你的项目是如何使用redis进行优化的?• 你是如何进行JVM调优的?• JDK自带的两个调优工具是什么?了解arthas吗?• arthas为什么适合线上调优使用?(class字节码动态加载)• 分布式缓存项目如何进行磁盘持久化的?• 写这个项目的初衷?为什么要写这个项目?• JVM内存模型?• 堆区的结构?(各种垃圾回收器有不同的实现)• ZGC是哪个版本出现的?• JDK8默认垃圾回收器?• G1为什么要给region设置分代?• redis的数据结构有哪些?• redis的底层数据结构?• redis的AOF和RDB的优缺点?应用场景?• 如何理解Spring的IOC?• 使用过AOP吗?应用场景。• 数据库的隔离级别?• 数据库常见引擎和应用场景?• InnoDB和MyiSAM之间的区别?• 索引的底层数据结构?• B树和B+树的区别?为什么要使用B+树?• 二叉搜索树中找第K个元素。• 假设有n个人,3个人轮流报数,每次淘汰喊3的人,最后的那个人是序号多少的?
阿里三面
• 实习的工作• 说一下你最大的3个优点• 用一个词形容一下自己• 对未来有什么规划• 成绩怎么样
腾讯一面
• jvm运行时内存 堆栈 类加载 native方法• hashmap 扩容 hash优化 1.7 1.8 为什么8转红黑树put get 链表、红黑树的复杂度比较• jvm内存泄露 OOM 可以分配多少内存• threadlocal key为什么弱引用• 垃圾回收算法]优缺点• 虚拟内存页式存储进程线程快表• tcp可靠传输 流量控制 拥塞控制 ARQ 首部有哪些 多少个字节 udp首部• 三挥四握为什么是3次握手• 排序算法了解嘛• 2的32次方等于多少GB• 链表和数组区别• 怎么判断对象是否已死GC可达性分析
腾讯二面
• 如何实现服务发现• Redis的各种数据结构的底层实现• 口述LRU、LFU• Redis的IO模型。• 如何理解Redis6.0的多线程?• 如何设计一个分布式链路追踪的日志系统。• 你的学习方式?• 最近看过什么书?哪个地方记忆最深刻,讲一下。
腾讯三面
• 实习的工作• 遇到最有挑战的事• 最大的优点和缺点• 对未来的规划• 学校和成绩,排名• 大学给你带来的成长
学习心得
1.要学会自己思考和利用搜索引擎解决问题;
2.学习的心态很重要,胜不骄败不馁,保持一颗平常心。
3.学习方向很重要,定好目标,了解达成目标所需的条件,防止做了大量的无用功;
4.平时学习的过程多总结,多写博客,可以锻炼自己的表达能力,与增强知识的吸收;
5.每次面试都是一次锻炼自己的过程,要把握好每一次机会,多总结每次面试的不足的地方,然后加以补充;
6.对于学历不好的同学,要多向身边的大佬进行请教,减少一些信息差。在我们学校,我就没听人说过春季实习和秋招,另外就是要早点实习,给自己增加一些进大厂的筹码。
--end--