【offer收割机必备】我简历上的Java项目都好low,怎么办?

栏目: 后端 · 发布时间: 5年前

内容简介:“上篇文章【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?。我们聊了聊Java工程师在跳槽前的1个月,如何利用较短的时间从技术广度、技术深度、基础功底几个方面进行较为完善的准备。这篇文章我们继续来聊一聊,在系统设计和项目经验这两块,应该如何充分的准备,才能拿出有技术含量的项目经验战胜跟你同台竞技的其他工程师,征服你的面试官,收获各种心仪的offer。我们一般在招聘高级及以上工程师的时候,一定会严格考察一项能力,系统设计能力。

高级工程师必备:系统设计能力

如何让你的项目更有技术含量

“上篇文章【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?。我们聊了聊 Java 工程师在跳槽前的1个月,如何利用较短的时间从技术广度、技术深度、基础功底几个方面进行较为完善的准备。

这篇文章我们继续来聊一聊,在系统设计和项目经验这两块,应该如何充分的准备,才能拿出有技术含量的项目经验战胜跟你同台竞技的其他工程师,征服你的面试官,收获各种心仪的offer。

(1)高级工程师必备:系统设计能力

我们一般在招聘高级及以上工程师的时候,一定会严格考察一项能力,系统设计能力。

因为如果你仅仅是对各种各样的技术都熟悉,有技术广度,也有一定的技术深度,实际上是不够的。如果你的系统设计能力不到位,可能导致你在开发系统的时候会乱用技术。

比如说,有的系统他有一些自己特殊的业务场景和技术挑战,实际上在这个场景之下比较合适的是采用 “缓存 + 数据库” 的技术方案来应对。

但是呢,有的工程师会很多技术,但是缺少这种准确的分析系统问题,提出合理的技术方案的能力,也就是缺少系统设计能力,导致他可能会引入Elasticsearch这种技术来尝试解决这个问题。

那么结果必然是失败的。所以之前很多人找我问问题,说我在XX场景下,用了XX技术,但是没有起到我想要的那个结果啊?

我帮他一看,这不是必然的么,你的XX技术应该用在YY场景下,结果你用到XX场景下,肯定是不行的。

这就是系统设计能力的重要性。

【offer收割机必备】我简历上的Java项目都好low,怎么办?

那么落地到现在的互联网行业的面试,大家应该会注意到,很多大厂都会越来越开始问一些系统设计类的问题,举几个例子来看看:

1、如果让你设计一个秒杀系统,你会如何设计?

2、如果让你来设计一个消息中间件,你会从哪些方面来考虑?核心的架 构以及数据结构如何来设计?

3、如果让你来负责一个电商双11大促系统,你会如何来考虑和设计?

**4、我们公司有这样的一个业务场景,XXXX,我给你画个图,YYYY, **

就根据这样的一个场景以及面临的问题,如果让你来设计这个系统, 你会如何考虑?

其实如果你在面试的时候遇到上面的那些问题,就是典型的系统设计问题。

面试中的系统设计问题主要分为两类,一类是常规性的,比如秒杀系统的设计,另外一类是那个公司自己的业务场景下的系统设计。

第一类系统设计问题其实很好快速突击准备,你可以到网上搜一搜互联网公司常问的一些系统设计问题。

收集好一些典型问题之后,百度一些技术博客给出的技术架构设计的思路,将这些思路自己进行整理总结,然后转化为自己的语言,最后落地到纸上画出架构图。

到面试现场,你能够画图把这个系统设计思路说清楚,这个基本就OK了。

这个准备时间不长,突击的话可能几天时间也足够了。

当然,还是那句话,最好的结果,必然是你自己本身做过类似的一些有挑战的系统。

此时你遇到这种系统设计问题,直接可以很牛叉的说,这类系统我之前做过,然后把自己之前的项目经验都现场画图给说出来。

第二类系统设计问题就不太好准备了,因为完全考验的是你实打实的系统设计能力,短时间内针对一个业务场景和技术难点,能否迅速给出一个初步的架构设计和技术方案。

