前言
? 首先说一下, 本人是在 19 年 10 月份的秋招中上岸的, 一直想写一份面经, 但是因为各种原因, 拖到了现在. 求职之前也在网上看了很多面经, 希望我接下来分享的内容可以给大家一点帮助. 这篇文章主要介绍一下我自己觉得面试之前应该做哪些准备, 下一篇文章我会给大家分享我的 ThoughtWorks 面试经历. 点我获取 ThoughtWorks 面经
? 我是 20 届的双非本科生, 没有很牛的参赛经历, 也没有科研经历. 对于学校安排的实习, 觉得价值不大也没有去. 反而在实习期间帮学校维护了一个招生软件. 平时就是自己根据教程和网上的文章学习 java, 除了跟着教程写过几个大项目, 也参加过老师接的实际项目. 这也是我个人的求职优势所在.
面试前的准备
? 9 月初开始准备面试, 当时本来想的是做一个大型项目作为自己知识的回顾, 后来才发现自己在基础知识方面真的很薄弱, 于是果断放弃项目, 转而学习 java 相关知识. 复习的时候才发现自己的一个痛点: 由于我是跟着教程自学 java, 平时只注重动手和实际使用, 反而忽略了原理和底层知识, 导致知其然而不知其所以然. 故复习的时候是真的有一种恍然大悟的感觉. 我是跟着网上的一些博客, 加上 YouTube 上的视频内容来学习的. 个人感觉, 复习的时候如果看文字太累了, 可以看看视频讲解, 可以缓解自己的压力, 而且对于某些知识点, 视频展示的效果更好.
复习主要涉及到这些知识点:
Java: 基础, 容器, 并发, JVM, 新特性
计算机网络: 基础知识, 常见面试题
Linux: 常见命令, 基本操作和软件安装
数据结构
算法
数据库
常用框架......
? 我就不罗列这些知识点了. 有需要可以去 GitHub 上搜 JavaGuide, 作者写的比较好. 我感觉比较重要的或者说实在复习的时候需要花更多时间的有: 算法, 推荐刷 LeetCode, 至少把简单级别的算法过一遍, 不管哪一家公司面试都逃不过算法. 其次就是数据结构, 一旦你了解到了框架实现, 那么后面必须牵扯到数据结构, 再着就是 JVM 和框架源码, 特别是 spring, 一定要看看源码, 面试重灾区.
? 在复习这些知识点的时候注意三点:
第一, 一定不要只看别人写的文章, 或者一直看视频, 我一直以为, 程序员, 最重要的是实现, 不管你学了多么牛的技术, 一定要落实到代码上, 所以个人也建议在复习同时打开你的 idea, 落实到代码上, 亲自试一试.
第一, 第二, 记得动手做笔试题, 牛客网的笔试题是很好地选择, 里面涉及的知识点很全面, 多做一些题, 可以很好地避免笔试时踩坑.
第一, 对于面试题, 绝对不要采用硬背的方式. 死记硬背很容易忘记, 而且知识只有理解了才是自己的. 理解了之后才能够很坦然在面试的时候表述出来, 侃侃而谈会给面试官的感觉很好.
简历书写
? 作为一个应届毕业生, 如何让我们的简历出众, 可以让 hr 一眼相中你呢? 个人觉得以下几点很重要:
项目经历或者大赛获奖经历:(亮点)
这里的项目经历不是你做得 demo 或者你在学校做得课程设计, 而是实实在在的要给客户使用的软件. 我一直有一个观点, 一个软件, 做成 demo 很简单, 但是如果要给客户使用, 那么要考虑的细节就比较多, 才是真正考验我们的技术的. 对于大赛, 著名的 ACM, 当然是名气越大越好.
那么很多应届毕业生就要说了, 我只是一个普通的毕业生, 没有接触过实际的软件, 也没有参加大赛获奖的经历, 那么我的简历岂不是没有亮点了? 我给的建议是学会包装自己. 对于实际项目而言, 挑一个你做过的最大的软件, 或者去 GitHub 上淘一个. 这里举个例子, 你找一个分布式商城项目, 然后选择一个你自己熟悉的模块, 比如商品模块, 然后你就把这个商品模块的代码完整看一遍, 从前台展示到中间逻辑处理到后面数据库表的设计, 还有此模块和其他的模块的信息交流, 比如消息队列, 全部过一遍, 熟悉里面的处理方式. 对于其他的模块, 了解功能即可, 可不看代码实现. 然后就在简历上写, 我做过 xx 项目, 当时是多少人的一个团队, 我负责的是商品模块, 我实现了哪些功能, 遇到了什么问题, 怎么解决的, 效果如何. 在和面试官交流的时候, 因为你只做了这个模块, 所以他也会和你着重讨论这一块的东西, 这样就弥补了很多人没有实际项目的痛点.
由于你的项目是整个简历的亮点, 那么对于不是自己的项目, 一定要好好了解里面的代码逻辑与设计. 当然了, 这只权宜之计, 希望大家面试过了之后还是好好修炼自己的技术.
技术栈:
把你自己的技术栈写出来, 你会哪些技术, 哪些框架, 都可以列出来. 这里要注意用词. 最好慎写精通某某技术, 因为精通一般都会涉及到源码, 所以如果不是真的了解不要这样写. 可以使用熟悉, 用过, 了解等词汇. 还有, 对于这些技术栈: 前段技术如 CSS, 后端框架如 ssm, 常用软件如 nginx, 常用工具如 Git 等, 记得分条列出, 不要写一块.
技术博客:
这里可以写你自己的 GitHub 账号, 如果有很好地项目, star 数比较多的, 是很加分的项. 其他的技术博客如果做的比较好也可以写上去.
专业相关:
这里展示你的学分, 如果比较好可以加上专业前百分之多少. 然后写和求职有关的基本课程有哪些. 最后写自己的四六级的情况, 有的公司对英语的要求可能比较高.
致谢
出于礼貌, 写一句致谢的话, 感谢您花时间阅读我的简历, 期待有机会能和您共事.
最后补充一点, 对于在学校有社团经历的, 有干部经历的, 个人觉得对于程序员求职来说, 意义不大. 但是这也是你自己的一个优点, 可以放在面试时的自我介绍中口头阐述, 这样也不会显得自己的自我介绍太过于单调.
求职途径
好的求职途径可以让你的求职更加顺利, 下面介绍我认为比较好的方式:
找熟人内推, 如果你想进的公司有学长学姐或者认识的其他人, 完全可以让他们帮忙内推, 内推免简历筛序, 面试的机会更大. 如果没有熟人内推, 牛客网也是一个很好地平台, 上面有很多人发帖子, 有很多内推信息, 也是很不错的选择.
现场简历投递, 比如我所在的湖北省, 很多企业来招聘都会去武汉大学, 华中科技大学, 武汉理工大学宣讲, 那么你可以选择性关注一个就好了. 现场投递好处是效率高, 而且选择也很多.
官网网申, 这也是不错的选择, 选中想要去的公司, 然后直接官网投递, 一般简历通过筛序之后, 一个星期左右就会通知你笔试的.
海投, 通过各种求职软件海投. 我觉得这是很不理想的一个方式, 我也海投了很多家公司, 但是收获甚微, 也有可能是我打开的方式不对吧.
给个小建议: 对自己投递过的公司, 用你自己喜欢的方式记录下来, 是内推的, 还是在官网申请的, 什么时候申请的, 什么时候有宣讲信息, 什么时候笔试, 面试, 这些都做好记录, 避免错过重要的信息. 对于去别人学校进行现场求职的, 注意安排好行程, 有计划的进行, 不打无准备之仗.
面试注意事项:
所有的面试, 基本上都有笔试和面试, 那么如何应对笔试和面试就是很重要的了.
对于笔试来说, 有的公司只出技术相关的题目, 有的公司还有逻辑测试题, 而对于银行来说, 还有银行的相关知识题目. 逻辑测试题跟着感觉走就好了, 不用太纠结. 对于专业知识题, 除了自己花时间学习别无他法. 在技术的笔试中, 最难的莫过于手撸算法了, 这里给个建议, 哪怕你一时知识有思路, 但是写不出实际代码的, 可以把自己的思路写上, 有时候面试官也会酌情给分, 千万不要留空白, 给人印象非常不好.
面试一般都分为三轮, 第一轮技术面, 第二轮公司领导面, 第三轮就是 hr 谈薪资待遇的时候了. 一般一面开始都会让你来一个自我介绍, 你可以介绍这些方面: 姓名, 学校, 专业, 求职意向, 做过哪些项目, 会哪些技术, 在学校担任过什么干部, 写作能力很强等等, 对于那些自己的优点但是简历上没有展示的, 这个时候就是时候展示了. 对于技术面, 会就是会, 不会就是不会, 千万不要装, 否则会给自己难堪. 而且要学会把面试官往自己熟悉的领域带. 打个比方, 你对二叉树更为熟悉, 那么当面试官问你 HashSet 相关知识的时候, 你可以讲在 HashSet 在链表长度大于 8 的时候回转化为二叉树, 那么说到二叉树, 就要说二叉树的搜索...... 这样的话, 就成功的把话题转到了二叉树. 当然, 好像二叉树比链表复杂, 这里只是举个例子.
在面试的时候, 特别是比较内向的同学, 要尽量调整自己的状态, 一定要大胆的谈论自己所知道的知识. 大胆而不是礼貌. 比如和面试官面对面的时候, 两个人交谈不至于坐的端端正正, 可以在回答问题的时候配合一些手势, 我觉得这样会让自己很放松, 不要想象自己是在被面试, 而是要认为自己是在想别人展示自己的知识. 这是一个很舒服的过程.
对于 hr 面的时候, 他问你自己的期待的一个薪资待遇的时候, 一定要大胆的说出自己的想法, 不用觉得自己是否说高了, 相信大家心里都有一个标准, 薪资低于多少自己肯定不会去. 所以, 在基于自己的能力的前提下, 大胆说出来就好了. 要自信.
很多公司在技术面试之前还有一个群面, 群面的主题可能和技术无关, 比如当时我面试郎国的时候, 群面的主题就是怎么看待现在小视频时代, 一些低质量的内容对年轻人的一个价值观的影响. 形式就是面试官给每个人一段文章, 然后文章下面又要求, 面试官知识坐在一旁看每个人的表现, 什么话都不说. 说实话, 当时我第一感觉就是这么会有这样的东西, 心里很抵触, 但是想了想, 来都来了, 就试一次也无妨. 结果是我竟然被评分第一. 我自己都没有意料到. 总结要点就是: 第一: 一定要大胆表达自己的观点, 第二: 要选择合适的时机接过话语权, 第三: 不要自己一味总结别人的观点, 要有自己的思维, 可以把这个讨论的问题进行一个延伸, 延伸到其他更高的层面, 第四: 当自己的观点和别人发生冲突或者别人不认可你的观点时, 要学会如何解决, 是据理力争还是协商合并, 第五: 对于无领导讨论, 如果能在一开始掌握发言权, 把自己置于主持的角色也是很棒的.
签约
? 如果到了签约的时候, 那么恭喜你, 成功获得 offer 一枚. 签约之前, 想好自己是否满足对方的公司, 以及薪资待遇等方面, 确认无误可以签约. 否则就慎重考虑, 因为一旦签约之后, 你想和另一家公司签约, 就会面临一个解约问题, 解约一般都是有 5000 违约金的, 这个违约金多少在签约时都会注明, 所以签约需慎重.
说明
以上所有的内容皆是作者本人的心得体会, 码字不易, 希望对你有帮助.
来源: http://www.bubuko.com/infodetail-3458768.html