怎么考虑技术面试的项目部分呢?

——面试的关键就是表演,一个人人如果它技术很好可是不懂得表演不知道他所面对的企业需要的人才是什么样子的,那么他会在同类岗位竞争中处于劣势。那么如何表演呢?就成了关键。

一个好的脚本,
加上一个好的提词器。

1、你在描述项目的时候会有提词器和脚本嘛?

脚本是什么?

什么时间、地点、画面中出现什么、镜头该怎么运用、景别是怎样的、服装、化妆、道具该怎么准备……都是根据脚本来操作的。
脚本的作用就是提前统筹安排好每一个人每一步要做的事。

对应到技术中的脚本就是:

你应该知道在什么时间点介绍你的项目背景业务背景技术背景,然后在大概什么时间点开始介绍自己的项目(亮点,难点),俗话说的好:台下10年功台上1分钟。 你在做项目描述的时候就是在做一件事情怎么把面试官在你的脚本线上引入到你提前设计好的“陷阱”(也就是所谓的 亮点和难点)里面。 因为一般正常的面试流程:自我介绍,项目介绍,技术介绍,手撕算法。 项目介绍是最容易和他人形成差距,形成最直观印象的地方。 这也是我们需要一个脚本来规划面试中介绍的路线。

提词器是什么?

在你卡壳,准备发出“呃呃呃呃呃呃呃呃呃呃呃” 这样的长叹音的时候,告诉你接下来该做什么。同时也给一些希望发出“呃呃呃呃呃呃呃呃呃呃”,“嗯嗯嗯嗯嗯嗯嗯” 的 同学一些建议,可以先想好在回答不用急着开口。

那么在技术面试中就是:
一个支持全文匹配的本地搜索引擎,因为技术面试时大部分时候除了手撕代码时需要监控屏幕,那么你有一个记录了你的项目,技术的本地引起是能让你的面试变的更加的丝滑的。比如G1或者CMS的stop world的回收时都做了啥有哪些区别,看到这里的同学能准确回答嘛。 所以一个提词器的重要性很高。

那该怎么样去做项目介绍呢?

我们可以从以下几个角度去考虑:

1、如何引导面试官往自己的希望的陷阱前进呢?
正如大部分剧情的发展,
a、从世界是什么样的?(业务背景,项目技术背景,当时遇到了什么问题了?)
b、我是什么样的?(我在项目和团队中充当了一个什么样的角色?)
c、我做了啥?(大概做的事情,不是很重要但是不可缺少的,因为告诉了面试官你的技术宽度比如:做了去中心部署,日常的docker镜像的升级,线上运维,问题排查)通过这些告诉了面试你和其他候选人大部分能力模型是一致的。
d、我做的过程中碰到的最大挑战或者有意思的点是什么?(这个是决定了你和其他候选人一个最大差异价值的点,也是整个脚本中故事的高潮), 那么什么是最大的挑战呢或者什么是有意思的点呢?

也就是我们怎么考虑我们项目中的难点和亮点?

从一些小说电影来说, 最大的挑战和最有意思的点是什么呢?最能让读者或者观看者引起共鸣。
在介绍挑战的时候,采用的最多的方法是“做对比“,举一个例子在西游记中,在孙悟空大闹天宫的过程中:我们可以很明显的知道 佛祖的实力大于杨戬大于巨灵神。 同样我们在设计难点的时候:难点一般都会有业界的解决方案。如果你是一个p9你可能关心的是一个行业级别的解决方案。那么你的难点复杂度可以定义为p9(比如云上数据库,ocbase,spanner,Aurora). 在你介绍和解决p9 这一个难题应该可以被拆分为多个 p8(例如一个数据库的设计又分为:存储层,事务,执行计划,代价估计,优化器等等). 然后p8的的一个问题又可以划分为多个p7的子问题(比如 存储层可以划分为多个比如 文件系统,内存池,并发,等等)。

那么首先你应该明确你可以定义的难点复杂度在什么等级?

那么在定义了难点的复杂度后就可以考虑第二个问题。
难点的规模有多大?
那什么是难点的规模呢? 还是回到孙悟空大闹天宫来说,孙悟空打巨灵神和杨戬的时候消耗的技能不同。

那么你在项目中解决这个问题用到技能的繁琐就是一个你的难点的问题规模

有了必要的两个核心因素我们就可以开始我们的难点和亮点设计。
设计过程是这样的,

1、确定你的项目的难点复杂度,根据你所确定的项目复杂度,去看别人业界是怎么解决的? 比如我有一个p7复杂度的问题(消息队列的文件索引怎么设计),那么这个时候我们确定了复杂度后,在这个复杂度上考虑问题规模,阿里做出来的rocketmq在做文件索引上相比kafka这些在文件索引上有哪些区别?我在过程中做了哪些优化?通过这些优化使得在xx场景下带来什么xx收益?

通过上面的**“复杂度”+“问题规模”** 你就能想清楚你当前的项目的复杂度够不够? 如果你只是一个p6你发现你有用到redis,那么你可能需要向上升一层“复杂度“ 将使用redis,考虑到redis 的部署差异,redis 的一致性 等等也就是你团队负责人或者你们组内优秀的同学,在做的事!!将你的复杂度升一层,能让你用p7的复杂度去降维打击p6的复杂度。 还有另外一个角度“问题规模 “ ,就是你把某一个特性玩出了花,那怎么理解呢?比如说其他的p6在使用redis的时候他们关注到了redis的一致性,部署方式,缓存淘汰这些都很常见对吧。那么你这个时候你要升级“问题规模” ,看你们团队,公司,行业用到的一些偏僻特性。或者redis的一致性 问题,那么你要就redis的一致性去看能构造出一个更复杂的场景。