第二类系统设计问题,从长期积累和准备的角度,我的建议是在平时自己在开发系统的时候多思考,自己的这个系统有没有什么技术难题,针对这个技术难题应该用什么什么技术,什么方案来解决,这就是潜移默化的在积累系统设计能力。

但是如果从临时抱佛脚的角度,平时没那样的积累,遇到第二类灵活开放的系统设计问题,那也不能一问三不知,大眼瞪小眼。

【offer收割机必备】我简历上的Java项目都好low,怎么办?

因此,我的建议是:

一、对于你要面试的公司,大致了解一下其业务背景,比如他是做什么的,用户量大概多少,这个一般百度就能搞定。

二、然后如果面试时,面试官针对他们公司的具体业务出了一个系统设计题目,你如果没有思路,建议尽可能的结合第一类的常规系统设计题目来思考套用。

举个例子,比如你面试一个p2p金融业务的公司,如果被问到大量用户同时抢标,如何设计架构?

你没有做过,但是你可以结合一些常规的系统设计题,比如秒杀系统的设计思路,套用在这个新的业务上。

而你如果在面试这家公司前,大致了解了其业务背景,那么对你回答这类系统设计相关的题目,肯定也是很有帮助的。

(2)如何让你的项目经验更有技术含量

在解决了系统设计问题之后,任何一个公司,任何一个面试,都一定会涉及到你作为一个工程师最最核心的价值和能力,就是你的经验,具体来说就是你做过的项目。

这块是 面试准备时的重中之重 ,应该作为 最高优先级 来对待。

有很多同学,做的项目其实挺不错,但是平时疏于总结,面试前也不准备,结果面试时支支吾吾,半天答不上来,白白浪费面试机会。

比如一个非常典型的项目经验的面试考察情景如下:面试官反复的追问项目的各个地方的技术实现细节,就想看看有没有哪个地方是有一定的技术难度的,可以体现出这个候选人的一些项目上的亮点。

但是呢,候选人说来说去,总是从业务的角度去说,就说有哪些子系统组成,分别是干什么的,如何交互的,看来看去都是系统业务的东西,就是没看到什么有技术含量的东西在项目里体现出来了。

如果出现上述的情况,那么这个候选人要拿大厂offer的概率就很低了。

因为你的项目里没看出来什么东西,没什么亮眼的地方。你看起来就跟千千万万个普通的工程师没任何区别。

而且,在薪水方面,你要价23k,但是另外一个人要价是20k,还有一个人要价是18k。

在这种情况下,你觉得你的offer好拿么?我们为什么不找一个更年轻,更有活力的,有冲劲的小伙子,他也做过跟你类似的一些没太大技术含量的项目。

【offer收割机必备】我简历上的Java项目都好low,怎么办?

虽然你工作了5年,人家就工作了3年,但是从技术和项目两块考察,你跟他没太大区别。你不过就是比他多工作了2年,多做了几个没技术含量的项目罢了。

但是在薪资要求方面,你可比人家多了5k,在这个时候,面试官在没更好选择的情况下,一定会找那个薪资要求仅18k的小伙子。

这也是为什么很多同学不好好准备出去面试,结果面半天,老是被人家说:你先回去等通知,我们要再多面试几个候选人综合考察一下。到最后面试好多次也拿不到几个offer。

其实原因很简单,你没什么能打动面试官的亮点,没什么太突出的能力。而你的工作年限越长,薪资要求越高,就越是不容易拿到好公司的offer。

上面说的,是一个极端,这类同学对自己做过的项目毫不重视,导致无法在面试中复现项目中的各种技术细节、技术难点。

这样,即使你的项目很牛,那又有何用,你当时做项目的时候,面试官又不在场。。。

然而,也有不少同学,他们的项目其实并不高端,甚至是有点low。但是呢,人家凭借自己精心的准备,加上一些面试技巧,巧妙的让自己的项目脱胎换骨,瞬间变得高大上。

所以说,项目准备,百转千回,这里面有不少门道,接下来咱们就来聊聊。

同样,咱们分为两条路线来谈:一个是长期准备型;一个是短期突击,临阵磨枪。

