从外包到腾讯,四年软件路,一路坎坷,把最好的学习结果和经验分享给你们,助你们成功上岸

个人经历:

我是一个地地道道的东北人,有着哈尔滨和大庆两地的混血,出生在大庆,小学、初中、高中都在大庆让胡路区念的,大学考的远点,在大庆的另外一个区,萨尔图区,名字叫做东北石油大学,是一个不出名的双非普通一本院校,我读的专业也不是这个学校好的专业,是一个万金油专业,电子信息工程。

也就是说,我从出生,一直到大学毕业,整整22年的时间,都在那个我最熟悉的城市,大庆。

我不知道大家对这个城市有没有了解,大庆油田、铁人王进喜,而我,就是一个石油子弟,这个称呼大家可能不太熟悉,但是在10年那段时间,这个称呼可以保证给你分配一份国企的工作。因为城市的原因,我的长辈、哥哥姐姐基本上都在中石油上班,我在大三之前的念头一直都是毕业之后会去油田上班,拿着普通的工资,在一个三线城市,有车子和房子,没有贷款压力,每天早九晚五,一直到退休。

然后,经过变革,油田子女的福利没有了,我毕业的时候,我爸问我以后想做什么,我说我没有想过,但是其实说实话,我不太喜欢国企的氛围,我这个人喜欢交朋友,也比较外向。但是我不太喜欢那种应酬,而且我也酒精过敏,并且我觉得那种朝九晚五,一眼望到头的工作不太适合我,虽然很稳定,但是我这个人骨子里还是有点不安分的。

我记得在临近毕业的时候,也就是2016年的5月份,身边的人都陆陆续续找工作了,我那时候还不知道以后要干什么,就看到身边的人有很多都在学习编程语言,JAVA啊,什么的,于是我就打开了智联招聘,搜索一下相关的岗位,然后有一个招聘说什么岗前培训,培训完直接上岗(相信大家都知道了这是一个培训机构),然后要去北京面试,看看是否符合培训标准,报销来回路费,于是,我真、真、真的就去了,并且稀里糊涂办理了贷款,交了学费。哎,年轻啊,没有被社会鞭挞过,等我从北京回来的时候,就背了小2W的贷款了。

然后,我们毕业了。

毕业在家呆了几天,到了培训的时间,我真的就拿了一个超级大的行李箱,就是下面这个,里面还有一个被子,很多换洗的衣服,超级沉,自己坐上了大庆到北京的火车,开启了我的软件之路。

个人面试情况

二月以来,我的面试除了一个用友的,基本其他都被毙了,可以说是非常残酷的。其中有很多自己觉得还面的不错的岗位,比如百度、跟谁学、好未来等公司。说实话,打击比较大。

情况基本上是从三月开始好起来的,这个时间点,可能疫情快过去了,国家也开启了接近40万亿的基础建设计划,在这个时间断,面试的几个代表性的公司,包括腾讯、饿了么、宝宝树、旷世科技等等,基本都成了。

最终,就在三月二十七号,腾讯刚给我确认了p7的职位。也算自己到了另一个奋斗的阶段了。对自己的经历,做一个面试总结。

腾讯6面场景重现

——腾讯一面:

①针对微服务进行提问:

  • 微服务架构
  • 框架的实现
  • 服务治理
  • 分布式一致性

②日志监控系统:

  • 考察架构、ELK相关知识,重点要描述ELK的一些架构原理,如倒排索引的原理等;

③消息队列:

  • Kafka中消息可以被多个消费者消费吗?
  • 选举机制
  • HW机制

④数据库和Redis相关:

  • 索引的原理
  • 几种事务的区别
  • 数据结构
  • 延时队列如何实现
  • 分布式锁原理

⑤其他开放问题:

  • 开放问题,不过多描述,如项目中遇到的问题,如何解决的?描述生产过程中运行的问题,并描述排查问题。

——腾讯二面(笔试):

考察具体岗位的技术栈语言的基础知识,题目不难,要求基础扎实和广度,文中不过多赘述,大致题目整理到pdf文档里。

——腾讯三面+四面(技术组长面):

腾讯的三面和四面都是技术组长来面的,这个阶段相对来说还是比较紧张的,面试内容则主要是聊解题的思路以及项目经验,考察个人对于技术掌握的一个广度,涉及到比较多的架构设计。

  • 项目
  • 开放性题:解题思路、同事之间的协作问题。
  • 负载均衡
  • 算法
  • ngnix如何做限流?
  • 四层LVS和七层Ngnix的区别
  • 微服务架构的设计思路

——腾讯五面+六面(技术总监面):

这两面的面试官应该是技术总监,面试难度应该是这一套流程里最大的,主要考察面试者的两个方面,包括系统设计和架构设计,需要面试者对于技术知识有比较深度的理解和认识。

①针对系统设计提问:

  • 秒杀系统如何设计?分接入层、接口层、消息队列层、逻辑层四个方面讲解,接入层可以做服务治理相关事情,接口层做抢购开关、黑白名单、随机拒绝等处理,逻辑层具体抢购逻辑实现,涉及到redis分布式锁以及DB和Redis的一致性问题。
  • 分布式事务的几种实现。重点讨论了这几种实现的区别,面试官要求我画出基于可靠消息服务的消息队列实现分布式事务架构图,然后对上游服务和下游服务如何保证消息可靠性和一致性。

②针对微服务架构进行提问:

  • 服务拆分的原则
  • RPC框架原理
  • 配置管理(etcd)的一致性协议raft选举原理

③其他:

  • 服务治理
  • 服务限流算法
  • 服务降级的指标和恢复指标
  • 服务熔断

④开放性问题:

  • 在项目中,你印象中遇到的印象最深的一个难题,如何解决的?
  • 在面试过程中,你觉得面试官问的哪个问题让你印象最深,为什么?
  • 生活中有遇到过什么困难吗?

腾讯(面试风格比较综合,但题目不算难)

腾讯面试轮次很多和流程较慢,如果像我这样下定决心要进腾讯的,要做好长期作战准备;前后一个多月的时间。

腾讯因为技术面比较多,所以总体问的会比较面面俱到,编程题、前端基础、项目、设计都会有所涉及;

个人经历大概是组员负责面基础、leader会根据项目进行展开提问、总监(非前端)聊技术视野、面试委员会会比较难类似头条三面、GM聊人生;leader后面的面试基本都会问职业规范和跳槽原因;这些面试之中会穿插编程题。

总得来说,腾讯面试难度并不高,但是容错率比较低,一些问题没回答到点上就会挂;因为本身轮次也非常多,所以造成了面腾讯非常考验心态,两次面试之间的间隔非常随机,有可能隔一天,有可能隔一周;所以面试腾讯心态是最重要的。

如何实现质的飞跃?

1.技术沉淀(学习+积累)

对于技术新人来说,无论是在大厂小厂,还是在外包公司,基本上都是做得简单的CRUD工作。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。

当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。

  • 学习路线

  • 阅读书籍文档:

  • 看视频学习

  • BAT一线大厂面试题


    如果你想在未来能够自我突破,圆梦大厂,那或许以上这份学习资料,你需要阅读阅读,希望能够对你的职业发展有所帮助。

最后,希望未来的我发展顺利,早日拿下p7!同样,也祝愿你实现自己的人生理想,愿我们都越来越好,共勉!

获取方式: 只需你点赞+关注后,Java进阶交流群:714827309 哦-!

posted on 2021-06-28 17:14  Java_cola  阅读(300)  评论(0编辑  收藏  举报

导航