如何准备大厂面试?如何变的更强?我咨询了身边的技术专家之后终于得到答案! - Go语言中文社区

如何准备大厂面试?如何变的更强?我咨询了身边的技术专家之后终于得到答案!


咳咳咳!我也当了一回标题党,毕竟为了写好这篇文章内容,我自己前前后后花了一周的时间来总结完善,当然希望被更多人看到。

文章内容适用于每一个学习 Java 的朋友!我觉得这篇文章的很多东西也是我自己写给自己看的,比如从大厂招聘要求中我们能看到哪些重要的能力,我们该朝什么方向努力?

共勉!


我觉得每一个技术人的梦想大概就是能够找一份大厂的 offer,我觉得这很正常,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等大厂的技术氛围还是要明显优于一些创业型公司 / 小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的。

当然,很多创业公司的锻炼也很大,不过大部分都是 CRUD 的工作,你甚至还要同时去写前端。刚毕业的时候做 CRUD 的工作没什么,如果一直这样做下去就有问题了。

不论是笔试还是面试都是有章可循的,但是,一定要不要想着如何去应付面试,糊弄面试官,这样做终究是欺骗自己。这篇文章的目的也主要想让大家知道自己应该从哪些方向去准备面试,有哪些方向可以提高自己的能力。

网上已经有很多面经了,但是我认为网上的各种面经仅仅只能作为参考,你的实际面试与之还是有一些区别的。另外如果要在网上看别人的面经的话,建议即要看别人成功的案例也要适当看看别人失败的案例。看面经没问题,不论是你要找工作还是平时学习,这都是一种比较好地检验自己水平的一种方式。但是,一定不要过分寄希望于各种面经,试着去提高自己的综合能力。

“ 80% 的 offer 掌握在 20% 的人手 ” 中这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。

运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。

另外,我只是在这里分享一下自己对于 “ 如何备战大厂面试/如何提高自己能力 ” 的一个看法,以下大部分理论/言辞都经过过反复推敲验证,如果有不对的地方或者和你想法不同的地方,请您敬请雅正、不舍赐教。

从招聘要求看大厂青睐什么样的人?

先从已经有两年左右开发经验的工程师角度来看: 我们来看一下阿里官网支付宝Java高级开发工程师的招聘要求,从下面的招聘信息可以看出,除去Java基础/集合/多线程这些,这些能力格外重要:

  1. 底层知识比如jvm :不只是懂理论更会实操;
  2. 向对象编程能力 :我理解这个不仅包括“面向对象编程”,还有SOLID软件设计原则。
  3. 框架能力 :不只是使用那么简单,更要搞懂原理和机制!搞懂原理和机制的基础是要学会看源码。
  4. 分布式系统开发能力 :缓存、消息队列等等都要掌握,关键是还要能使用这些技术解决实际问题而不是纸上谈兵。
  5. 不错的sense :喜欢和尝试新技术、追求编写优雅的代码等等。

 

再从应届生的角度来看: 我们还是看阿里巴巴的官网相关应届生 Java 工程师招聘岗位的相关要求。

 

结合阿里、百度等大厂招聘官网对于 Java 后端方向/后端方向的应届实习生的要求下面几点也提升你的个人竞争力:

  1. 参加过竞赛( 含金量超高的是 ACM );
  2. 对数据结构与算法非常熟练;
  3. 参与过实际项目(比如学校网站)
  4. 熟悉 Python、Shell、Perl 其中一门脚本语言;
  5. 熟悉如何优化 Java 代码、有写出质量更高的代码的意识;
  6. 熟悉 SOA 分布式相关的知识尤其是理论知识;
  7. 熟悉自己所用框架的底层知识比如 Spring;
  8. 有高并发开发经验;
  9. 有大数据开发经验等等。

从来到大学之后,我的好多阅历非常深的老师经常就会告诫我们:“ 一定要有一门自己的特长,不管是技术还好还是其他能力 ” 。我觉得这句话真的非常有道理!

刚刚也提到了要有一门特长,所以在这里再强调一点:公司不需要你什么都会,但是在某一方面你一定要有过于常人的优点。换言之就是我们不需要去掌握每一门技术(你也没精力去掌握这么多技术),而是需要去深入研究某一门技术,对于其他技术我们可以简单了解一下。

技术面可能会问哪些方向的问题?

你准备面试的话首先要搞清技术面可能会被问哪些方向的问题吧!

我直接用思维导图的形式展示出来吧!这样更加直观形象一点,细化到某个知识点的话这张图没有介绍到,留个悬念,下篇文章会详细介绍。

 

上面思维导图大概涵盖了技术面试可能会设计的技术,但是你不需要把上面的每一个知识点都搞得很熟悉,要分清主次,对于自己不熟悉的技术不要写在简历上,对于自己简单了解的技术不要说自己熟练掌握!

如何获取大厂面试机会?