对于前者,我个人的建议,还是像之前说过的一样,平时你工作的时候,一定多给自己设立技术挑战。总结起来一句话:没有困难,制造困难也要上。

这里面可能会存在对于架构的过度设计的问题,站在公司的层面会觉得花那么多时间设计这些架构实在是无用功,但是从个人发展的角度,为了你的职业生涯发展,你有时不得不过度设计一下。

况且,这个对公司也未必是一件坏事,万一你公司以后规模发展起来了呢?这个谁又说的清楚。

举个例子,你在公司目前是负责一个OA办公系统,就内部几十个人使用,主要就是写写业务,crud啥的,看起来很low的项目。

然后呢,你使用的技术就是简单的SSM,可能连SpringBoot都没上,整个项目就部署的一个单体工程,没有微服务、没有缓存、跟所有高并发高可用等技术完全绝缘。

确实,几十个人用,你何必杀鸡焉用宰牛刀呢?但是想象一下,如果你的公司是一个世界500强,这套OA系统有上万人使用,那么情况肯定就不同了,你可能就需要另外一套技术架构。

当然,这只是笔者举的一个例子,之所以用这个举例,是想说明一下,无论你做的是什么项目,你都可以从某种角度出发,给自己制造各种技术难题,然后解决难题。

你可以在不要给工作量增添太多的情况下,尽可能从公司发展的角度去考虑,向领导阐述你的考虑,这样公司未来发展5~10年,这套架构都够用了。

并且在面试时,你在阐述项目经验的时候,可以让面试官看到你在里面有更多的技术架构的设计,考虑到了解决更多的技术问题,那么自然你的面试表现就会更好,就更加容易会拿到更好的offer了。

上述就是所说的第一点,长期情况下应该如何积累自己的项目面试经验。

【offer收割机必备】我简历上的Java项目都好low,怎么办?

接下来说说第二点,项目的短期突击应该如何进行,才能尽可能的让我们的项目显得更加吸引人。我估计可能更多的同学需要这方面的技巧。

但是笔者还是事先强调,这种短期突击、临阵磨枪,效果肯定是比不上长期的一步步稳扎稳打,这只是一种应对面试的退而求其次之选。

如果大家有时间,或者说通过这种短期突击的打法拿到了心仪的offer,还是应该沉下心来,一步步积累,技术的东西,来不得半点马虎。

如果你之前因为种种原因,在面试前没有做过多的长期积累,那么短期的情况下,应该如何临阵磨枪呢?

我这里的建议是,你自己至少应该反复思考,你目前负责的系统应该引入什么样的技术架构,采用何种技术方案,才能抗住各种冲击。

突击准备,你肯定没有大把时间来付诸实践,但是你一定要自己思考,同时百度一下国内一线互联网公司的技术架构,他们使用了哪些高大上的技术,对于某个技术难点采用了什么技术方案。

然后在面试的时候,可以对面试官阐述一下你对这个项目一些问题的思考,以及技术方案、架构如何来设计,这样设计可以解决什么技术问题,有没有更好的方案选择。

这样一来,你起码比普通人多一些思考,提出更多的方案,这也能成为你更加亮眼的地方。

还是那句话,做,总比不做强。你对自己的项目思考了很多的技术方案,这样和面试官总还有一些技术上的交流和探讨的东西。你的项目也不至于说充满了各种CRUD,毫无亮点可言。

(图源网络,侵权删除)

END

扫描下方二维码,备注:“ 资料 ”,获取更多“ 秘制 ” 精品学习资料

【offer收割机必备】我简历上的Java项目都好low,怎么办?

如有收获,请帮忙转发,您的鼓励是作者最大的动力,谢谢!

一大波微服务、分布式、高并发、高可用的原创系列文章正在路上

欢迎扫描下方二维码,持续关注:

【offer收割机必备】我简历上的Java项目都好low,怎么办?

石杉的架构笔记(id:shishan100)

十余年BAT架构经验倾囊相授

推荐阅读:

1、 拜托!面试请不要再问我Spring Cloud底层原理

2、 【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?

3、 【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

