大厂offer是每个技术人的追求吗?
大厂offer是每个技术人的追求?
我觉得每一个程序员的梦想大概就是能够找一份大厂的 Offer,我觉得这很正常,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的。但不是每个人都能够进入大厂的,这往往取决于我们的能力、学历、面试表现等因素。
现在面试大公司你说你没有大型项目开发经验估计都拿不出手,jetpack、NDK、插件化、热修复理论等等已然大厂面试所必须的知识。但是,你真进入大厂了,可能几年都用不上这些知识,还是老老实实去写CRUD。
与其抱怨,不如提高自己
相比于前几年来说,现在的面试难度提升了不少。你说说现在程序员这么多,你投递的公司可能与你一起投递的就有300人,可人家只招5人,那怎么办?简历PASS掉一大批,然后面试再PASS掉一大批。从这样来看,现在流行说的:“面试造火箭,工作拧螺丝”还是很有道理的,提高面试难度只是为了从很多人中招到自己需要的那些人。
很多人都抱怨现在工作越来越难找了,的确,互联网行业现在确实没有之前好找工作了。我觉得有很大一部分原因是现在的培训班培训出来了太多半路出家的程序员,培训班打着保障你高薪就职的称号引诱了很多人进入这个圈子。我并不是对半路出家的人有偏见,只是一个事实就是培训班出来的一些人是真的无法胜任很多工作。一是大部分培训班的培训水分特别大,说白点,很多培训班就是为了圈钱;二是半路出家的人的基础肯定是没有大学习踏实学习计算机知识的人好的,这就造成很多培训班出生的人很难往前走;三是互联网行业确实对年轻的人有一部分偏爱,毕竟刚毕业的大学生还是比较廉价的,但是互联网行业并不是吃青春饭。
所以,不管是培训班出生、应届生还是工作几年的小伙伴都要对自己有一个清晰的认识,搞清楚你自己所欠缺的能力,搞清楚你自己的优势(企业为什么要招你)。知道自己不足的地方之后,就要去努力!
互联网行业其实还是挺公平的,虽然面试的时候会将你的学历作为参考,但是如果你的能力真的厉害,你的简历真的丰富的话,面试官还是会很欣赏这样的应聘者的。
如何提高个人硬实力?
我在这里所说的个人硬实力更多的指的是个人的专业能力,比如构建高质量网站的能力或者是对专业知识的掌握程度。
我觉得不论是对于新手还是老手,想要提高个人硬实力最重要的就是不断深入学习并且将理论实践,最好可以将理论在具体项目中实践一下。
给还在学校的同学们一个建议:如果条件允许的话尽量去参加一些比赛,可能你的技术并不太好,你的内心还很犹豫自己是不是具备参加比赛的能力,但是我还是推荐你去尝试一下。
为什么呢?一个比赛的准备时间,说长点就是 5 ~ 6 个月,说短点也就是 2 ~ 3 个月。在参加这个比赛之前,比赛用到的很多技术你可能没有实际应用过,甚至连听都没有听过。但是这几个月的时间应该足够让你去学习了,如果你的态度好并且自学能力不差的话一般是没有问题的。
到了最后,你可能并没有收获到一个优秀的名次,但是我觉得参加比赛的经历对你的帮助才是最大的。如果后面你还会参加其他比赛的话,我觉得你一定会做的越来越好。
除了比赛,实际项目对自己的个人能力提升与锻炼也是非常大的。
多去实践,将学到的东西运用到实际项目中去。很多人都找我抱怨过没有实际项目让自己去做。下面我会介绍到几种让你可以有项目经验的方式,项目经验对于技术能力的提升和面试都是很重要的。
想要提高个人硬实力,那么学习一门新技术的方法一定是至关重要了。下面分享一下《 Android工程师修炼之道》一书对于学习一门新技术的一些要点(我以图片的方式整理了出来,更加方便阅读):
再次提醒:一定要有自己的技术优势,可能你懂得不是最多的,但是别人不会的你却会,那么你就是厉害的!
怎么能有项目经验呢?
如果实在没有实际项目让你去做,我觉得你可以通过下面几种方式:
- 在网上找一个符合自己能力与找工作需求的实战项目视频或者博客跟着老师一起做。做的过程中,你要有自己的思考,不要浅尝辄止,对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去往深出学。
- Github或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。
- 自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。
简历匹配度很重要
不管你是否优秀,你的能力至少要与公司要求的所匹配!什么叫匹配?就拿下面这个招聘来说,看清楚招聘要求的关键词:“2-3年经验”、“Framework”、“性能调优”、“源码”、项目经验、这些都是关键词,是你简历上必须要有的。
阿里巴巴招聘要求
公司到底想要什么样的人才?
- 个人方面:人品好(这个肯定是首位的!),与公司以及团队文化契合,学习能力不错,抗压;
- 能力方面:能力与你要应聘的岗位所匹配(很多时候不要认为自己能力很强公司就会招聘你,这意味着公司可能会花更多的钱聘用你。如果你的能力达不到的话,公司一般还会考虑你的潜力如何);
面试注意事项总结
- 提前准备好自我介绍 :从HR面、技术面到高管面/部门主管面,面试官一般会让你先自我介绍一下,所以好好准备自己的自我介绍真的非常重要。网上一般建议的是准备好两份自我介绍:一份对hr说的,主要讲能突出自己的经历,会的编程技术一语带过;另一份对技术面试官说的,主要讲自己会的技术细节,项目经验,经历那些就一语带过。
- 提前准备技术面试 :搞清楚自己面试中可能涉及哪些知识点、哪些知识点是重点。面试中哪些问题会被经常问到、自己该如何回答。(强烈不推荐背题,第一:通过背这种方式你能记住多少?能记住多久?第二:背题的方式的学习很难坚持下去!)
- 面试之前做好定向复习 :所谓定向复习就是专门针对你要面试的公司来复习。比如你在面试之前可以在网上找找有没有你要面试的公司的面经。
- 面试之后复盘很重要 :如果失败,不要灰心;如果通过,切勿狂喜。面试和工作实际上是两回事,可能很多面试未通过的人,工作能力比你强的多,反之亦然。我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
- 提前知道有哪些技术问题常问: 三方源码、Java相关、Android相关、网络相关等等问题我觉得面试中实在太常见了,好好准备!后面的文章会我会分类详细介绍到那些问题最常问。
- 提前熟悉一些常问的非技术问题: 面试的时候有一些常见的非技术问题比如“面试官问你的优点是什么,应该如何回答?”、“面试官问你的缺点是什么,应该如何回答?”、“如果面试官问"你有什么问题问我吗?"时,你该如何回答”等等,对于这些问题,如何回答自己心里要有个数,别面试的时候出了乱子。
- ......
最后
题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等录播视频免费分享出来。
【Android学习PDF+学习视频+面试文档+知识点笔记】
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~