前言
不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个“有章可循”说的意思只是说应对技术面试是可以提前准备。 我其实特别不喜欢那种临近考试就提前背啊记啊各种题的行为,非常反对!我觉得这种方法特别极端,而且在稍有一点经验的面试官面前是根本没有用的。建议大家还是一步一个脚印踏踏实实地走。
运筹帷幄之后,决胜千里之外!不打毫无准备的仗,我觉得大家可以先从下面几个方面来准备面试:
-
自我介绍。(你可千万这样介绍:“我叫某某,性别,来自哪里,学校是那个,自己爱干什么”,记住:多说点简历上没有的,多说点自己哪里比别人强!)
-
自己面试中可能涉及哪些知识点、那些知识点是重点。
-
面试中哪些问题会被经常问到、面试中自己改如何回答。(强烈不推荐背题,第一:通过背这种方式你能记住多少?能记住多久?第二:背题的方式的学习很难坚持下去!)
-
自己的简历该如何写。
“80%的offer掌握在20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。
另外,大家要明确的很重要的几点是:
-
写在简历上的东西一定要慎重,这可能是面试官大量提问的地方;
-
大部分应届生找工作的硬伤是没有工作经验或实习经历;
-
将自己的项目经历完美的展示出来非常重要。
一 简历该如何写
俗话说的好:“工欲善其事,必先利其器”。准备一份好的简历对于能不能找到一份好工作起到了至关重要的作用。
1.1 为什么说简历很重要?
假如你是网申,你的简历必然会经过HR的筛选,一张简历HR可能也就花费10秒钟看一下,然后HR就会决定你这一关是Fail还是Pass。
假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心,也无能为力。
另外,就算你通过了筛选,后面的面试中,面试官也会根据你的简历来判断你究竟是否值得他花费很多时间去面试。
1.2 这3点你必须知道
-
大部分应届生找工作的硬伤是没有工作经验或实习经历;
-
写在简历上的东西一定要慎重,这可能是面试官大量提问的地方;
-
将自己的项目经历完美的展示出来非常重要。
1.3 两大法则了解一下
目前写简历的方式有两种普遍被认可,一种是 STAR, 一种是 FAB。
STAR法则(Situation Task Action Result):
-
Situation: 事情是在什么情况下发生;
-
Task:: 你是如何明确你的任务的;
-
Action: 针对这样的情况分析,你采用了什么行动方式;
-
Result: 结果怎样,在这样的情况下你学习到了什么。
FAB 法则(Feature Advantage Benefit):
-
Feature: 是什么;
-
Advantage: 比别人好在哪些地方;
-
Benefit: 如果雇佣你,招聘方会得到什么好处。
1.4 项目经历怎么写?
简历上有一两个项目经历很正常,但是真正能把项目经历很好的展示给面试官的非常少。对于项目经历大家可以考虑从如下几点来写:
-
对项目整体设计的一个感受
-
在这个项目中你负责了什么、做了什么、担任了什么角色
-
从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用
-
另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的。
1.5 专业技能该怎么写?
先问一下你自己会什么,然后看看你意向的公司需要什么。一般HR可能并不太懂技术,所以他在筛选简历的时候可能就盯着你专业技能的关键词来看。对于公司有要求而你不会的技能,你可以花几天时间学习一下,然后在简历上可以写上自己了解这个技能。比如你可以这样写:
-
Dubbo:精通
-
Spring:精通
-
Docker:掌握
-
SOA分布式开发 :掌握
-
Spring Cloud:了解
1.6 其他的一些小tips
-
尽量避免主观表述,少一点语义模糊的形容词,尽量要简洁明了,逻辑结构清晰。
-
注意排版(不需要花花绿绿的),尽量使用Markdown语法。
-
如果自己有博客或者个人技术栈点的话,写上去会为你加分很多。
-
如果自己的Github比较活跃的话,写上去也会为你加分很多。
-
注意简历真实性,一定不要写自己不会的东西,或者带有欺骗性的内容
-
项目经历建议以时间倒序排序,另外项目经历不在于多,而在于有亮点。
-
如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。
-
简历最后最好能加上:“感谢您花时间阅读我的简历,期待能有机会和您共事。”这句话,显的你会很有礼貌。
实际场景题
我觉得实际场景题就是对你的知识运用能力以及思维能力的考察。建议大家在平时养成多思考问题的习惯,这样面试的时候碰到这样的问题就不至于慌了。另外,如果自己实在不会就给面试官委婉的说一下,面试官可能会给你提醒一下。切忌不懂装懂,乱答一气。
面试官可能会问你类似这样的问题:
①假设你要做一个银行app,有可能碰到多个人同时向一个账户打钱的情况,有可能碰到什么问题,如何解决(锁)
②你是怎么保证你的代码质量和正确性的?
③下单过程中是下订单减库存还是付款减库存,分析一下两者的优劣;
④同时给10万个人发工资,怎么样设计并发方案,能确保在1分钟内全部发完。
⑤如果让你设计xxx系统的话,你会如何设计。
最后,再强调几点:
-
一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的;
-
能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
-
和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
-
注意自己开源的Github项目,面试官可能会挖你的Github项目提问;
-
建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。
另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!
欢迎关注微信公众号:码邦主