4、 微服务架构如何保障双11狂欢下的99.99%高可用

5、 兄弟,用大白话告诉你小白都能听懂的Hadoop架构原理

6、 大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问

7、 【性能优化的秘密】Hadoop如何将TB级大文件的上传性能优化上百倍

8、 拜托,面试请不要再问我TCC分布式事务的实现原理!

9、 【坑爹呀!】最终一致性分布式事务如何保障实际生产中99.99%高可用?

10、 拜托,面试请不要再问我 Redis 分布式锁的实现原理!

11、 【眼前一亮!】看Hadoop底层算法如何优雅的将大规模集群性能提升10倍以上?

12、 亿级流量系统架构之如何支撑百亿级数据的存储与计算

13、 亿级流量系统架构之如何设计高容错分布式计算系统

14、 亿级流量系统架构之如何设计承载百亿流量的高性能架构

15、 亿级流量系统架构之如何设计每秒十万查询的高并发架构

16、 亿级流量系统架构之如何设计全链路99.99%高可用架构

17、 七张图彻底讲清楚ZooKeeper分布式锁的实现原理

18、 大白话聊聊Java并发面试问题之volatile到底是什么?

19、 大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?

20、 大白话聊聊Java并发面试问题之谈谈你对AQS的理解?

21、 大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?

22、 大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化

23、 互联网公司的面试官是如何360°无死角考察候选人的?(上篇)

24、 互联网公司面试官是如何360°无死角考察候选人的?(下篇)

25、 Java进阶面试系列之一:哥们,你们的系统架构中为什么要引入消息中间件?

26、 【Java进阶面试系列之二】:哥们,那你说说系统架构引入消息中间件有什么缺点?

27、 【行走的Offer收割机】记一位朋友斩获BAT技术专家Offer的面试经历

28、 【Java进阶面试系列之三】哥们,消息中间件在你们项目里是如何落地的?

29、 【Java进阶面试系列之四】扎心!线上服务宕机时,如何保证数据100%不丢失?

30、 一次JVM FullGC的背后,竟隐藏着惊心动魄的线上生产事故!

31、 【高并发优化实践】10倍请求压力来袭,你的系统会被击垮吗?

32、 【Java进阶面试系列之五】消息中间件集群崩溃,如何保证百万生产数据不丢失?

33、 亿级流量系统架构之如何在上万并发场景下设计可扩展架构(上)?

34、 亿级流量系统架构之如何在上万并发场景下设计可扩展架构(中)?

35、 亿级流量系统架构之如何在上万并发场景下设计可扩展架构(下)?

36、 亿级流量架构第二弹:你的系统真的无懈可击吗?

37、 亿级流量系统架构之如何保证百亿流量下的数据一致性(上)

38、 亿级流量系统架构之如何保证百亿流量下的数据一致性(中)?

39、 亿级流量系统架构之如何保证百亿流量下的数据一致性(下)?

40、 互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(1)

41、 互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(2

42、 面试大杀器:消息中间件如何实现消费吞吐量的百倍优化?

43、 高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?

44、 兄弟,用大白话给你讲小白都能看懂的分布式系统容错架构

45、 从团队自研的百万并发中间件系统的内核设计看Java并发性能优化

46、 【非广告,纯干货】英语差的 程序员 如何才能无障碍阅读官方文档?

47、 如果20万用户同时访问一个热点缓存,如何优化你的缓存架构?

48、 【非广告,纯干货】中小公司的Java工程师应该如何逆袭冲进BAT?

49、 拜托,面试请不要再问我分布式搜索引擎的架构原理!

50、 【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?

作者:石杉的架构笔记 链接: juejin.im/post/5c263a… 来源:掘金 著作权归作者所有,转载请联系作者获得授权!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Book of CSS3

The Book of CSS3

Peter Gasston / No Starch Press / 2011-5-13 / USD 34.95

CSS3 is the technology behind most of the eye-catching visuals on the Web today, but the official documentation can be dry and hard to follow. Luckily, The Book of CSS3 distills the heady technical la......一起来看看 《The Book of CSS3》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具