该选择怎么样的复杂度和问题规模的组合?

收益(某些场景下是个人影响力)
行业->公司->团队->自己
解释清楚的成本
行业<-公司<-团队<-自己

不同的复杂度+问题规模 带来的 收益 能帮助你的打击同水平下的其他候选人。但是相反的复杂度和问题规模的上升意味着你对这一块的掌握情况会变的更浅。大部分人最多只能够接触到自身等级+1的一个复杂度和问题规模。再往上去包装项目和设计就完完会露馅了,适得其反。思考同样应聘这个岗位的其他同学的技术栈和能力模型,选择自己一个合适的复杂度和问题规模就会更容易得到自己心意的offer。

下面是一个例子:
一个办公场景的OA,如果这个时候想要投互联网的公司,其中最容易出发和让面试官觉得能match上的所谓的经历就是“kafka”和“es”,那么我们就要尽量围绕着**“kafka”和“es”** 去做复杂度和问题规模的升级。
考虑:
这个难点或者亮点能引生出某一个技术点的使用吗?(比如你用redis 了xx特性在你的xx场景下解决了xx问题,给项目技术或者业务带来了xx指标的提升)

你的项目都比较偏智慧城市的解决方案,你的描述语言却是停留在一个管理系统的水平。你可以参考阿里云,华为云,还有一些sass服务看看他们是怎么介绍你同样的功能和项目的,你要把你的项目高度从政府OA升级到智慧城市的高度。

那么如何升级呢? 去搞懂云上别人和你同样功能的差异点是什么?
把你的场景扩展到他们的场景规模,比如你第一个项目中用到了es和kafka其实是一个很好的技术引申点,那么你就要考虑2个主要的事情,1是智慧城市中他们用来做什么?我门项目中用来做什么?我要怎么包装让它往智慧城市方向上靠。2、我的实际使用es/kafka 有没有很难或者设计上的亮点?没有的话我能不能把他们的案例套在我目前的项目上?

怎么样去评估面试项目这一部分准备好了没?

1、当你完成包装你应该产出一个 类似 电影拍摄中的(脚本,该脚本按照时间线或者空间线去描述你做的事情)。

2、该事情发展应该 从 开始-平淡-出现亮点-引申技术-围绕技术扩展深度-围绕技术扩展宽度(从技术对比,到行业对比,到为什么我选择这样做)- 收尾 ,整个节奏控制在 30-45min内。

3、 刻意练习,当你写完脚本后,你应该找一个或多个“面试官” 提前模拟脚本, 看是否存在漏洞和欠缺,反复迭代脚本。可以再按复杂度细化项目中的核心技术亮点

4、一个大概成型的脚本大概是这样的:

描述项目业务背景,技术背景。 0-5min

开始介绍项目中的核心技术亮点,痛点 5-45 min

A.技术亮点和痛点当时面临的问题是什么?

B.我是怎么考虑的?

C.怎么解决的?

D.解决了带来了哪些指标上的提升?

E.这个时候面试官会反问你项目设计或者你回答过程中的点去引申一些技术难点或者痛点,你应该清楚知道你埋下的点是什么。 (引申方向就按 复杂度纵向上升,横行扩展

一些面试中细节:

1、三思而后行, 不要一上来就回答问题,想好 问题有几种状态? 有几种边界?

2、开放性问题,一定要会反问, 将抽象的问题具体化,将大量数据的问题找到子问题结构,找到划分成小问题的点,针对每一个小问题做单独的回答。

3、控制语速,不要越答越快,这很重要!,语速快了以后你的回答可能会出现逐渐没有逻辑,同时这个也可以通过刻意练习来解决。 尤其是比如碰到了压力面试,他会抢答,打断你这个时候你要把你的节奏放慢,敌人越快你要越慢,整理好逻辑链后去回答,最好知道它这个问题的方向和角度能够知道他期待的是什么。

4、逻辑链:回答问题一定要有 出发点和结束点。这是什么意思呢? 出发点: 比如最常见的一个问题:用户访问你的网页发生了什么? 这个时候你不可能直接回答就从tcp/ip 做了什么开始介绍? 回答这类问题有几个大的思路:

4.1、总分总: 总分总的话介绍起来更多是偏自己不熟的或者项目有哪些模块这样的,总分总 不是一个推荐的模式:
为什么呢? 因为总分总会导致你介绍的模块没有重点。同时面试官的体感也会很弱,导致感受不到你在其中的角色是什么样子的。总分总 一般都是搭配这时间顺序和空间顺序一起使用。

4.2、时间顺序
4.3、空间顺序,空间顺序在软件结构设计中主要是: 1、自底向上设计,比如你从 数据库->代码应用层-> 限流->负载均衡 等等 。与之向反的就是 自上而下, 那么如何选择哪一种方式会更适合自己呢? 看你的(亮点,难点)出现的时机是什么?推荐把(亮点,难点所在的层次放到后面介绍,这样你就知道你该用下到上还是上到下了)

5、做引导
要让面试官回归到你的脚本线上,让他脑袋里的进度和你的进度保持在同一个节奏上面。如果发生了脚本线的偏移,应该在你发现前面是你不熟悉的领域及时拉回到脚本上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值