Skip to content

Commit

Permalink
improvement
Browse files Browse the repository at this point in the history
  • Loading branch information
kenberkeley committed Jan 9, 2022
1 parent a138930 commit 92cba51
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ lang: zh-CN

1. 电面(Phone screening)
2. 做题(Coding exercises / Technical challenges)
3. 现场面试(Onsite interviews,大厂可能有多轮)
3. 现场或远程面试(Onsite or remote interviews,大厂可能有多轮)
4. Offer + 背调(Reference check,小厂可能没有)

招聘周期视乎职位紧缺度、申请人数等诸多因素,跨度从数周到数月不等。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ lang: zh-CN

由于面试时自我感觉良好,自以为胜券在握,故之后我便停止了简历投递。然而「早乐必早衰」,或许我只是一个备胎而已。在一厢情愿地白等了一两周后,我被逼重新上路。

因此,在还没拿到 offer 之前,都应该继续保持原来的节奏,切勿过于理想化。
**因此,在还没拿到 offer 之前,都应该继续保持原来的节奏,切勿过于理想化**

### 相互选择

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ lang: zh-CN
### 外包咨询

在国内,由于人工相对便宜,很多公司都有自己的技术人员。
但在澳洲,选择第三方服务(SaaS 或外包)往往要比自己请人划算。
但在澳洲,选择第三方服务(Consultancy 或 SaaS)往往要比自己请人划算。
即便要请人,合同工(contractor)也往往比正式员工(permanent role)走俏。

在澳洲,软件咨询服务行业的发展相当不错。
Expand Down Expand Up @@ -64,26 +64,6 @@ lang: zh-CN

### 墨尔本

* NAB

* ANZ

* REA

* Sportsbet

* SEEK

* Carsales

* Redbubble

* Envota

* Xero

* MYOB

### 布里斯班

### 珀斯
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ HR 们宁愿去爬 Github 用户,筛选后群发面试邀请,都不愿意处
而在考拉的故乡澳洲,效率更是无从谈起。
一个月前自行投递的简历,可能现在才收到面试邀请。
**但只要是内推的,我几乎都可以很快地进入到面试流程**
内推相当于**开后门走捷径**,内推人或许还能帮忙催进度,何乐而不为?
内推相当于**走捷径**,内推人或许还能帮忙催进度,何乐而不为?

## 圈子(Networking)