不论是对于社招还是校招,我们都有下面几种方式来获得面试机会:

  1. 各种招聘网站上投递简历或者关注大厂官网,随时投递简历(走流程的网申)
  2. 找到师兄师姐/认识的人,帮忙内推(能够让你避开网申简历筛选,还是挺不错的,不过也还是需要你的简历够棒);
  3. 博客发文被看中 /Github优秀开源项目作者,大厂内部人员邀请你面试;

如何做自我介绍?

自我介绍一般是你和面试官的第一次面对面正式交流,换位思考一下,假如你是面试官的话,你想听到被你面试的人如何介绍自己呢?一定不是客套地说说自己喜欢编程、平时花了很多时间来学习、自己的兴趣爱好是打球吧?

我觉得一个好的自我介绍应该包含这几点要素:

  1. 用简单的话说清楚自己主要的技术栈与擅长的领域;
  2. 把重点放在自己在行的地方以及自己的优势之处;
  3. 重点突出自己的能力比如自己的定位的bug的能力特别厉害;

从社招和校招两个角度来举例子吧!我下面的两个例子仅供参考,自我介绍并不需要死记硬背,记住要说的要点,面试的时候根据公司的情况临场发挥也是没问题的。另外,网上一般建议的是准备好两份自我介绍:一份对hr说的,主要讲能突出自己的经历,会的编程技术一语带过;另一份对技术面试官说的,主要讲自己会的技术细节和项目经验。

社招:

面试官,您好!我叫独秀儿。我目前有1年半的工作经验,熟练使用Spring、MyBatis等框架、了解 Java 底层原理比如JVM调优并且有着丰富的分布式开发经验。离开上一家公司是因为我想在技术上得到更多的锻炼。在上一个公司我参与了一个分布式电子交易系统的开发,负责搭建了整个项目的基础架构并且通过分库分表解决了原始数据库以及一些相关表过于庞大的问题,目前这个网站最高支持 10 万人同时访问。工作之余,我利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了Netty进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!

校招:

面试官,您好!我叫秀儿。大学时间我主要利用课外时间学习了 Java 以及 Spring、MyBatis等框架 。在校期间参与过一个考试系统的开发,这个系统的主要用了 Spring、MyBatis 和 shiro 这三种框架。我在其中主要担任后端开发,主要负责了权限管理功能模块的搭建。另外,我在大学的时候参加过一次软件编程大赛,我和我的团队做的在线订餐系统成功获得了第二名的成绩。我还利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了Netty进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!

如何介绍自己的项目经历?

如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:

  1. 对项目整体设计的一个感受(面试官可能会让你画系统的架构图)
  2. 在这个项目中你负责了什么、做了什么、担任了什么角色
  3. 从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用
  4. 另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用redis做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。

我该如何学习?

 

如何学习?

最最最关键也是对自己最最最重要的就是学习!看看别人分享的面经,看看我写的这篇文章估计你只需要10分钟不到。但这些东西终究是空洞的理论,最主要的还是自己平时的学习!

了解学习相关知识

这段时间我不断找资料学习,也通过很多渠道和朋友要到一份阿里架构师写的Java面试宝典(284篇)我把阿里架构师给我的一份Java面试宝典啃完了,从而还找了Java后端以及一些大厂的面试场景和面试题不断刷题提高自己的眼界

资料获取方式:转发和评论这篇文章,然后关注小编,后台私信【面试】即可打包带走所有资料~

Java核心面试宝典复习知识

这本Java核心知识把每个知识点解析的很深,对大家应该很有帮助,它把大部分的Java知识集结在一起深入的解析出来(非常建议大伙看一看)

  1. JVM
  2. JAVA集合
  3. JAVA多线程并发
  4. JAVA基础
  5. Spring原理
  6. 微服务
  7. Hetty与PC
  8. 网络
  9. 日志
  10. Zookeeper
  11. Kafks
  12. Rabbi tMQ
  13. Hbase
  14. MongoDB
  15. Cassandra
  16. 设计模式
  17. 负载均衡
  18. 数据库
  19. 一致性算法
  20. JAVA算法
  21. 数据结构
  22. 加密算法
  23. 分布式缓存
  24. Hadoop
  25. Spark
  26. Storm
  27. YARIN
  28. 机器学习
  29. 云计算

 

求来的大厂面试场景(为了学习提升可以没脸没皮,啊哈哈哈)

我针对这些大厂的面经场景也找了很多题刷,对自身的提升也是非常大(还特意要了份面试答案)

 

美团部分面经

 

好未来面试场景

 

分享一些我个人的学习文档,有需要的朋友自行选择获取:

1、面试文档专题整理

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

根据自身面试经历整理以及不断收集的(珍藏版)

 

相关的电子书、底层源码

 

阿里巴巴必备学习知识点

 

最后

很多人感叹“学而无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

以上学习资料均免费放送,最后祝愿各位身体健康,顺利拿到心仪的offer!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sqdmn/article/details/104821824
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-19 13:04:03
  • 阅读 ( 746 )
  • 分类:面试题

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