Expand All @@ -52,7 +52,7 @@ HR 们宁愿去爬 Github 用户,筛选后群发面试邀请,都不愿意处
[匠人 IT 圈](https://jiangren.com.au/community?utm_source=kenberkeley) 的客服后求拉群(例如「前端开发」),相信你可以很快找到组织。
(P.S. 我并没有收取任何广告费,如果匠人觉得流量不错的话,可不妨考虑一下 :)

当然还有线下 [Meetup](https://www.meetup.com/itgroup) 等,但于求职而言效率较低,毕竟这是以线下活动为主。
当然还有线下 Meetup 等,但于求职而言效率较低,毕竟这是以线下活动为主。

## LinkedIn

Expand All @@ -65,7 +65,7 @@ HR 们宁愿去爬 Github 用户,筛选后群发面试邀请,都不愿意处

然而,仅仅是展示成果(项目代码、技术文章)仍不够立体,也不足以形成闭环的生态。
LinkedIn 就像是淘宝,提供一个通用化的平台,让每个人都可以在上面充分地展示自己。
除了可列举教育背景、工作经历、技能认证等,还有来自圈友的评价与背书(商业互吹?)。
除了可列举教育背景、工作经历、技能认证等,还有来自圈友的评价与背书(~~商业互吹?~~)。

猎头和招聘方就像是买家,按照招聘要求在 LinkedIn 上进行搜索。
作为买家,肯定希望看到既详细又有说服力的「宝贝详情」,尤其是带「用户评价」的。
Expand All @@ -87,7 +87,7 @@ LinkedIn 就像是淘宝,提供一个通用化的平台,让每个人都可

经营 LinkedIn 犹如经营网店,不妨参考那些点满皇冠的店为什么可以那么火。
多来点有用的干货、endorsements,connections,往往可以提高你的曝光度。
最终「**主动求职**」变「**被动求职**」,只要你愿意,每周都会有猎头问你「想跳槽不」。
最终「**主动求职**」变「**被动求职**」,只要你愿意,每周都会有猎头私信你「想跳槽不」。

> LinkedIn 还有很多其他玩法,在此不再赘述,有兴趣的请自行查阅相关资料。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,9 @@ lang: zh-CN
在国内,需求堆不完,改动也频繁,几乎很少写测试。
于是又备注 TODO:学习 Jest 以及 Unit testing、CI/CD 相关。

再例如,「Agile」出现的频率也很高,但不知道是啥。
搜索了一下才知道原来这就是「敏捷开发」,然而还是一脸懵逼。
印象中记得 [@虎头锤](https://youtu.be/aGtkWBtZ-HQ) 发过朋友圈,还出过相关的作品,是该领域的专家。
于是赶紧备注 TODO:找锤姐培训敏捷开发以及面试的套路(**别忘了发红包哦**)!
再例如,「Agile / Scrum」出现的频率也很高,但不知道是啥。
搜索了一下才知道原来这是「敏捷开发」,然而还是一脸懵逼。
于是赶紧备注 TODO:了解敏捷开发的相关概念及其常见的面试问题。

这实际上有点像考前复习 —— 查漏补缺。
经过阅读大量的 JD 之后,我得到了一堆高频字词和一个 TODO list。
Expand Down Expand Up @@ -108,7 +107,7 @@ lang: zh-CN
...
[Education - 教育经历]
... // 如果是常青藤级别,请改放到 Summary 后
... // 排名好的可改放到 Summary 后
```

另外,老师还经常强调要「**分点**」。这样子阅卷人看得舒服,一目了然,自然给分爽快。
Expand Down Expand Up @@ -197,8 +196,8 @@ lang: zh-CN
Role / Job Description 毕竟是英文,我们对文字内容的熟悉度相当有限。
如果你在仔细阅读后稍微做点笔记,那么你将会在之后更快地进入状态。
* 避免职位被撤后,无法回看基本信息
某些网站把职位撤下来后,我们再次打开就是 404。
因此,不仅要记下 JD 链接,更要记下要点(薪资)。
HR 收够简历后,通常会把职位撤下来,之后再次打开就是 404。
因此,不仅要记下 JD 链接,更要记下要点(基本要求、薪资等)。

## FAQ

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ lang: zh-CN

* 算法主导型
澳洲大多数公司的面试都不考算法,就算要考难度也不会太高。
当然如果你是要面试 Google、Microsoft、Amazon 等,就当我没说。
当然如果你是要面试 FANG 等,就当我没说。

在我的求职期里,也只遇到 Canva 和 Servian 考察算法。
它们都用 HackerRank.com,一个类似 LeetCode 的平台。
Expand Down Expand Up @@ -106,7 +106,7 @@ Git log 几乎是最快了解候选人职业素养的途径。

### 代码风格

由于业界有各类 IDE、Linter 及 Prettier(前端的美图秀秀、Photoshop)
由于业界有各类 IDE、ESLint、Prettier、Git pre-commit hook format
因此,目前大家写出来的代码基本都差不多,比较难看出白板素颜。
尤其是用到 React / Vue 等非纯 JS 的项目,区别就更小了。
只要对语言特性稍微熟悉点,没有满屏的 for 循环,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ lang: zh-CN
---

行为面试的核心就是之前强调过的 Cultural Fit,其乃技术以外的主宰。
面试官未必是 HR,经常会是你未来的 boss 加另一个避免冷场的同事
面试官未必是 HR,经常会是你未来的直属上级及若干个同组的同事
套路基本都是对方先介绍公司的概况,之后就进入到对方问你答环节。

在之前的电面中,我已经有足够的热身。
Expand All @@ -21,7 +21,7 @@ lang: zh-CN
### 了解常见的问题

例如,Google 搜索「Behavioral interview questions」。
又例如,到 Glassdoor 上看对应公司的面经
又例如,到 Glassdoor 等网站上看对应公司的面经

常见的有:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,54 +54,17 @@ lang: zh-CN
> 有关 Scrum 的概念,不妨参考 [敏捷开发之 Scrum 扫盲篇](https://www.cnblogs.com/taven/archive/2010/10/17/1853386.html)
Agile 只是理论层面的方法论,要落实还得有一套执行模式。
例如,比较常见的是 Scrum + Kanban,这也是很多大厂的套路。
例如,比较常见的是 Scrum / Kanban,这也是很多大厂的套路。
(以下例图来自 [Agile and Scrum Overview](https://medium.com/jorgeacetozi/agile-and-scrum-overview-fb68fc04aff8)

![Scrum Diagram](./_images/scrum-diagram.png)

概念性的东西太多了,下面以我新入职的团队为例进行说明。

目前我们组采取 Scrum 模式,一个 Sprint 的周期为两周。
开始前有 Planning meeting,结束时有 Review & Retrospective meeting。
每天早上都有 15 min 的 Stand-up meeting,供每人汇报昨日进度及今日计划等。
所有的这些都基于 Atlassian Jira 项目管理系统,该提供看板(Kanban)便于进度管理。

我作为开发,基本上就是等 boss 在 Jira 给我指派 ticket(类似于 Github 的 issue)。
如果即将做或已经开始做了,那么我就会在 Stand-up meeting 时就告诉 boss,
他就会当场把我要做的 ticket 从 `TODO` 列拖到 `IN PROGRESS` 列。

实现时一般都要开新的 branch,做完后提 pull request,让组内同事进行 code review。
此时 ticket 就应该从 `IN PROGRESS` 列拖到 `REVIEW/TEST` 列。
成功合并回 master 后,那就是拖到 `DONE`,结束。
我甚至都不需要学习 Jira,只是跟单就好了。

在这种开发模式下,我只是流水线上的一个工人。
我可以非常专注于我的工作,而不用管很多撕逼扯皮的事情。
然而 boss 作为「Product Owner」,忙着开会与外部对接,无暇顾及琐碎杂事。
那么问题来了:请问谁帮 boss 分担需求的切分、细化与编排等繁琐但重要的工作?
例如,负责把 boss 接到的需求,整理到 Jira 项目管理与 Confluence 文档系统中。
又例如,开 Review & Retro meeting 的时候,负责会议记录,整理大家的反馈。

在我们组,这个职位就是 BA (Business Analyst),琐碎事和撕逼扯皮全靠他。
也正是有了他,我作为开发才能专注于实现,而不用考虑太多的项目管理。
我就像一个 CPU,boss 和 BA 只需要让我保持合理的负载即可。
到 Review & Retro 的时候,再根据我完成的质量和情况,
相对应地合理安排我在下一个 Sprint 的 capacity。

## 结对编程(Pair Programming)

对于算法主导类的技术面,Pair 肯定是必须的。
很多都在 HackerRank 的 [CodePair](https://support.hackerrank.com/hc/en-us/articles/115008269227-Introduction-to-CodePair) 上进行,建议提前熟悉用户界面。
至于能不能通过,基本就是看你对刷题的投入,不在下文的讨论范围之内。

Pair 属于 Agile 的实践,但实际上很多公司在日常开发中都不会采用。
上面提到,Agile 只是指导思想,实践时可以因地制宜,选择最合适的模式。
例如,我的新团队也用 Agile,但没有 Pair,只是遵循 Scrum 的开发管理模式而已。
他们面试我时,也没有 Pair 环节,仅仅就是根据 coding exercise 进行交流探讨而已。

然而,对于个别非常热衷 Pair 的公司,其技术面试中肯定就有 Pair。
由于我过去没有 Pair 经验,因此我需要把套路总结出来,以便速成。

首先要弄清楚:为什么要 Pair?有什么好处?
如果你想要标准答案,建议自行 Google 搜索。
但对于面试官,说白了就是:与候选人一起工作,看对方是否合适做同事。
Expand All @@ -121,10 +84,6 @@ Pair 属于 Agile 的实践,但实际上很多公司在日常开发中都不
又如,当初实现时就考虑到了拓展性,那么你也应该在相应的代码块解释一番。
若遇上算法类卡壳的情况,讲出自己的困难,比无动于衷地陷入冷场要好得多。

* TDD(Test-Driven Development)
对于极个别崇尚 TDD 的公司,写 code 前先写 tests 是加分项。
但由于这难度有点高了,一般人都很难速成,因此请自行斟酌。

## 温馨提示

* 现场面试时一般都是在会议室,请确保你的笔记本 (e.g. Type C) 支持 HDMI 输出。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ lang: zh-CN

1. [电面(Phone screening)](./1-phone-screening.md)
2. [做题(Coding exercises / Technical challenges)](./2-coding-exercises.md)
3. 现场面试(Onsite interviews,大厂可能有多轮)
3. 现场或远程面试(Onsite or remote interviews,大厂可能有多轮)
· [行为面试(Behavioral interview)](./3_1-behavioral-interview.md)
· [技术面试(Technical interview)](./3_2-technical-interview.md)
4. [Offer](../4-offer/index.md) + 背调(Reference check,小厂可能没有)
Expand All @@ -22,12 +22,11 @@ lang: zh-CN

* 个别优质厂由于求职者过多,在所有上述流程前还会有 0. [线上预评估](./0-online-assessments.md)
* 1 和 2 是可互换的。譬如对方发邮件让你先做题,通过后再电话联系。
* 如果是跨城市求职,那么 3 就应该是远程面试(Remote interview)。
* 3 中技术面与行为面是不定序的,但一次过通常都是先行为后技术。
* 现场面试可以提前到,但**不建议过早签到**,避免影响别人的安排。
例如,提前 30 min 到了,但最好在接待厅歇 20 min 后才签到。
充分利用这些时间进行「赛前热身」,会比风尘仆仆好得多。
* 面试前上 Glassdoor 查阅面经,可能会有意想不到的收获。
* 面试前搜面经(Glassdoor 等),可能会有意想不到的收获。

所有的这些流程,在我看来就像是一个漏斗图。
面对海量的求职者,招聘方的资源显得非常有限。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ lang: zh-CN
根据实际情况的不同,我们可以有不同的应对方式。

* 手头上的 offer 数量
如果你手头上没有 offer,那你的议价权不会太大。当然你也可以假装有,只是道德诚信风险会很高,非常不推荐。具体的套路可自行 Google 搜索「接 offer 谈薪」、「offer salary negotiation」等。反正千万别把手头上 offer 的公司和价位都告诉对方就好,因为这是你议价的资本 + 筹码 + 底牌。
如果你手头上没有 offer,那你的议价权不会太大。当然你也可以假装有,只是道德诚信风险会很高,非常不推荐。具体的套路可自行 Google 搜索「接 offer 谈薪」、「offer salary negotiation」等。
如果对方在打电话之前就已经知道你有 offer 了(这一般是你催 offer 的结果),那么报价通常都会比较有诚意。因此,**请多投简历,多做题,多面试,才能多接 offer,有议价选择的权利**。付出和收获往往成正比。

* 这是 dream job
例如,这是顶级大厂,你很想进去镀金,那就请随意,反正大厂给的钱通常不会少。另外,对方其实也很了解你的心态,并且这通常都是卖方市场,对方拥有天量备胎,因此议价的可操作性很小,除非你手头上还有别的 dream job offer 来 counter
例如,这是顶级大厂,你很想进去镀金,那就请随意,反正大厂给的钱通常不会少。另外,对方其实也很了解你的心态,并且这通常都是卖方市场,对方拥有天量备胎,因此议价的可操作性很小,除非你手头上还有别的 dream job offer。

* 你的性价比太高
对于夸奖别人,外国人从不吝啬,也很难隐藏对你的偏爱。尤其是当你的实力超过其他候选人,要的预期却还更低的情况下,对方更是会合不拢嘴(新入行不久的 HR 更是如此)。例如:
Expand All @@ -48,7 +48,7 @@ lang: zh-CN
* 面试后自我感觉良好
* 今天面试明天给答复

这种情况下,对方的报价会比你的预期高出不少,例如 90k => 100k。但实际上,只要你愿意开口,并且有其他 95k+ 的 offer 作支撑(但不要告诉对方确切数字,就说都差不多就行了),他们往往会愿意给到 105k 甚至 110k+。更何况,你的试探几乎是零成本的,再不济还是会维持 100k,而不会直接就没了。
这种情况下,对方的报价会比你的预期高出不少,例如 90k => 100k。但实际上,只要你愿意开口问,他们往往会愿意给到 105k 甚至 110k+。更何况,你的试探几乎是零成本的,再不济还是会维持 100k,而不会直接就没了。
不过要注意的是,不要给对方坐地起价、贪得无厌的感觉。更多的,应该也「礼尚往来」地表现出你对该公司的喜爱(但不能过度,否则对方会有恃无恐)。例如「我喜欢你们的文化,技术氛围很不错」,顺便夸几句 HR「响应及时,面试体验非常棒」,然后再**不卑不亢**地表现出「希望贵公司能拿出更多的诚意,让我不至于那么纠结」。此时 HR 可能也会假装犹豫,又或者会表示自己不能做决定,要咨询技术团队的意见等。毕竟人家也不能直接就一口答应,否则就显得开价太没诚意了。反正无论如何,为了利益最大化,我们一定要沉得住气,静候佳音。

> 温馨提示 1:部分公司会有 bonus,例如 10%,即 100k base + 100k × 10% bonus = 110k total。因此,要综合考虑其他福利,而不能只看 base。
Expand Down Expand Up @@ -83,7 +83,7 @@ lang: zh-CN

经过上面的心理战,终于迎来了享受成功喜悦的时刻。

有些大厂是在数天的背调之后才会发书面 offer,而有些是先发书面的 conditional offer 再 RC。但无论是哪一种,**都应该以收到书面 offer 才为之最终确定,因为这是在法律层面的基本保障**。在此之前,都不应该完全拒掉手头上的所有 offer(但可以拒掉个别肯定不去的,避免耽搁别人)。
有些大厂是在数天的背调之后才会发书面 offer,而有些是先发书面的 conditional offer 再背调。但无论是哪一种,**都应该以收到书面 offer 才为之最终确定,因为这是在法律层面的基本保障**。在此之前,都不应该完全拒掉手头上的所有 offer(但可以拒掉个别肯定不去的,避免耽搁别人)。

仔细逐字研读 offer 上的内容,有问题及时问 HR,没问题就 accept。

Expand Down

0 comments on commit 92cba51

Please sign in to comment.