├── .gitignore ├── src ├── .vuepress │ ├── public │ │ ├── google771047fdf1ca20ff.html │ │ ├── avatar.jpg │ │ ├── favicon.ico │ │ └── robots.txt │ ├── _utils │ │ ├── safeExternalLinkGen.js │ │ └── extractPermalinkFromPost.js │ ├── templates │ │ └── ssr.html │ └── config.js ├── tip │ ├── _images │ │ ├── wepay.jpg │ │ ├── alipay.jpg │ │ └── paypal.png │ └── index.md ├── _posts │ ├── my-it-job-hunting-experience-in-australia │ │ ├── 3-interviews │ │ │ ├── _images │ │ │ │ └── scrum-diagram.png │ │ │ ├── index.md │ │ │ ├── 0-online-assessments.md │ │ │ ├── 1-phone-screening.md │ │ │ ├── 3_1-behavioral-interview.md │ │ │ ├── 3_2-technical-interview.md │ │ │ └── 2-coding-exercises.md │ │ ├── 1-preparation │ │ │ ├── index.md │ │ │ ├── 0-recruitment-process.md │ │ │ ├── 3-companies-of-choice.md │ │ │ ├── 1-mentality.md │ │ │ ├── 2-remuneration-package.md │ │ │ └── 4-job-seek-channels.md │ │ ├── index.md │ │ ├── 5-postface │ │ │ └── index.md │ │ ├── 0-preface │ │ │ └── index.md │ │ ├── 4-offer │ │ │ └── index.md │ │ └── 2-resume │ │ │ └── index.md │ ├── programmer-immigration-misconceptions │ │ └── index.md │ ├── immigration-suggestions-to-programmers │ │ └── index.md │ ├── basic-costs-of-immigration-to-australia │ │ └── index.md │ └── tss-482-change-employer-tips │ │ └── index.md └── resources │ └── index.md ├── .env.example ├── README.md ├── .editorconfig ├── deploy.sh ├── patches ├── @vssue+vuepress-plugin-vssue+1.4.6.patch └── @vuepress+plugin-last-updated+1.7.1.patch └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .env 3 | 4 | dist 5 | node_modules 6 | -------------------------------------------------------------------------------- /src/.vuepress/public/google771047fdf1ca20ff.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google771047fdf1ca20ff.html -------------------------------------------------------------------------------- /src/tip/_images/wepay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/tip/_images/wepay.jpg -------------------------------------------------------------------------------- /src/tip/_images/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/tip/_images/alipay.jpg -------------------------------------------------------------------------------- /src/tip/_images/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/tip/_images/paypal.png -------------------------------------------------------------------------------- /src/.vuepress/public/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/.vuepress/public/avatar.jpg -------------------------------------------------------------------------------- /src/.vuepress/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/.vuepress/public/favicon.ico -------------------------------------------------------------------------------- /src/.vuepress/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /tip/ 3 | Sitemap: https://kenberkeley.github.io/sitemap.xml 4 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | # 2 | GOOGLE_ANALYTICS_4_MEASUREMENT_ID= 3 | 4 | # https://vssue.js.org/guide/github.html 5 | VSSUE_CLIENT_ID= 6 | VSSUE_CLIENT_SECRET= 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [土澳码农的博客 | Aussie Coder blog](https://kenberkeley.github.io) 2 | 3 | Powered by [VuePress](https://vuepress.vuejs.org) ([Meteorlxy](https://github.com/meteorlxy/vuepress-theme-meteorlxy) theme). 4 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/_images/scrum-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kenberkeley/blog/HEAD/src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/_images/scrum-diagram.png -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /src/.vuepress/_utils/safeExternalLinkGen.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {string} options.url 3 | * @param {string} options.text? 4 | * @return {string} - an anchor 5 | */ 6 | module.exports = function safeExternalLinkGen ({ link, text }) { 7 | return `${text || link}` 8 | } 9 | -------------------------------------------------------------------------------- /src/tip/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Buy Me A Coffee 打赏 3 | --- 4 | 5 | ## 1. PayPal 6 | 7 | [https://paypal.me/kenberkeley](https://www.paypal.me/kenberkeley) 8 | 9 | ![paypal](./_images/paypal.png) 10 | 11 | ## 2. WeChat Pay | 微信扫一扫 12 | 13 | ![wepay](./_images/wepay.jpg) 14 | 15 | ## 3. Alipay | 支付宝扫一扫 16 | 17 | ![alipay](./_images/alipay.jpg) 18 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 3 | date: 2019-08-13 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation 8 | lang: zh-CN 9 | --- 10 | 11 | 正所谓磨刀不误砍柴工,在开始找工作之前,你需要了解更多东西,有备无患。 12 | 13 | * [招聘流程](./0-recruitment-process.md) 14 | * [求职心态](./1-mentality.md) 15 | * [薪酬福利](./2-remuneration-package.md) 16 | * [公司选择](./3-companies-of-choice.md) 17 | * [求职渠道](./4-job-seek-channels.md) 18 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/0-recruitment-process.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 · 招聘流程 3 | date: 2019-08-15 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation/recruitment-process 8 | lang: zh-CN 9 | --- 10 | 11 | 大致招聘流程如下: 12 | 13 | 1. 电面(Phone screening) 14 | 2. 做题(Coding exercises / Technical challenges) 15 | 3. 现场或远程面试(Onsite or remote interviews,大厂可能有多轮) 16 | 4. Offer + 背调(Reference check,小厂可能没有) 17 | 18 | 招聘周期视乎职位紧缺度、申请人数等诸多因素,跨度从数周到数月不等。 19 | 20 | > 该话题会在 [面试篇](../3-interviews/index.md) 中详细展开。 21 | -------------------------------------------------------------------------------- /src/resources/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Resources 资源 3 | --- 4 | 5 | ## 我的 | My 😉 6 | 7 | * 😎 [Aussie Coder 土澳码农 | YouTube](https://www.youtube.com/channel/UCFdirk72XzSXmJ0qTgoTHFQ) 8 | * 👨‍💻 [Ken Huang | LinkedIn](https://linkedin.com/in/ken--huang) 9 | 10 | ## 生活 | Life 11 | 12 | * [Danny 的澳洲笔记 | YouTube](https://www.youtube.com/channel/UCfiE27GUC9mT5RbuVrFPzRQ) 13 | * [2019 墨尔本生存指南 | 今日澳洲](https://cdn36.chinesetoday.cn/download/survival_strategy.pdf) 14 | 15 | ## 工作 | Work 16 | 17 | * [程序员如何申请到澳洲工作 | Github](https://github.com/wahyd4/work-in-australia) 18 | 19 | ## 友情链接 | Friendly Links 20 | 21 | * [ZenG 的博客](https://geekeast.github.io) 22 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # 参考文档 https://vuepress.vuejs.org/zh/guide/deploy.html#github-pages 3 | 4 | # 确保脚本抛出遇到的错误 5 | set -e 6 | 7 | # 生成静态文件 8 | npm run build 9 | 10 | # 进入生成的文件夹 11 | cd dist 12 | 13 | # 如果是发布到自定义域名 14 | # echo 'www.example.com' > CNAME 15 | 16 | git init 17 | git config user.name "Ken Huang" 18 | git config user.email "kenhuang.au@gmail.com" 19 | 20 | git add -A 21 | git commit -m 'deploy' 22 | 23 | # 如果发布到 https://.github.io 24 | git push -f git@github.com:kenberkeley/kenberkeley.github.io.git master 25 | 26 | # 如果发布到 https://.github.io/ 27 | # git push -f git@github.com:/.git master:gh-pages 28 | 29 | cd - 30 | -------------------------------------------------------------------------------- /patches/@vssue+vuepress-plugin-vssue+1.4.6.patch: -------------------------------------------------------------------------------- 1 | diff --git a/node_modules/@vssue/vuepress-plugin-vssue/lib/enhanceApp.js b/node_modules/@vssue/vuepress-plugin-vssue/lib/enhanceApp.js 2 | index 933de30..624fbb4 100644 3 | --- a/node_modules/@vssue/vuepress-plugin-vssue/lib/enhanceApp.js 4 | +++ b/node_modules/@vssue/vuepress-plugin-vssue/lib/enhanceApp.js 5 | @@ -8,6 +8,7 @@ export default ({ Vue }) => { 6 | const vpOptions = JSON.parse(VSSUE_OPTIONS); 7 | Vue.use(Vssue, Object.assign({}, vpOptions, { 8 | api: VssueAPI, 9 | + proxy: url => `https://cors-anywhere.azm.workers.dev/${url}`, // TODO: FIX_ME: https://github.com/meteorlxy/vuepress-theme-meteorlxy/issues/114 10 | })); 11 | // get the vssue component registered by Vssue.Plugin 12 | const VssueComponent = Vue.component('Vssue'); 13 | -------------------------------------------------------------------------------- /patches/@vuepress+plugin-last-updated+1.7.1.patch: -------------------------------------------------------------------------------- 1 | diff --git a/node_modules/@vuepress/plugin-last-updated/index.js b/node_modules/@vuepress/plugin-last-updated/index.js 2 | index 72e4809..604bbf7 100644 3 | --- a/node_modules/@vuepress/plugin-last-updated/index.js 4 | +++ b/node_modules/@vuepress/plugin-last-updated/index.js 5 | @@ -16,7 +16,8 @@ module.exports = (options = {}, context) => ({ 6 | }) 7 | 8 | function defaultTransformer (timestamp, lang, dateOptions) { 9 | - return new Date(timestamp).toLocaleString(lang, dateOptions) 10 | + // return new Date(timestamp).toLocaleString(lang, dateOptions) 11 | + return new Date(timestamp).toISOString() // TODO: FIX_ME: Tmp fix [Updated: Invalid Date] which could not be fixed by https://www.wkii.net/Tech/use-vuepress-push-blog.html#%E6%97%B6%E9%97%B4%E6%A0%BC%E5%BC%8F%E9%97%AE%E9%A2%98 12 | } 13 | 14 | function getGitLastUpdatedTimeStamp (filePath) { 15 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 系列文章目录 3 | description: 讲述我作为 Web 前端开发工程师,在澳洲墨尔本找工作的经历。 4 | date: 2019-08-11 5 | top: true 6 | category: 我的澳洲 IT 求职经历 7 | tags: 8 | - 求职 9 | permalink: /posts/my-it-job-hunting-experience-in-australia 10 | lang: zh-CN 11 | --- 12 | 13 | * [前言](./0-preface/index.md) 14 | * [准备篇](./1-preparation/index.md) 15 | * [招聘流程](./1-preparation/0-recruitment-process.md) 16 | * [求职心态](./1-preparation/1-mentality.md) 17 | * [薪酬福利](./1-preparation/2-remuneration-package.md) 18 | * [公司选择](./1-preparation/3-companies-of-choice.md) 19 | * [求职渠道](./1-preparation/4-job-seek-channels.md) 20 | * [简历篇](./2-resume/index.md) 21 | * [面试篇](./3-interviews/index.md) 22 | * [线上预评估](./3-interviews/0-online-assessments.md) 23 | * [电面](./3-interviews/1-phone-screening.md) 24 | * [做题](./3-interviews/2-coding-exercises.md) 25 | * [行为面试](./3-interviews/3_1-behavioral-interview.md) 26 | * [技术面试](./3-interviews/3_2-technical-interview.md) 27 | * [Offer 篇](./4-offer/index.md) 28 | * [结语](./5-postface/index.md) 29 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/5-postface/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 结语 3 | date: 2019-10-05 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/postface 8 | lang: zh-CN 9 | --- 10 | 11 | 终于,好不容易写到了最后的结语。 12 | 13 | 本系列文章从开始至今,跨度长达两个月。期间发生了很多事,一度搁置。但让我继续坚持写下来的,是感恩的心(参见 [前言](../0-preface/index.md))。这听起来可能有点肉麻俗套,但确实是真心话。 14 | 15 | 作为新移民的我深知,过来人的一席话可以让我少走很多弯路。但现实情况是,并非每个人都可以幸运地得到过来人的经验。因此,我把我得到的经验都记录下来,并放到网上,希望可以帮到更多有需要的人。 16 | 17 | ## 致谢名单 18 | 19 | 以下人士所传授的经验,基本都在本系列文章中体现了,因此本名单也算是引用(References)。我口头上对他们的道谢再多,都不如在行动上用感恩的心浇筑文章。因为也只有这样,才能把他们的恩情传递给更多的人。 20 | 21 | * [虎头锤](https://zhuanlan.zhihu.com/p/45259889) 22 | 锤姐始终贯穿着我的求职期。可以说,**没有她就绝对不可能有本系列文章**。 23 | 24 | * Jake 25 | Jake 哥是我的校友,很幸运可以在异国他乡找到师叔。 26 | 27 | * 光哥 28 | 面试套路启蒙老司机。 29 | 30 | * Molly 31 | 老同事 + 移友 + 求职难姐难弟。 32 | 33 | * Jing & Dan 34 | 帮我内推 Sportsbet 的现同事。 35 | 36 | ## 其他参考资料 37 | 38 | * [Junv:如何到澳洲工作 - Github](https://github.com/wahyd4/work-in-australia) 39 | * [LY 羊:程序员如何找工作?- YouTube](https://youtu.be/pUZK32GCRHg) 40 | * [Jeffrey Li:我的墨尔本求职之旅 - 简书](https://www.jianshu.com/p/2b797dd42cba) 41 | * *自行 Google 搜索* 42 | -------------------------------------------------------------------------------- /src/.vuepress/_utils/extractPermalinkFromPost.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const matter = require('gray-matter') 3 | 4 | const SRC = path.resolve(__dirname, '../../') 5 | const cache = {} 6 | 7 | /** 8 | * @param {string} curFilePath 9 | * @param {string} relFilePath 10 | * @return {string} - frontmatter.permalink in relFilePath 11 | * 12 | * e.g. 13 | * const curFilePath = '_posts/my-it-job-hunting-experience-in-australia/0-preface/index.md' 14 | * const relFilePath = '../5-postface/index.md' 15 | * extractPermalinkFromPost(curFilePath, relFilePath) // '/posts/my-it-job-hunting-experience-in-australia/postface' 16 | */ 17 | module.exports = function extractPermalinkFromPost (curFilePath, relFilePath) { 18 | const curFileFullPath = path.join(SRC, curFilePath) 19 | const targetFileFullPath = path.resolve(path.dirname(curFileFullPath), relFilePath) 20 | 21 | const cachedPermalink = cache[targetFileFullPath] 22 | if (cachedPermalink) return cachedPermalink 23 | 24 | const { data: { permalink } } = matter.read(targetFileFullPath) 25 | if (!permalink) { 26 | throw new Error(`No permalink for ${targetFileFullPath}`) 27 | } 28 | return cache[targetFileFullPath] = permalink 29 | } 30 | -------------------------------------------------------------------------------- /src/.vuepress/templates/ssr.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{ title }} 7 | <% if (description) { %> 8 | 9 | <% } %> 10 | {{{ userHeadTags }}} 11 | {{{ pageMeta }}} 12 | {{{ renderResourceHints() }}} 13 | {{{ renderStyles() }}} 14 | 22 | 23 | 24 | 25 | {{{ renderScripts() }}} 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 3 | date: 2019-08-27 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews 8 | vssue-id: 10 9 | lang: zh-CN 10 | --- 11 | 12 | 我们把之前 [准备篇 · 招聘流程](../1-preparation/0-recruitment-process.md) 的内容展开: 13 | 14 | 1. [电面(Phone screening)](./1-phone-screening.md) 15 | 2. [做题(Coding exercises / Technical challenges)](./2-coding-exercises.md) 16 | 3. 现场或远程面试(Onsite or remote interviews,大厂可能有多轮) 17 | · [行为面试(Behavioral interview)](./3_1-behavioral-interview.md) 18 | · [技术面试(Technical interview)](./3_2-technical-interview.md) 19 | 4. [Offer](../4-offer/index.md) + 背调(Reference check,小厂可能没有) 20 | 21 | 其中: 22 | 23 | * 个别优质厂由于求职者过多,在所有上述流程前还会有 0. [线上预评估](./0-online-assessments.md)。 24 | * 1 和 2 是可互换的。譬如对方发邮件让你先做题,通过后再电话联系。 25 | * 3 中技术面与行为面是不定序的,但一次过通常都是先行为后技术。 26 | * 现场面试可以提前到,但**不建议过早签到**,避免影响别人的安排。 27 | 例如,提前 30 min 到了,但最好在接待厅歇 20 min 后才签到。 28 | 充分利用这些时间进行「赛前热身」,会比风尘仆仆好得多。 29 | * 面试前搜面经(Glassdoor 等),可能会有意想不到的收获。 30 | 31 | 所有的这些流程,在我看来就像是一个漏斗图。 32 | 面对海量的求职者,招聘方的资源显得非常有限。 33 | 如果不残忍地进行筛选,最终受累的还是自己人。 34 | 此时就突显出猎头的优势:可以为招聘方节省资源。 35 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aussie-coder-blog", 3 | "private": true, 4 | "version": "0.1.0", 5 | "description": "Aussie Coder blog powered by VuePress 1.x", 6 | "homepage": "https://kenberkeley.github.io", 7 | "license": "MIT", 8 | "repository": { 9 | "type": "git", 10 | "url": "git+https://github.com/kenberkeley/blog.git" 11 | }, 12 | "scripts": { 13 | "_reason_for: NODE_OPTIONS=--openssl-legacy-provider": "https://github.com/vuejs/vuepress/issues/3136#issuecomment-1893158158", 14 | "dev": "NODE_OPTIONS=--openssl-legacy-provider vuepress dev src", 15 | "build": "NODE_OPTIONS=--openssl-legacy-provider vuepress build src --dest dist", 16 | "deploy": "./deploy.sh", 17 | "postinstall": "patch-package" 18 | }, 19 | "devDependencies": { 20 | "dayjs": "^1.9.6", 21 | "dotenv-safe": "^8.1.0", 22 | "markdown-it-replace-link": "^1.0.1", 23 | "patch-package": "^6.2.2", 24 | "postinstall-postinstall": "^2.1.0", 25 | "vuepress": "1.3.0", 26 | "vuepress-plugin-canonical": "^1.0.0", 27 | "vuepress-plugin-check-md": "0.0.2", 28 | "vuepress-plugin-clean-urls": "^1.0.3", 29 | "vuepress-plugin-google-analytics-4": "^0.1.1", 30 | "vuepress-plugin-sitemap": "^2.1.2", 31 | "vuepress-theme-meteorlxy": "1.9.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/0-online-assessments.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 · 线上预评估 3 | date: 2019-08-29 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews/online-assessments 8 | lang: zh-CN 9 | --- 10 | 11 | 大多数情况下,你不会遇到线上预评估(Online Assessments),直接就是电面了。 12 | 但对于某些优质厂,这是门槛。如果不好好重视,你根本没有资格进入正式的流程。 13 | 14 | 例如,我面试过的 Sportsbet 和 IAG 都有「单机问答」的 video interview。 15 | 而 Sportsbet 在这之前还有类似「智力 + 逻辑推理」的 ability assessments。 16 | *(TODO:或许还有其他形式的预评估,希望同行们可以代为补充。)* 17 | 18 | ## 单机视频录制面试 19 | 20 | > 可 Google 搜索「One-way video interview」了解具体形式。 21 | 22 | 在我眼里,这实际上就是一场行为面试(Behavioral Interview)。 23 | 而且由于这是**单向**的,难度比面对面的常规行为面试可能还要高。 24 | 现场当面对谈时,你至少还能看到对方的反馈,对方也会有相应的提示。 25 | 倘若录制过程中一不小心卡壳了,那最终视频中能看到的只有尴尬沉默的你。 26 | 27 | 求职初期,不少求职者还在忙于制作、优化、投递简历。 28 | 能准备好应对突如其来的电面已实属不易,更别说要兼顾之后的流程了。 29 | 这好比期末考,某科目猝不及防地提前了,这将非常被动,结果可想而知。 30 | 31 | 一般情况下,会有 5 ~ 8 道问题,有时可达 10 道,难度不容小觑。 32 | 一开始都会有测试音视频设备、界面使用教程、一两道训练题等。 33 | 正式开始,屏幕显示问题后,你大概会有 2 ~ 3 分钟的准备时间。 34 | 准备倒计时结束后,摄像头将开始录制,直至答题时间结束。 35 | 36 | 综上,如果没有提前准备好相关的素材,那将是灾难性质的。 37 | 即便用的是中文,即兴情况下我也很难保证准备时间内能充分组织好语言。 38 | 当然,你可以做少许笔记,但录制时不应该盯着笔记看,否则这就像在念稿。 39 | 你的所有小动作与不自然,在视频中都看得一清二楚,请务必要调整好心态。 40 | 41 | > 行为面试相关内容,可参考之后的 [面试篇 · 行为面试](./3_1-behavioral-interview.md)。 42 | 43 | ## 智力逻辑推理能力测试 44 | 45 | 相对于上面的视频录制面试,做 IQ 逻辑推理题就显得从容多了。 46 | 但时间得把握好,没有头绪的千万**别纠结**,选一个顺眼的就立即下一题。 47 | 48 | 我对此的理解是,貌似只要过线即可,并不是择优录取,否则我早该挂了。 49 | 因为我有很多题都不够时间答,而且生僻英语单词辨义的题目基本靠蒙。 50 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/0-preface/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 前言 3 | date: 2019-08-12 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preface 8 | lang: zh-CN 9 | --- 10 | 11 | ## 自我介绍 12 | 13 | 我是 Ken,坐标墨尔本,至今(2019.8)本科毕业三年,一直从事 Web 前端开发工作。在国内有着两年多的大中小厂工作经历,而在澳洲则有着不足一年的本地华人创业公司经验。 14 | 15 | > 值得一提的是,我持有的是雇主担保工作签证 [TSS 482 (Medium-term stream)](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/temporary-skill-shortage-482/medium-term-stream)。为了文章的普适性,有关工签换雇主的注意事项,请移步到 [TSS 482 换雇主提示](../../tss-482-change-employer-tips/index.md)。 16 | 17 | ## 为何撰文 18 | 19 | 综上所述,在澳洲华人公司工作了不足一年的我,在一定程度上,其实依然还是一张白纸。与众多新移民以及本地毕业生类似,我尚未真正融入澳洲主流社会。尤其是我一直都在华人区生活,在语言和文化融合度方面,我还远远落后于本地毕业生。 20 | 21 | 因此,在这将近两个月的求职期内,我踩过很多坑,犯过很多错误,导致错失了很多机会。我有过迷茫,也怀疑过自己,甚至一度打算放弃。然而幸运的是,在我最困难的这段时期,我遇到了很多华人同行。在他们的热心帮助下,我逐渐走上了正轨,最终否极泰来 —— 这也是我撰文的最大动力:**感恩这段时期内帮助过我的人,同时也希望尽自己的绵薄之力,把这份恩情传递给更多的人。** 22 | 23 | > 致谢名单见 [结语](../5-postface/index.md)。 24 | 25 | 当然,还有另一个原因,那就是**填补中文相关资讯的空白,并抛砖引玉**。在国内,行业内的各类经验分享氛围相当浓厚。无论是面经,还是新技术,又或是源码剖析,几乎都是唾手可得,琳琅满目,应有尽有。但由于澳洲的主流语言是英语,对于我这种语言水平欠佳、对澳洲主流职场一窍不通的小白而言,往往更倾向于有相对明确的指引。否则,面对海量的英文资讯,无异于大海捞针。 26 | 27 | > 例如,在国内,我们都知道一线大厂是 BAT,或许还熟知它们各自的评级体系(T2|3|4、P6|7|8 等)。对于薪酬福利待遇等,也早已被脉脉、知乎、微信公众号等灌输得耳濡目染。然而在澳洲,至今我依然还搞不清楚墨尔本究竟有哪些一二线互联网公司(相关内容见 [准备篇 · 公司选择](../1-preparation/3-companies-of-choice.md))。 28 | 29 | 本系列文章,是我对过去这段跌宕起伏的求职经历的总结,致力于打造成「如果我一开始就有这些指引就好了」的模样。上面也提到,这属于「抛砖引玉」,且[完全开源](https://github.com/kenberkeley/blog/tree/master/src/_posts/my-it-job-hunting-experience-in-australia),你可以为此添砖加瓦(评论、开 [issues](https://github.com/kenberkeley/blog/issues)、提 PR 等),为后人打造出更加完备的澳洲 IT 求职知识库。 30 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/1-phone-screening.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 · 电面 3 | date: 2019-08-30 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews/phone-screening 8 | lang: zh-CN 9 | --- 10 | 11 | 通过简历筛选后,接下来通常就是电面。 12 | 13 | 由于我的英语听力不好 + 海投,因此一直以来都很难区分究竟是电面还是猎头电话。 14 | 因为开场几乎都是清一色的「Hi Ken, it's *XXX* calling from *Unknown_Company*」。 15 | 但好在套路都差不多,都可以当成是正式电面,还能顺便锻炼自己的听力与口语。 16 | 反正交谈结束后,对方基本都会发一封邮件,到时再根据邮件内容重新整理即可。 17 | 18 | 在此之前如果有做过题的,那么所谓的电面一般都是寒暄几句后直接约现场面试。 19 | 否则,这本质上就是阉割版的 Behavioral Interview,可对候选人进行初步筛选。 20 | 例如:签证状态、听力口语沟通能力、对公司及职位的了解程度、思维方式等。 21 | 当然了,也会顺带考察之前在 [简历篇](../2-resume/index.md) 中提到的位于技术之上的 Cultural Fit。 22 | 否则「话不投机半句多」,对方完全可以像阿里的 HR 般行使一票否决权。 23 | 24 | ## 要点 25 | 26 | ### 准备好台词 27 | 28 | 负责电面的通常是非技术背景的 HR,当然不排除是技术负责人直接沟通。 29 | 但无论如何,都应该按照 [面试篇 · 行为面试](./3_1-behavioral-interview.md) 的套路提前准备好台词。 30 | 注意,千万不要照着简历说,否则会让对方觉得你就是个念稿的。 31 | 32 | ### 物色好地方 33 | 34 | 如果你是裸辞或请假,那么就不用担心这个问题。 35 | 但我相信很多人都倾向于现场面试时才开始请假。 36 | 因此,在现公司周围找好电面场所显得尤为重要。 37 | 毕竟你也不想在大庭广众、人来人往的走道尬聊。 38 | 39 | 电面通常都不是约定的。突如其来,没有任何征兆。 40 | 提前物色**几个备选**的电面场所,可以让你从容应对。 41 | 要有备选,因为要充分考虑到别人也会有这种需求。 42 | 安静、隐蔽、舒适、信号佳,最好还可以做点笔记。 43 | 44 | 接到电话后,一般都是告诉对方「Wait a minute」。 45 | 然后快步走向你的「私密考场」,中途准备好耳机。 46 | 47 | ### 准备好耳机 48 | 49 | 好处: 50 | 51 | * 双耳效应,听得更清楚,更少的「pardon」 52 | * 腾出双手,方便做笔记(纸笔或手机备忘录) 53 | * 腾出手机,方便看小抄或回溯 Job Description 54 | 55 | 如果之后有远程面试,也建议戴耳机,避免窜音、混音。 56 | 若面试时间较长,建议使用有线耳机,避免没电的尴尬。 57 | 58 | ### 回答好预期 59 | 60 | 请参考之前的 [准备篇 · 薪酬福利](../1-preparation/2-remuneration-package.md) 理性地回答。 61 | 毕竟当你的预期超出别人的预算时,肯定就不会有后续了。 62 | 63 | 现在的我会倾向于先保守要价,多拿 offer 后才有筹码重新议价。 64 | 有关这个话题,我会在之后的 [Offer 篇](../4-offer/index.md) 中详细展开。 65 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/3-companies-of-choice.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 · 公司选择 3 | date: 2019-08-21 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation/companies-of-choice 8 | lang: zh-CN 9 | --- 10 | 11 | ## 规模 12 | 13 | 作为新移民,我完全就是一张白纸,因此会更倾向于大厂的背书。 14 | 除此之外,大厂在薪资福利待遇以及业务盈利方面会更有保证。 15 | 16 | 当然了,由于澳洲人口相对较少,因此对于「大厂」的定义,肯定不能完全照搬国内。 17 | 具体的公司规模,Glassdoor 只列出个大概,为此我更推荐通过 LinkedIn 的公司详情页了解。 18 | 例如,[Atlassian 的主页](https://www.linkedin.com/company/atlassian),我们可以看到有 4k+ 雇员。作为澳洲本土软件公司,已是顶级大厂。 19 | 非澳洲本土的大厂还有谷歌、微软、AWS 等,相信这些耳熟能详的招牌都不需要我来介绍了。 20 | 21 | 有人说,「小厂面试拧螺丝,日常瑞士军刀。大厂面试造火箭,工作拧螺丝」。 22 | 在**保证薪资待遇**的前提下,更多是看能否提供良好发展环境以及自身驱动力。 23 | 相信大多数人都不是「面向养老编程」,更多的应该是「面向薪资编程」。 24 | 因此我们应该时刻保持危机意识:「脱离了大厂的光环,我还剩下什么?」 25 | 镀金往往容易褪色,还不如努力把自己炼成金子,这样子去哪儿都能发光。 26 | 27 | ## 业务 28 | 29 | 除了公司规模,公司的业务方向与发展前景也是非常值得考虑的。 30 | 尤其是对有在创业公司待过的同行来说,应能理解其中的辛酸。 31 | 对于有自研产品的公司,相信你可以根据自身喜好来选择。 32 | 下面提一下新移民容易先入为主,可能存在误解的行业。 33 | 34 | ### 外包咨询 35 | 36 | 在国内,由于人工相对便宜,很多公司都有自己的技术人员。 37 | 但在澳洲,选择第三方服务(Consultancy 或 SaaS)往往要比自己请人划算。 38 | 即便要请人,合同工(contractor)也往往比正式员工(permanent role)走俏。 39 | 40 | 在澳洲,软件咨询服务行业的发展相当不错。 41 | 在地位上,相信也远好于国内同行的「外包」称谓。 42 | 通常都是到甲方驻场开发,上下班制度和工作环境与甲方一致。 43 | 只要技术栈跟上业内潮流,排期合理,一样的 work-life balance。 44 | 而且,作为非常熟悉项目的乙方,日后「跳甲方」也是相对容易的。 45 | 46 | ### 政府国企 47 | 48 | 「Offer 比较:政府国企 or BAT」,我经常都可以在脉脉、知乎上看到类似的提问。 49 | 抛开户口、社会地位、养老等现实问题,单从技术发展的角度,显然后者更具吸引力。 50 | 然而在澳洲,前者往往与后者一样,都需要不断优化,开源节流,保持活力与竞争力。 51 | 澳洲的前者相当于国内的「外企」,在人文关怀与职业发展之间找到了良好的平衡点。 52 | 53 | 在澳洲,我所认识的不少优秀同行,都(曾)在政府机构、大银行、通信巨头工作。 54 | 无论是薪资福利待遇还是技术水平,都不会比大厂差,而且它们往往也是最大的甲方。 55 | (当然也会有例外,毕竟肯定还是要有人负责填坑,维护|迭代|迁移 历史遗留项目。) 56 | 57 | ## 受华人同行青睐的公司 58 | 59 | > 可参考 Glassdoor 的评分,只是要注意甄别个别公司请内部人士或水军刷的内容。 60 | 61 | *TODO:请同行补充你们心目中的优质厂并留下简要的评价* 62 | 63 | ### 悉尼 64 | 65 | ### 墨尔本 66 | 67 | ### 布里斯班 68 | 69 | ### 珀斯 70 | 71 | ### 阿德莱德 72 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/1-mentality.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 · 求职心态 3 | date: 2019-08-17 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation/mentality 8 | lang: zh-CN 9 | --- 10 | 11 | ## 基本国情 12 | 13 | 澳洲是考拉的故乡,慢是天性,太快反而觉得不正常,我这种急性子的人也早已被磨平了棱角。招聘方也往往秉承着「宁缺毋滥」的佛系招聘理念,更像是在找对象。 14 | 15 | 有经验的同行都知道,招聘是成本很高的活,费人费时费钱。倘若不是为了应急填坑,相信大家都会更倾向于保持谨慎,精挑细选。只是在澳洲本来就很散漫的风气下,这反而成了天然的「优势」。 16 | 17 | 因此,澳洲职场的整体氛围显得相对稳定,与国内形成鲜明的对比。毕竟在国内,求职期的基本单位是**周**,「周五面试周一上班」是完全有可能的。而在澳洲,求职期的基本单位却是**月**,短则一两个月,长则三四个月,**时间成本**非常之高。 18 | 19 | 综上,请**入乡随俗**,沉得住气,做好打持久战的心理准备。 20 | 21 | ## 调整心态 22 | 23 | ### 骑驴找马 24 | 25 | 在国内,我一般都是裸辞,以全身心地投入面试,更快地拿到 offer。但在澳洲,由于招聘效率上的巨大落差,使得裸辞成为风险颇高的行为(有签证束缚的同学更要慎重)。不妨设想两个月没有收入,工作也没有着落,还要维持房租及各项生活开销时的处境。 26 | 27 | 一开始,我自认为有大厂背景,肯定可以在一个月内结束战斗。但骨感的现实却教育了我:**骄兵必败,欲速则不达**。例如 ANZ,投简历后将近一个月才收到电面邀请,然而很快就被毙了。而 Telstra 更夸张,接近两个月后才发来拒绝信。 28 | 29 | 因此,除非你没有任何经济和签证压力,否则切勿抱着「破釜沉舟,背水一战」的心态求职,以免陷入被动的局面。倒不如**合理利用年假带薪面试**,稳中求进,步步为营。 30 | 31 | **裸辞须谨慎,且行且珍惜**。可别忘了,之后的背调,你还要指望着老东家替你说好话呢。 32 | 33 | ### 广撒网 34 | 35 | 我求职初期的策略是「走精品路线,宁缺毋滥」,只投自己听过的大厂。但作为新移民,我实际上听过的本地大厂屈指可数,无非就是日常能接触到的四大行、三大电信巨头等。这种孤注一掷、眼高手低的心态,让我白白浪费了数周的时间守株待兔,并且最终的结果不是被拒就是杳无音讯。 36 | 37 | 经过现实的打击后,我才开始步入正轨,开始海投。然而我惊讶地发现,过去因为无知而排除掉的很多公司其实都是大厂。例如 Deloitte,竟然是四大会计所之一的德勤;又例如 Accenture,其实就是大名鼎鼎的埃森哲。 38 | 39 | 因此,无论大厂小厂,都应该广撒网,争取获得: 40 | 41 | * 更多的面试机会,积累宝贵的经验及自信,提前为心仪厂的面试作排练 42 | * 更多的 offer,最终让自己有选择权、议价权 43 | 44 | ### 保持现实 45 | 46 | 我在某心仪大厂结对编程面试过后,面试官的反馈相当不错,并表示肯定会有后续。两天后 HR 也致电祝贺,让我等待终面的安排,但没想到这一等就是一个月,并且最终不了了之。期间多次发邮件询问,但对方的答复永远都是「最近很忙,暂时还没安排,也不知道啥时候有空,但一有安排我会通知你的」。 47 | 48 | 由于面试时自我感觉良好,自以为胜券在握,故之后我便停止了简历投递。然而「早乐必早衰」,或许我只是一个备胎而已。在一厢情愿地白等了一两周后,我被逼重新上路。 49 | 50 | **因此,在还没拿到 offer 之前,都应该继续保持原来的节奏,切勿过于理想化**。 51 | 52 | ### 相互选择 53 | 54 | 国内较高的效率让求职招聘「快餐化」,相比之下澳洲就像「马拉松」,这类似于找对象的两种截然不同的模式。 55 | 56 | 前者: 57 | 58 | * 能尽快确立关系就绝不浪费时间搞暧昧,不合适再分 59 | * 能榨干你就榨干你,能 996 绝不 955,反正都不指望着能一辈子在一起 60 | * 部分大厂追求者甚众,根本不懂珍惜,小鲜肉倒挂老情人,不想分都逼你分 61 | 62 | 后者: 63 | 64 | * 在充分了解彼此的基础上才确立关系,知根知底 65 | * Work-life balance,不求白头偕老,但求细水长流 66 | * 无论是招聘还是跳槽,成本都非常高,所以情人还是老的好,有话好好说 67 | 68 | 因此,虽说澳洲的求职期长,但雇佣关系也会维持得相对较长。只有勤撒网多面试,才能有所对比,选择出最合适的归宿。 69 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/3_1-behavioral-interview.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 · 行为面试 3 | date: 2019-09-22 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews/behavioral-interview 8 | lang: zh-CN 9 | --- 10 | 11 | 行为面试的核心就是之前强调过的 Cultural Fit,其乃技术以外的主宰。 12 | 面试官未必是 HR,经常会是你未来的直属上级及若干个同组的同事。 13 | 套路基本都是对方先介绍公司的概况,之后就进入到对方问你答环节。 14 | 15 | 在之前的电面中,我已经有足够的热身。 16 | 其中有不少对白都可以稍加拓展后,继续用在行为面试上。 17 | 然而,行为面试的容量通常都要比电面大得多,不能单靠脑记。 18 | 19 | ## 面试前 20 | 21 | ### 了解常见的问题 22 | 23 | 例如,Google 搜索「Behavioral interview questions」。 24 | 又例如,到 Glassdoor 等网站上看对应公司的面经。 25 | 26 | 常见的有: 27 | 28 | * 为什么要换工作?为什么想离职? 29 | **切勿对老东家抱怨太多,常怀积极感恩的心**。 30 | 更多地,应该从自身职业发展的角度讲述。 31 | * 为什么想加入我们公司? 32 | 这其实是考察你对公司及 Job Description 的熟悉度。 33 | 同时这也是你展现为什么比其他候选人更合适的绝佳机会。 34 | * 未来三五年内的职业规划? 35 | * 你理想中的公司与职位是怎么样的? 36 | * 当你和同事意见向左的时候,你是如何解决的? 37 | * ...*(TODO:有待同行们补充)* 38 | 39 | 还有那些「臭名昭著」的面试题: 40 | 41 | * 你觉得你最大的缺点是什么? 42 | * ...*(TODO:有待同行们补充)* 43 | 44 | ### 关注 HR 的邮件 45 | 46 | 如果 HR 安排面试的邮件中有列出相关内容,请务必重点关注。 47 | 例如让你去 YouTube 看官方宣传片,去官网看「我们的价值观」等。 48 | 倘若对方还把问题直接列出来了,请一定要充分准备,因为肯定都是必问的。 49 | 50 | ### 做小抄,反复排练 51 | 52 | 把「台词」都记录在手机备忘录上,随时随地可以翻出来查漏补缺。 53 | 例如,去往面试的途中,又或者提前到面试地点后进行最后的回顾。 54 | 55 | 对于母语面试,我都要写稿后进行反复练习,更何况英语面试? 56 | 因此,攻克行为面试只能靠「**Practice makes perfect**」。 57 | 58 | ### 准备有说服力的案例 59 | 60 | 就像写论文,我们应该**用实例和引用来支撑论点**。 61 | 准备几个你职场生涯中典型的小故事,让你的话更有说服力。 62 | 例如,一开始是 X 的,因为你的 YY 最后有 ZZZ 的改善/成绩。 63 | 64 | ### 了解面试官 65 | 66 | 上面也提到,主面试官往往就是你的 boss。 67 | HR 的邮件通常也会提前告知你面试官是何人。 68 | 提前在 LinkedIn 上搜索了解对方的背景,知己知彼。 69 | 70 | ## 面试时 71 | 72 | ### 自信自然 73 | 74 | 自信是行为面试成功的关键,表现自然则来源于充分的准备。 75 | 尤其是像我这种英语不好的,更要通过不断面试来积累经验与信心。 76 | 但必须**保持不卑不亢以及谦虚好学的态度**,否则很容易变得 confronting。 77 | 78 | ### 关注问题本身 79 | 80 | 虽说你准备了很多素材,但回答问题时要先答到点上,合适时才进行拓展。 81 | 否则说着说着,你很可能早就忘了面试官本来究竟是问了什么问题。 82 | 此时你应该重新跟对方确认问题主体,而不能继续背下去。 83 | 84 | ### 眼神交流(Eye contact)与肢体语言(Body language) 85 | 86 | 这其实也是「单向背稿」和「双向交流」的明显区别。 87 | **要做到:别人虽然知道我有准备,但看不出来我在背。** 88 | 89 | ## 温馨提示 90 | 91 | * 准备对白时请照顾个别面试官的英语水平,可能还真的没有你好。 92 | 93 | * 一般都是便装,但某些机构会要求正装,请务必留意 HR 的邮件。 94 | 95 | * 与之后的 [技术面试](./3_2-technical-interview.md) 一样,请提前准备好面试结束时要问对方的问题。 96 | 97 | * 求职期各种电话|短信|邮件对面试的影响很不好,请设置静音并**取消震动**。 98 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/3_2-technical-interview.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 · 技术面试 3 | date: 2019-09-26 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews/technical-interview 8 | lang: zh-CN 9 | --- 10 | 11 | 在国内,某些大厂的技术面被戏称为「面试造火箭,入职拧螺丝」。 12 | 面试前都要充分准备(刷题),尤其是很多日常几乎碰不到的问题。 13 | 例如对前端开发来说,老生常谈的有浏览器渲染过程,JS 原型链等。 14 | 15 | 然而在以应用层面为主的澳洲,技术面试几乎不涉及底层原理与实现。 16 | 除面 Canva 之外,我遇到最难的问题竟然是 JavaScript 的 call / apply。 17 | 18 | 当然,也有例外的: 19 | 20 | * 纯算法类 21 | 建议提前刷 HackerRank / LeetCode 练手。 22 | * 出其不意 23 | 例如,知名独角兽 Canva 可能会让实现 Virtual DOM。 24 | * 校园招聘(Graduate Program) 25 | 部分竞争激烈的校招,难度往往会很高(e.g. PR required)。 26 | * ...*(TODO:请同行们继续补充)* 27 | 28 | ## 类型 29 | 30 | 通常,技术面试会延续之前的做题: 31 | 若之前是算法主导,那么技术面也会继续考底层,前后几乎没有关联; 32 | 若之前是项目主导,那么技术面基本就是该项目的拓展,关联度很高。 33 | 34 | ## 理解敏捷开发(Agile) 35 | 36 | > 有关 Agile 的概念,不妨参考阮一峰的 [敏捷开发入门教程](https://www.ruanyifeng.com/blog/2019/03/agile-development.html)。 37 | 38 | 国内大厂讲求实用性,快准狠,很少听到偏理论化的指导思想。 39 | 在澳洲的大厂,通常都会采用「敏捷开发」来指导开发流程。 40 | 不过这个「采用」可以是有程度的,并不一定要完全履行。 41 | 42 | **Agile 通过快速迭代、持续交付,以确保所开发的都是有价值的需求**: 43 | 44 | 1. 采用较短的开发周期,小步快跑 45 | 2. 及早交付给用户,争取得到及早反馈 46 | 3. 根据用户反馈,及时调整,灵活把握方向 47 | 48 | 作为普通开发,只需要了解就够了,毕竟不是专业的 Agile Master。 49 | 但对于像我这种过去没有在 Agile 环境待过的同学来说,还是应该多做点功课。 50 | 尤其是在面试的时候,对方可能会问及相关的话题,有些概念最好先提前理解好。 51 | 52 | ### Scrum 53 | 54 | > 有关 Scrum 的概念,不妨参考 [敏捷开发之 Scrum 扫盲篇](https://www.cnblogs.com/taven/archive/2010/10/17/1853386.html)。 55 | 56 | Agile 只是理论层面的方法论,要落实还得有一套执行模式。 57 | 例如,比较常见的是 Scrum / Kanban,这也是很多大厂的套路。 58 | (以下例图来自 [Agile and Scrum Overview](https://medium.com/jorgeacetozi/agile-and-scrum-overview-fb68fc04aff8)) 59 | 60 | ![Scrum Diagram](./_images/scrum-diagram.png) 61 | 62 | ## 结对编程(Pair Programming) 63 | 64 | 对于算法主导类的技术面,Pair 肯定是必须的。 65 | 很多都在 HackerRank 的 [CodePair](https://support.hackerrank.com/hc/en-us/articles/115008269227-Introduction-to-CodePair) 上进行,建议提前熟悉用户界面。 66 | 至于能不能通过,基本就是看你对刷题的投入,不在下文的讨论范围之内。 67 | 68 | 首先要弄清楚:为什么要 Pair?有什么好处? 69 | 如果你想要标准答案,建议自行 Google 搜索。 70 | 但对于面试官,说白了就是:与候选人一起工作,看对方是否合适做同事。 71 | 因此无论是现场还是远程,无论是算法主导还是项目主导,我们都需要关注: 72 | 73 | * 编码前先明确需求 74 | 无论新/改需求是简单还是复杂,我们都应该先**明确需求**。 75 | 例如,Toy Robot 新增路障,我们应该把对应的**解题思路先讲一遍**。 76 | 必要时还应该在白板上进行推演,让面试官判断你对需求的理解是否确切。 77 | 78 | * 全程保持良好的交流沟通 79 | 写代码时,不一定要没话找话,但一定要表现出热情与合作。 80 | **一定要牢记,面试官这是在选同事,一定要表现出你是很 nice 的人**。 81 | 需求能做完固然好,但做不完也还好,因为重点是**解题思路与沟通协作能力**。 82 | 83 | 例如,文件切来切去,面试官未必熟悉代码结构,最好及时告诉对方你要干嘛。 84 | 又如,当初实现时就考虑到了拓展性,那么你也应该在相应的代码块解释一番。 85 | 若遇上算法类卡壳的情况,讲出自己的困难,比无动于衷地陷入冷场要好得多。 86 | 87 | ## 温馨提示 88 | 89 | * 现场面试时一般都是在会议室,请确保你的笔记本 (e.g. Type C) 支持 HDMI 输出。 90 | 91 | * 远程面试时建议戴耳机,避免自激噪音,同时也能听得更清楚。 92 | 如果是无线耳机,一定要保证电量,否则请准备好备用的有线耳机。 93 | 94 | * 前端面试时,有时可能要用到 Live Server,建议提前装好[插件](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)。 95 | 96 | * 准备好面试结束时问对方的问题,可参考 [反向面试](https://github.com/yifeikong/reverse-interview-zh) 中的列表。 97 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/2-remuneration-package.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 · 薪酬福利 3 | date: 2019-08-19 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation/remuneration-package 8 | lang: zh-CN 9 | --- 10 | 11 | ## 待遇概述 12 | 13 | ### 薪酬 14 | 15 | 通常 Package = 底薪(Base)+ 养老金(Super,一般是 9.5%)+ 补贴(Perks / Benefits),详细定义可参考 [Total Remuneration Package | APSC](https://www.apsc.gov.au/total-remuneration-package)。 16 | 17 | 除此之外,部分优质厂还会提供 bonus(常见的有 10% 的 base),可以理解为年终奖,但通常都没有国内大厂的丰厚。 18 | 19 | 电面的时候,HR 一般都会问你预期(Expectation)。如果你只说了一个数字,例如「90k」,那对方一般都会追问「plus super or package?」 20 | 如果 90k 只是底薪,那你应该回答「plus super」而不是「package」,否则 base 实际上就是 90k ÷ (1 + 9.5% 养老金) ≈ 82k。 21 | 为了避免歧义,对此常规的回答一般都是「90k plus super」。 22 | 23 | > 值得一提的是,上面所提到的数字,默认都是税前。可 Google 搜索「Australia salary calculator」来计算真实的税后收入。 24 | 25 | > 如果你是异地求职,你可能还需要考虑房租及日常消费水平差异,是否提供 relocation fee 等。 26 | 27 | ### 福利 28 | 29 | 咖啡机 / 牛奶 / 麦片 / 水果 / 零食 等基本都是标配,但极少公司会包饭(除非你想 996)。 30 | 31 | 年假 / 事假 / 产假 / 丧假 等,只要没有专门提及,一般都是按照[法例](https://www.fairwork.gov.au/leave)。 32 | 33 | 下面列出个人认为值得关注的额外福利(并非每个厂都有): 34 | 35 | * 弹性工作制(Flexible) 36 | 这个「弹性」跟国内的性质不同(你懂的),主要是为了错峰出行。 37 | 38 | * 在家办公(Work from home) 39 | 不用多解释了吧?而且还能有名正言顺的退税操作。 40 | 41 | * 股权激励(Equity) 42 | 相信你能分辨是否属于画饼性质。 43 | 44 | * ...*(TODO:有待其他同行补充)* 45 | 46 | > 你可以通过 [Glassdoor](https://www.glassdoor.com.au) 查看各公司的福利待遇,例如 [REA - Benefits](https://www.glassdoor.com.au/Benefits/REA-Group-Australia-Benefits-EI_IE324527.0,9_IL.10,19_IN16.htm)。 47 | 48 | ## 自我定位 49 | 50 | ### 自我评级 51 | 52 | 国内大厂都有各自的评级。例如,高级工程师,腾讯是 T3,对标阿里 P6 - P7。但由于国内同行的水平越来越高,且职称也开始通货膨胀了,3 ~ 4 年经验评高工也不是不可能。因此,我对自身的定位也开始变得盲目乐观了起来,导致一开始投递的几乎都是「Senior」的,结果可想而知。 53 | 54 | 在此我需要指出一个误区:**澳洲本地的职称与国内大厂的并不完全对等**。基本都是 Junior - Middle - Senior,粒度并不像国内分得那么细。所以阿里的 P6 高级开发,在澳洲可能只算 Mid 而不是 Sr. 55 | 56 | 综上,三年经验的我,定位应该是 **Mid** Front-End Developer。如果你是五年以上的,那写「Senior」理应是恰如其分的。 57 | 58 | > 通常这个「Mid」会省去,只要不指明,默认就是 Mid。 59 | 60 | ### 我的教训 61 | 62 | 求职初期,初出茅庐,谜之自信,自视甚高,定位有误,盲目要价,四处碰壁。 63 | 即使能力再强,但只要超出雇主预算,可能连简历都不看,直接就 pass 掉了。 64 | 65 | 多亏了后来有一位敢说实话的猎头敲醒了我,让我开始静下心来好好调研。 66 | 67 | 猎头表示:「你的价值是由市场决定的,除非你的现任雇主或你手头上的 offer 就愿意给这个价。猎头和各大公司的 HR 都不是吃素的,对业内什么水平匹配什么薪资,对应的竞争对手能开多少,都摸得一清二楚。因为这是我们的专业,我们就是靠这混饭吃的。再说了,你才三年工作经验,不可能给这个价。」 68 | 69 | 我厚颜无耻地反问道:「如果说我能力出众呢?毕竟有些人一年经验用三年,而我可能是三年经验顶五年(算上在国内加班的时间哈哈),你可不能单以工作年限为依据啊。」 70 | 71 | 猎头答道:「除非你的资历或技能不可替代,那就另说。例如,就墨尔本本地的前端,三年经验的一抓一大把,一样能干活,要价都比你低,试问你是老板,你会怎么选?再说了,能力超群的,也不需要这样子找工作呀。不过呢,也有可能是我遇到的能人太少了吧,我并没有冒犯你的意思。」 72 | 73 | 虽然我的英语听力不好,但这位猎头的真诚与专业已经彻底把我给说服了。于是,在之后的日子里,我都以这位猎头给我建议的预期薪资水平来投递简历。果然,之后我终于陆陆续续地收到面试邀请,真正开始了我的求职生涯。最终,凭借着手持若干个 offer 的优势,我终于有了议价权。 74 | 75 | ## 了解行情的渠道 76 | 77 | * [Glassdoor](https://www.glassdoor.com.au) 78 | 除薪资福利外,还有面经及员工反馈哦(注意甄别某些公司派内部人士或水军所发的和谐言论)。 79 | * [LinkedIn Salary](https://www.linkedin.com/salary)(貌似偏低) 80 | * 圈子内的同行互相探讨分享 81 | * 与猎头交谈时,试探性地询问目前的行情 82 | * ...*(TODO:有待其他同行补充)* 83 | 84 | 网上的资讯仅供参考,犹如脉脉知乎人人百万年薪,绝不能随意对号入座,**一定要找准定位**。 85 | 86 | 求职,本质上就是一种买卖,市场行情由供求关系决定。 87 | 顶级正货,凤毛麟角,买家们自然就会抢着加钱买。 88 | 镀过金的,相对抢手,要价也可比没有镀金的高。 89 | 而买家们也偏好买镀过金的,无可厚非。 90 | 除非你本身就是金子,但前提得遇上识货的伯乐。 91 | 92 | 国内素来有「金三银四,金九银十」的说法,澳洲也有「新财年,新预算,新职位」。 93 | 然而行情再好,在供过于求、众人抛售的情况下,固守也只会有价无市,无人问津。 94 | 因此,必须根据实际情况,针对不同的买家,**动态灵活地调整你的预期**。 95 | 96 | 求职者有自己的预期范围,招聘方也会有自己的预算范围。 97 | 求职者力求让招聘方觉得「物有所值」,才能皆大欢喜。 98 | 如果「物超所值」,那么你在接 offer 时还可以继续议价。 99 | 100 | > 有关这个话题,我会在 [Offer 篇](../4-offer/index.md) 中继续展开。 101 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/1-preparation/4-job-seek-channels.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 准备篇 · 求职渠道 3 | date: 2019-08-23 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/preparation/job-seek-channels 8 | lang: zh-CN 9 | --- 10 | 11 | > 有关简历的相关内容,都在之后的 [简历篇](../2-resume/index.md) 中专门谈及。 12 | 13 | ## 内推(Referral) 14 | 15 | 在众多投递渠道中,**内推绝对是首选**。 16 | 17 | 在澳洲,据说有 70% ~ 80% 的招聘职位都不会公开,而是直接「内部消化」。 18 | 尤其是好的坑位,更是肥水不流外人田。 19 | 20 | 如果组内有坑位空缺,那我肯定也会先联系相熟的同行,之后才是发招聘帖。 21 | 于我而言,内推成功后,我不仅能拿到可观的**内推奖金**,还能卖个顺水人情。 22 | 对他而言,跳槽的涨薪幅度要比年度调薪高得多,或许还能趁机换个更好的环境。 23 | 因此,在这种**双赢**的逻辑下,形成了如今全球通用的求职招聘潜规则:内推优先。 24 | 25 | 在国内大厂,即便是效率再高,人力成本再低,都无法应对海量的社招简历投递。 26 | HR 们宁愿去爬 Github 用户,筛选后群发面试邀请,都不愿意处理塞爆的投递箱。 27 | 因此,内推已在一定程度上取代社招,负责发招聘帖的也往往不再是 HR。 28 | 29 | 而在考拉的故乡澳洲,效率更是无从谈起。 30 | 一个月前自行投递的简历,可能现在才收到面试邀请。 31 | **但只要是内推的,我几乎都可以很快地进入到面试流程**。 32 | 内推相当于**走捷径**,内推人或许还能帮忙催进度,何乐而不为? 33 | 34 | ## 圈子(Networking) 35 | 36 | 内推的前提是,你心仪的公司里刚好有人帮你操作。 37 | 至于如何找人,那肯定是靠「圈子」了。 38 | 39 | 例如,我在 SEEK 上看到 MYOB 招前端开发,但我不认识人,怎么办? 40 | 首先,打开 MYOB 的 LinkedIn 公司页,进入 [People](https://www.linkedin.com/company/myob/people) 后,有一个搜索框。 41 | 实际上,MYOB 两千多雇员中的任意一个都可以帮我内推。 42 | 但对于英语不好,脸皮又薄的我而言,更倾向于找**有共同点的华人**。 43 | 例如,**大学校友**、之前都在同一个厂待过的**老同事**、同为前端开发等。 44 | 通过简单的搜索,很快就可以筛选出潜在的内推人,**Connect** 后就可以交流啦! 45 | 46 | > 温馨提示:某些同行不怎么上 LinkedIn,建议多 Connect 几个。 47 | 48 | > 如果你有内推需求,不妨先联系我,我看看我身边的朋友们能不能帮到你。 49 | > 我相信这种潜在数额不菲内推奖金的举手之劳,我们还是很愿意帮忙的哈。 50 | 51 | 当然还有线下 Meetup 等,但于求职而言效率较低,毕竟这是以线下活动为主。 52 | 53 | ## LinkedIn 54 | 55 | > 在某种程度上,LinkedIn 就是圈子的代名词。 56 | 57 | 在此之前,我频繁提到了 LinkedIn,其重要性可见一斑。 58 | 在国内,至少是程序员社区,LinkedIn 的使用并不是特别广泛。 59 | 对找工作而言,大家往往更倾向于打造多星的 Github 或高段位的技术社区账号。 60 | 本质上这些都是经营自己的方式,每一种方式的日常经营成本都不同,LinkedIn 是集大成者。 61 | 62 | 然而,仅仅是展示成果(项目代码、技术文章)仍不够立体,也不足以形成闭环的生态。 63 | LinkedIn 就像是淘宝,提供一个通用化的平台,让每个人都可以在上面充分地展示自己。 64 | 除了可列举教育背景、工作经历、技能认证等,还有来自圈友的评价与背书(~~商业互吹?~~)。 65 | 66 | 猎头和招聘方就像是买家,按照招聘要求在 LinkedIn 上进行搜索。 67 | 作为买家,肯定希望看到既详细又有说服力的「宝贝详情」,尤其是带「用户评价」的。 68 | 或许还可以在页面看到这是「2nd connection」,可通过某位「1st connection」圈友联系挖人。 69 | 70 | 反过来,对招聘方而言,他们也希望可以更好地展示自己,以吸引更多的人才。 71 | 因此,除了最基本的公司介绍以及日常动态,更重要的是发布空缺的职位。 72 | 由此,求职者也可像常规的求职网站那样,搜索对应公司的职位进行投递。 73 | 若心仪的公司还没开放职位,还能创建「job alert」,相当于「到货通知」。 74 | 75 | 值得一提的是,在 LinkedIn 上发布的职位几乎都是「厂家直销」。 76 | 这是相对于猎头而言的,即「没有中间商赚差价」。 77 | 因此,**从效率的角度,LinkedIn 绝对是首选**。 78 | 毕竟猎头还要再筛一轮才会递给招聘方。 79 | 80 | 刚开始找工作时,我完全不了解 LinkedIn 在澳洲乃至全球的地位。 81 | 甚至还觉得有简历就够了,为什么还要多此一举把简历的内容在 LinkedIn 上再复制粘贴一遍。 82 | 可能当时的我还不理解社交化职场平台带来的变革,最多就想到可以偷瞄老同事都跳槽去哪了。 83 | 84 | 经营 LinkedIn 犹如经营网店,不妨参考那些点满皇冠的店为什么可以那么火。 85 | 多来点有用的干货、endorsements,connections,往往可以提高你的曝光度。 86 | 最终「**主动求职**」变「**被动求职**」,只要你愿意,每周都会有猎头私信你「想跳槽不」。 87 | 88 | > LinkedIn 还有很多其他玩法,在此不再赘述,有兴趣的请自行查阅相关资料。 89 | 90 | ## Glassdoor 91 | 92 | 如果说 LinkedIn 是求职者的淘宝网店,那么 Glassdoor 更像是招聘方的淘宝网店。 93 | 招聘方可以发布空缺职位(宝贝),求职者(买家)也能评价反馈、分享面经等。 94 | (与 LinkedIn 类似,Glassdoor 也属于「厂家直销」。) 95 | 96 | 然而,既然是商家的网店,那肯定会有刷钻的。 97 | 因此,请注意甄别部分公司请内部员工或水军所刷的内容。 98 | 99 | ## SEEK / Indeed / ... 100 | 101 | > 对于没有工作经验的留学生童鞋们,更需要多多了解其他渠道。 102 | > 例如学校的论坛,以及各大厂的校招 (Graduate Program) 等。 103 | 104 | 这些网站跟国内的「拉勾」、「智联招聘」差不多,属于传统的求职网站。 105 | 但 SEEK 上的很多职位都是猎头发布的,往往在电话沟通后就没有然后了。 106 | (当然本质的原因肯定是我太弱了,猎头手头上还有更合适的候选人。) 107 | 108 | 我一开始都是用 SEEK 和 Indeed。 109 | 久而久之,LinkedIn 逐渐取代了它们。 110 | 因为既然两边都有发布,为何不找「厂家直销」? 111 | 112 | ## 猎头(Recruiter) 113 | 114 | 单独把猎头拎出来谈,是因为猎头无处不在。 115 | 在某种程度上,人人都是半个猎头,可以靠内推渠道赚钱。 116 | 能精准高效地匹配招聘方职位与求职者资源,那就是高级猎头。 117 | 118 | 在「主动求职」的道路上,我倾向于「厂家直销」为主,猎头为辅。 119 | 因为猎头是不可控的,在电话交涉后,我很可能只是进了数据库。 120 | 即便是我认为交谈感觉良好,但往往也只是猎头的职业礼仪。 121 | 122 | 但这一个月多以来,如果没有各路猎头的陪伴,我会倍感孤独。 123 | 相比于澳洲大厂普遍的考拉效率,猎头们简直比香港记者都快。 124 | 在求职初期,来电的大部分都是猎头,毕竟那时只在 SEEK 上投。 125 | 多亏了猎头们的不断训练,我的听力和口语表达能力有了飞跃性的提高。 126 | 也正是由于有了这些铺垫,我才逐渐地总结出电面的套路(可参考 [电面篇](../3-interviews/1-phone-screening.md))。 127 | 更重要的是,猎头不是 HR,我可以毫不避讳地打探本地前端开发的薪资行情。 128 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/4-offer/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · Offer 篇 3 | date: 2019-10-01 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/offer 8 | lang: zh-CN 9 | --- 10 | 11 | 过五关斩六将,好不容易来到了接 offer 这一步。 12 | 13 | 通常都是先收到 HR 的电话口头 offer,协商一致后才会收到正式的邮件书面 offer。 14 | 15 | ## 电话口头 offer 16 | 17 | 当对方来电给口头 offer 的时候,其实你已经接近成功了(用「接近」是由于极个别情况下对方会反悔)。就像是「非诚勿扰」,一开始是女嘉宾挑男嘉宾,但只要能坚持到最后,**主动权就会反转**。反正无论如何,肯定都可以牵走一个女嘉宾。 18 | 19 | ### 了解对方心态 20 | 21 | 正常情况下,如果只有一个 headcount,那么你就是他们的最佳候选人。少数情况下,可能你原本是备胎,但前任最佳候选人拒了他们的 offer,所以你就转正了。反正无论如何,你都要相信**主动权在你这里**。因为对方肯定也不想继续退而求其次(请相信他们还有其他备胎在等 offer),更不希望继续浪费时间精力从头开始面试新投简历的候选人。 22 | 23 | 既然你就是目前的最佳候选人,那为什么对方不直接发正式的书面 offer? 24 | 原因很简单:正式的书面 offer 还没做好,至少还要填写薪资数字以及到岗时间等。 25 | 26 | 在此,我们不得不了解一下 HR 的招聘绩效:在节约用人成本的前提下,更快地招聘到更合适的人。对于 HR 而言,「招到人」才是目的,而「节约用人成本」是相对灵活的。任何的招聘都有一个**预算范围**,只要你的预期在预算范围之内,那就都可以谈。毕竟 HR 并不是自己掏腰包给你发工资的,他们没必要跟自己的绩效奖金过不去 —— 这就是**自由裁量权**。 27 | 28 | 因此,HR 打电话过来,除了道喜等客套话外,往往还要「尽人事」地与你讨价还价,但又要尽量满足你的期望。毕竟你可是 HR 的绩效奖金来源,HR 可不希望煮熟的鸭子飞了。然而,HR 的开价通常都是相对保守的,因为「节约用人成本」是对方的本分工作。但倘若候选人不知道还有「还价」的操作,那基本就是吃定了,省事。 29 | 30 | ### 应对策略 31 | 32 | 在了解完 HR 的心态后,相信你就能理解为什么主动权在你手上了。但无论如何,请不要贪得无厌,因小失大,把 HR 搞成你的对立面。在这个关键的阶段,我们更应该是利用 HR 的**自由裁量权**为自己争取利益最大化,最终达到**双赢**的目的。 33 | 34 | 根据实际情况的不同,我们可以有不同的应对方式。 35 | 36 | * 手头上的 offer 数量 37 | 如果你手头上没有 offer,那你的议价权不会太大。当然你也可以假装有,只是道德诚信风险会很高,非常不推荐。具体的套路可自行 Google 搜索「接 offer 谈薪」、「offer salary negotiation」等。 38 | 如果对方在打电话之前就已经知道你有 offer 了(这一般是你催 offer 的结果),那么报价通常都会比较有诚意。因此,**请多投简历,多做题,多面试,才能多接 offer,有议价选择的权利**。付出和收获往往成正比。 39 | 40 | * 这是 dream job 41 | 例如,这是顶级大厂,你很想进去镀金,那就请随意,反正大厂给的钱通常不会少。另外,对方其实也很了解你的心态,并且这通常都是卖方市场,对方拥有天量备胎,因此议价的可操作性很小,除非你手头上还有别的 dream job offer。 42 | 43 | * 你的性价比太高 44 | 对于夸奖别人,外国人从不吝啬,也很难隐藏对你的偏爱。尤其是当你的实力超过其他候选人,要的预期却还更低的情况下,对方更是会合不拢嘴(新入行不久的 HR 更是如此)。例如: 45 | 46 | * HR 的语气热情似火 47 | * 面试的安排相当紧凑 48 | * 面试后自我感觉良好 49 | * 今天面试明天给答复 50 | 51 | 这种情况下,对方的报价会比你的预期高出不少,例如 90k => 100k。但实际上,只要你愿意开口问,他们往往会愿意给到 105k 甚至 110k+。更何况,你的试探几乎是零成本的,再不济还是会维持 100k,而不会直接就没了。 52 | 不过要注意的是,不要给对方坐地起价、贪得无厌的感觉。更多的,应该也「礼尚往来」地表现出你对该公司的喜爱(但不能过度,否则对方会有恃无恐)。例如「我喜欢你们的文化,技术氛围很不错」,顺便夸几句 HR「响应及时,面试体验非常棒」,然后再**不卑不亢**地表现出「希望贵公司能拿出更多的诚意,让我不至于那么纠结」。此时 HR 可能也会假装犹豫,又或者会表示自己不能做决定,要咨询技术团队的意见等。毕竟人家也不能直接就一口答应,否则就显得开价太没诚意了。反正无论如何,为了利益最大化,我们一定要沉得住气,静候佳音。 53 | 54 | > 温馨提示 1:部分公司会有 bonus,例如 10%,即 100k base + 100k × 10% bonus = 110k total。因此,要综合考虑其他福利,而不能只看 base。 55 | > 温馨提示 2:异地求职时,需要充分考虑当地的薪资与消费水平,合理制定预期。例如,悉尼 VS 墨尔本,前者 package 高一点,但 real earnings 可能后者更高。如果对方还不提供 relocation fee 的话,那么前者的吸引力会降低不少。 56 | 57 | * 对方开价低于预期 58 | 通常这种 offer 只能充当备胎,除非你的预期设置过高(可参考之前的 [准备篇 · 薪酬福利](../1-preparation/2-remuneration-package.md))。能给出达不到候选人的预期的 offer,通常都是有恃无恐。你能听到的一般也都是类似「我们的发展空间很大,机会很多」等画饼说辞。当然了,也不排除你需要雇主担保,而对方也得知你手头上没有其他 offer 等被动情况。 59 | 60 | ## 拖|拒|撕 offer 61 | 62 | 电话口头 offer 沟通一致后,对方会很快发来**有时限的**书面 offer。例如,给三四天时间考虑,当然也不排除只给一天的狠心公司。通常你会面临以下几种情况(或组合): 63 | 64 | * 这是唯一的 offer,没有其他面试或都被拒了 65 | 没有选择,只能接了,因为我相信你也累了。 66 | 67 | * 这是第一个 offer,还在面试或等待面试结果 68 | 此时你应该: 69 | * 口头上接受这个 offer,但书面 offer 要尽可能拖(套路请 Google 搜索「拖 offer」、「delay / stall offer acceptance」) 70 | * 催其他公司尽快安排终面或出结果,一般这种情况会得到优先处理 71 | 72 | * 这不是第一个 offer 73 | 仔细对比后,及时拒掉肯定不去的 offer,因为你的 pending 只会阻塞别人的招聘流程,让人家(包括备胎候选人在内)白等。**拒绝信一定要诚挚,将心比心,毕竟双方都投入了时间精力,说点好话让别人好受些也是应该的**(详情请 Google 搜索「拒 offer」、「decline / reject offer」)。 74 | 75 | * 这 offer 和另一个心仪的 offer 差不多 76 | 那就先口头接了。综合考虑后,选出最好的,然后尽快致电次好 offer 的 HR,试探能否能提价。同样地,这也是一门艺术,请自行搜索相关套路。 77 | 78 | * 这 offer 比之前已经 accept 了的书面 offer 还要好 79 | 首先,接了书面 offer 也不等于一定要入职,但会**很伤人品**。毕竟这可是**撕毁合约**,性质比较恶劣。同时也请留意 offer 上有没有相关的违约条文,否则对方可以诉诸法律。我们也可以看到在某些比较折腾的案例中,有的同学会在上几天班后辞职(试用期内,双方都有选择权),然后才到真正心仪的公司上班。 80 | 上文也提到,offer 是筹码,用来争取利益最大化,因此要尽可能地拖到可以最终做决定的时候。如果你提前就爽快地接了,那么对方也会随即把大部分的备胎候选人拒掉(但请相信他们还会留后手),这对招聘方来说是相当不利的。而且,即便是到了 offer 的 deadline,只要你诚心恳求宽限,HR 或许还可以理解,并且做好提前准备(预见到你可能不来了,于是极力 hold 住较为优秀的备胎候选人),然后无奈地再放几天。因为 HR 也很清楚,留得住人却留不住心,是不长久的,进来了恐怕也很快会走,没必要,还会影响绩效。 81 | 82 | ## 邮件书面 offer 83 | 84 | 经过上面的心理战,终于迎来了享受成功喜悦的时刻。 85 | 86 | 有些大厂是在数天的背调之后才会发书面 offer,而有些是先发书面的 conditional offer 再背调。但无论是哪一种,**都应该以收到书面 offer 才为之最终确定,因为这是在法律层面的基本保障**。在此之前,都不应该完全拒掉手头上的所有 offer(但可以拒掉个别肯定不去的,避免耽搁别人)。 87 | 88 | 仔细逐字研读 offer 上的内容,有问题及时问 HR,没问题就 accept。 89 | 90 | ## 背景调查(Reference Check) 91 | 92 | 提前联系好**关系不错的**前同事,看对方是否愿意帮你做 RC,确认后再填写联系人,这样基本就不会有问题。 93 | -------------------------------------------------------------------------------- /src/_posts/programmer-immigration-misconceptions/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 程序员移民误区 3 | date: 2019-11-24 4 | tags: 5 | - 移民 6 | permalink: /posts/programmer-immigration-misconceptions 7 | vssue-id: 38 8 | lang: zh-CN 9 | --- 10 | 11 | ## 前言 12 | 13 | 依稀记得,在很久以前,我偶然阅读到了某个肉翻成功的分享案例。 14 | 在短暂的羡慕与憧憬过后,我很快便进入到了失落与无助。 15 | 理想很丰满,现实很骨感。很遗憾,这根本不可能。 16 | 我撰文的初衷,就是为了扭转这种「读后感」。 17 | 18 | ## 移民的本质 19 | 20 | > 有关「永居」和「国籍」的区别,请自行 Google 查阅,在此不再赘述。 21 | 22 | **移民的本质其实就是获得签证**(居留权,**保留原国籍**)。如果所获得的签证在理论上可以永久居留,那就是所谓的**永居**(Permanent Residency,简称 **PR**),否则都是临居(Temporary Residency,简称 TR)。 23 | 24 | > 注:存在个别国家允许花钱直接买护照(公民身份,也就是入籍)的情况。 25 | 26 | 异想天开一下:假设地球上存在着某个神奇的国家,其旅游签证的**条例**赋予持有者享受当地福利,没有工作与居留限制,那么这个签证实际上就相当于 PR(即便它的名字叫旅游签)。举这个极端的例子,也只是为了说明「**是否 PR,由签证条例决定**」。 27 | 28 | ## 我的起点 29 | 30 | 在 2017 年 7 月,在机缘巧合下,我彻底动了移民的念头。 31 | 在了解移民之前,我觉得这是触不可及的;然而在**详细了解**之后,我觉得是**触手可及**的。 32 | 33 | 为避免被人诟病为「事后诸葛亮,站着说话不腰疼」,在此我诚实地列举一下我当时的情况: 34 | 35 | * 家庭条件 36 | 农村出身,家世清白,不可能问父母拿钱 37 | * 财务状况 38 | 由于缺乏理财观念,月光,没有存款,还欠京东白条不少钱 39 | * 工作经验 40 | 普通本科毕业 1 年,技术还行,在创业公司做初级前端开发 41 | * 英语水平 42 | 日常开发够用,自高考后就再也没主动学英语,水平一般般 43 | 44 | 以我当时的条件,在很多人眼里(包括我父母),想移民简直是天方夜谭,痴人说梦。 45 | 46 | 相信很多同行的条件都要比我好得多,但可能存在不少误区,导致望而却步,踌躇不前。 47 | 为扫清误区,让你能**重拾信心,尽快上路**,下面我列举出自认为比较常见的移民误区。 48 | 49 | ## 常见误区 50 | 51 | ### 贫贱不能移 52 | 53 | > 根据 [百度百科 · 贫贱不能移](https://baike.baidu.com/item/%E8%B4%AB%E8%B4%B1%E4%B8%8D%E8%83%BD%E7%A7%BB) 的解释:「贫困卑贱的处境无法改变其坚强的意志」。倘若让我厚颜无耻地对号入座,这实际上反而能更加鼓舞我继续坚持移民的道路。 54 | 55 | 首先,移民肯定是要花钱的,但所谓的「贫贱不能移」主要是针对动辄几百万的投资移民来说的。 56 | 57 | 实际上,**程序员移民的途径有技术移民、雇主担保移民等**,其对应的花费是**普通人可承受的**。例如,**纯 DIY** 技术移民大神可能只花三四万就搞定了;又例如,**基于真实意愿**的雇主担保移民,若雇主提供的 package + relocation fee 非常丰厚的话,这反而是赚钱的(如果还提供 signing bonus 的话那就更赚了)。 58 | 59 | 由于当时的我是月光族,因此我也只能问亲戚借来了¥3.5w,作为移民的启动资金。其中大部分都用于交中介费,剩余的就拿来周转,而后续的其他费用基本就靠边上班边存钱来覆盖。 60 | 61 | 这就像买房,几万元的移民启动资金就好比首付,只要解决了首付,之后就相对轻松了。 62 | 63 | > 花费明细已单独成篇,详见我的 [移民澳洲的基本花费](../basic-costs-of-immigration-to-australia/index.md)。 64 | 65 | ### 英语不够好 66 | 67 | > 如果你的目的地不是英语国家,则请把「英语」改为当地官方语言。 68 | 69 | 首先,什么为之「够好」?这好比赚钱,多少为之「够」呢? 70 | 71 | 以我为例,我登陆都一年多了,然而 Happy Friday 下午同事们聚在一起喝啤酒的时候,我经常都听不懂他们在聊什么,但这丝毫不影响我能胜任日常工作。可以说,**程序员职业性质所决定的天然英语环境(代码、文档等),已经给我们这个群体带来很大的移民优势(至少是读写方面)**。 72 | 73 | **如果真的要有一个「够」的标准,那就是签证要求**。例如,澳洲大多数技术移民签证的最低要求是雅思四个 6(当然肯定是越高越好,为了凑分嘛);而我所持有的雇主担保 482 工签的要求更是雅思四个 5 就够了(这基本是国内普通高中生都能达到的水平)。 74 | 75 | **学无止境**,不可能把英文所谓学「够好」了才觉得够资格移民。类似地,我才刚拿驾照,但依然缺乏驾驶经验,难道就没资格上路了吗?问题是越不上路就越没经验,**必须尽快上路才能快速积累经验**。 76 | 77 | **「够好」=「够用就好」**。英语学习是一个长期积累的过程,而**短期内只需要把分数考到就可以了**,就好比先把驾照弄到手了再慢慢提高嘛!我身边有不少同行是因为多年前高考失利才过来澳洲留学的,而起点就是考过澳洲大学录取的最低英语要求,现如今他们大多都很优秀。**要勇于迈出第一步,先把门槛跨过去了,之后纯靠惯性都能继续前行。** 78 | 79 | 另外,移民所需的各种认证、评估、审核,动辄数周数月的等待期,期间**应试型的英语学习**毫无疑问可以让你的英语水平得到快速提高,犹如我跳槽面试刷题时基础突飞猛进一样。 80 | 81 | 反正你够不够格,由英语考试成绩说了算。我这种英语渣在突击了几天 PTE 机经后就考到了相当于雅思四个 7 的成绩,这并不是因为我的基础有多好,而是我就抱着**应试的心态**逐渐掌握了机器评分的基本套路。当然了,想要考更高分可不能只靠技巧,依然要看实力。 82 | 83 | ### 技术不够好 84 | 85 | > 如果你的目标是 Google、Microsoft、Facebook 等,则请好好准备。 86 | 87 | 又是与上面同样的问题:什么为之「够好」?我可能直至退休都不会感觉有「够好」的一天,那难道我就找不到工作了吗? 88 | 89 | 根据上一节的结论:**学无止境,「够好」=「够用就好」,尽快上路才能快速提高**。值得一提的是,**国内高强度的竞争环境,已经给我们这个群体带来很大的移民优势(至少是基础方面)**。 90 | 91 | **如果真的要给出一个「够」的标准,那就是招聘职位描述**。例如,我们可以在 [LinkedIn Jobs](https://www.linkedin.com/jobs) / [Indeed](https://indeed.com) / [Glassdoor](https://www.glassdoor.com) / [StackOverflow Jobs](https://stackoverflow.com/jobs) / [Github Jobs](https://jobs.github.com) 等搜索对应 国家/地区/公司 的职位(其中不乏有**提供工作签证**的),看自己能否对号入座。 92 | 93 | > 温馨提示:由于国内外的差异,可能需要把相关的技术稍微替换一下才能更好地对上号。例如,把「AWS EC2」换成「阿里云 ECS」等。反正知道基本就是同一类东西就好,而不是没用过 AWS 就直接放弃了。既然都是大同小异,完全可以在面试前折腾研究一下,反正是[免费](https://aws.amazon.com/free)的。 94 | 95 | 反正你够不够格,无非就是看能不能在当地找到工作。 96 | 97 | > 若你的目的地是澳大利亚,可参考 [我的澳洲 IT 求职经历](../my-it-job-hunting-experience-in-australia/index.md)。 98 | 99 | ### 只能靠刷题 100 | 101 | 有不少同行还存在着误区,认为只能靠刷题进 Google 那样的大厂才能移民,实则不然。 102 | 103 | 首先,**程序员移民的途径大概分为两类:技术移民 和 雇主担保移民**。「刷题进 Google」显然属于后者,而前者通常是不需要 offer 的。例如,澳洲 189 签证是独立技术移民,只需要移民分数(基于学历、英语水平、工作年限等)足够就好。 104 | 105 | 其次,并非只有 Google 那样的大厂才能提供担保。换句话说,不是只有 Google 那样的大厂才配叫「雇主」,**很多中小企业也能提供担保,且要求通常都会低很多**。例如,某位同行通过某新加坡中型企业的雇主担保成功肉翻,目前由于不用 996,于是有大量空闲时间刷题,争取早日进入 Google Singapore Office。 106 | 107 | > 请注意:上述的「雇主担保移民」都是基于真实意愿的,并非花费高昂的「买 offer」交易。 108 | 109 | ### 没钱去留学 110 | 111 | 理论上,留学和移民是两个完全不同的概念;实际上,留学不一定能移民,但通常是有利于移民。说白了:想移民,可以不留学。 112 | 113 | 上面一直都在强调,程序员移民的途径通常是 技术移民 和 雇主担保移民,恰好这也是绝大多数留学生走的路,可谓是殊途同归。只是咱们没有当地学习经验及学历学位证,在技术移民的通道会处于劣势,只能靠其他方面弥补(如工作年限等)。而在雇主担保的通道,基本都是靠实力说话,不必妄自菲薄。 114 | 115 | ### (有待补充) 116 | 117 | 其实还想写得更多,例如: 118 | 119 | * 年迈的爸妈没人照顾 120 | * 怕无法融入当地社区 121 | * ... 122 | 123 | 但这些貌似已经脱离了「误区」的概念,更多的是「担忧」。 124 | 因此,相关的内容会独立成篇,敬请期待。 125 | 126 | > 若有其他补充或疑问,请不妨在评论中留言,我会争取及时回复。 127 | 128 | ## 结语 129 | 130 | 读完本篇文章后,我不确定是否能改变你对移民的看法,但我尊重每一个人的选择。 131 | -------------------------------------------------------------------------------- /src/_posts/immigration-suggestions-to-programmers/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 给程序员的移民建议 3 | date: 2019-12-07 4 | tags: 5 | - 移民 6 | permalink: /posts/immigration-suggestions-to-programmers 7 | lang: zh-CN 8 | --- 9 | 10 | ## 前言 11 | 12 | 由于最近我有老同事也动了移民的念头,为避免他踩坑,我回顾过去两年多以来走过的移民道路,总结出一些经验和教训。希望在帮到他之余,也能帮到更多的同行。 13 | 14 | 在开始前,先来一段免责声明:以下建议只是基于我浅薄的经历,**仅供参考**。你必须根据自身实际情况**反复斟酌,从长计议**。 15 | 16 | 另外,本篇文章所提到的「移民」只包含**技术移民**和**雇主担保移民**,而非投资移民、家庭成员移民、难民与庇护等。 17 | 18 | ## 移民的先决条件 19 | 20 | 从之前的文章 [程序员移民误区](../programmer-immigration-misconceptions/index.md) 中可以看出:几万块钱、语言能力、技术水平等,都不足以阻碍咱们走这条路,毕竟**程序员群体的移民优势实在是太突出了**。 21 | 22 | 那么,移民的先决条件究竟是什么?于多数人而言: 23 | 24 | 1. **觉悟**:对自己所处的环境有深刻认识。就像「黑客帝国」里吃了**红色药丸**的主人公 Neo 一样,醍醐灌顶。 25 | 2. **决心**:**誓要**努力改变自己的处境。否则再多的觉悟也只是空想,根本不可能有任何**行动**。「肖申克的救赎」主人公 Andy 就是绝佳典范。 26 | 27 | 我最初也觉得移民是触不可及的,但我的**觉悟不断地鞭策着我**去搜索了解更多的资讯,最终在**认知层面**上把「触不可及」变成了「**触手可及**」,并**决心开始付诸行动**。 28 | 29 | 回顾过去两年多的经历: 30 | 31 | * [2017.7] 当时我在广州某城中村的出租屋里,仅仅就是知乎搜索了几下,阅读了几篇文章后就觉得完全可行,并开始**行动**(这或许也是为什么在之后的某段时间内,在知乎上搜「移民」是没有任何结果的) 32 | * [2018.10] 登陆澳洲墨尔本。坐在南航飞机座位上的时候,很难想象我竟然做成了 33 | * [2019.12] 我正在写这篇文章,恍若隔世 34 | 35 | ## 我的粗浅建议 36 | 37 | ### 移民要趁早 38 | 39 | 如果时间可以倒流,我会在读本科的时候拼命考英语(PTE),争取早日考到四个 8(八炸)。2016.6 毕业后赶紧做 EA 职业评估,通过后立即提交澳洲 189|190 技术移民 EOI。按照当年通信专业的获邀分数 60,我毫无疑问是可以获邀的。传说中「国内本科一毕业就拿澳洲绿卡」在当时是完全可行的,顺便还省了几十万的留学费用。 40 | 41 | 但很遗憾,时光不能倒流。近两年来的移民潮一波接一波,导致分数要求也水涨船高,居高不下。想当年 60 刚过线就秒获邀,而如今 85 高分都得排好几个月(参见澳洲移民局官网 [Invitation rounds](https://immi.homeaffairs.gov.au/visas/working-in-australia/skillselect/invitation-rounds))。看到有不少移友被迫转战加拿大,形势的严峻可见一斑。 42 | 43 | 因此,很多过来人都会说「移民要趁早」,我也未能免俗。这就像是当年买房,越早上车就越轻松,越是观望之后就越困难。因为这就是**趋势**,大多数人都无法逆势而行,只能顺势而为。而且,在可预见的未来(2020),这种趋势只会愈演愈烈。但无论如何,**及早行动,为时未晚**,相信你依然可以坐上属于你的「末班车」。 44 | 45 | ### 注意时效性 46 | 47 | 网上的资讯琳琅满目,但一定要注意时效性,毕竟每个财年甚至每个月都可能会有政策上的变动。 48 | 49 | ### 制定计划表 50 | 51 | 我曾听说过一句话:要想干成大事,必须有**清晰的目标**和**相对的时间表**。 52 | 53 | 例如,语言考试、翻译公证、职业评估及简历投递等,都是可以同步进行的,但要**明确哪个时间点要推进到哪一步**。也只有这样才能在日常 996 工作中持续推进,否则很容易迷失方向,原地踏步。 54 | 55 | 对于雇主担保移民来说,若准备充分的话,可能几个月就搞定了;而对于技术移民来说,耗时一两年是很正常的。没有计划表,又不会审时度势的话,只会被淹没在移民大潮中。 56 | 57 | ### 调整好心态 58 | 59 | **欲速则不达**。有**恒心**,更要有**耐心**。 60 | 61 | 上面也提到,技术移民是一场持久战,诸如考英语多次不过、排队几个月没消息等都是很普遍的。同样地,海外求职投递简历数周没回应也是很常见的,关键是**不要气馁,再接再厉**。每天焦急等待、静不下心是大忌,没有任何意义,还不如抓紧利用这些时间多多准备,查漏补缺。 62 | 63 | > 可参考 [我的澳洲 IT 求职经历 · 准备篇 · 求职心态](../my-it-job-hunting-experience-in-australia/1-preparation/1-mentality.md)。 64 | 65 | ### 准备好 Plan B 66 | 67 | 很多时候,计划往往赶不上变化,必须提前预判,留好后手,才不至于孤注一掷,陷入困境。 68 | 69 | 还是以澳洲为例,A 同学死磕 189 独立技术移民,结果排了一年多的队都还没获邀(且遥遥无期);而 B 同学预判形势不好,另辟蹊径,在排队 189 之余也顺便申请了 489 偏远地区担保移民,待两年后申请 887 永居就自由身了。若此时此刻,A 同学在走投无路的情况下才申请 489,则很遗憾,489 已被新的 491 签证取代,转永居的要求也从原来的两年增加到了三年。 70 | 71 | 我在 [移民澳洲的基本花费](../basic-costs-of-immigration-to-australia/index.md) 开篇就列出了我的 Plan B(489 偏远地区担保)以及 Plan C(482 雇主担保)。类似地,有些同行的目标是美国,但由于抽签太难了,因此以加拿大为跳板,待入籍后就可以轻易到美国生活工作了。 72 | 73 | 就目前澳洲的形势,我肯定是不推荐孤注一掷 189 / 190 的,不妨额外考虑: 74 | 75 | * 澳洲的偏远地区签证 491,或雇主担保签证 482 / 494 / 186 (PR)。 76 | * 新西兰,入籍后即可轻易拿澳洲 PR,到澳洲生活工作。 77 | * 若不局限于澳纽地区,那选择就更多了:加拿大、新加坡、德国、日本等雇主担保。不妨到 [Stack Overflow Jobs](https://stackoverflow.com/jobs) 点击 Perks - visa sponsor 后筛选出合适的职位。 78 | 79 | > 其他求职渠道建议自行 Google 搜索。 80 | > 首选内推,原因可参考 [我的澳洲 IT 求职经历 · 准备篇 · 求职渠道](../my-it-job-hunting-experience-in-australia/1-preparation/4-job-seek-channels.md)。 81 | 82 | ### 找靠谱的中介 83 | 84 | > 雇主担保移民基本无需考虑该项,因为雇主会全程负责。 85 | 86 | 至今我都觉得庆幸的是,在一开始就找到了靠谱的中介。否则像我这种三天打鱼两天晒网的人,是很难持续推进的。因为如果是纯 DIY 技术移民的话,**资讯门槛**是很高的,要花费大量的时间和精力去查阅资料、做笔记。由于我除了 996 之余还要考英语,实在是无暇顾及,因此我还是倾向于**把专业的事交给专业人士处理,让他们帮我推进**,我只需要按部就班地听从安排逐步跟进就好了。 87 | 88 | 当然了,前提是「靠谱」,否则还真不如 DIY。 89 | 90 | > Tips:若想了解**靠谱**中介咨询,不妨加我微信 **kenberkeley**。 91 | 92 | ### 语言考试要应试 93 | 94 | > 雇主担保移民基本无需考虑该项,因为签证语言要求通常都很低,关键是远程视频面试时的沟通表达能力。可参考 [我的澳洲 IT 求职经历 · 面试篇](../my-it-job-hunting-experience-in-australia/3-interviews/index.md)。 95 | 96 | 刚开始的时候,我的备考方式是每天背单词,殊不知这几乎是毫无意义的,**因为这根本不是应试**。类比软件开发,这就像是用最原始的方式堆砌代码;而应试的方式是直接用现成的框架来开发。所谓「**应试**」,目的就是要快速地完成项目,而不是做艺术品。艺术品需要长年累月的积累,而**移民是要争分夺秒的**,还不如事成之后,在国外每天边学边用边积累实在。 97 | 98 | 另外,语言考试也不便宜。当年我考 PTE 一次就得¥1600+,如果真抱着做艺术品的心态去考试,我可能考到破产都无法出师。倘若有师傅(培训班老师)可以稍加指点,因材施教,让我可以应试式地高效备考,减少重考的次数,尽快考过,那么无论从时间还是从花费的角度,都是非常划算的。 99 | 100 | 当然了,前提是「靠谱」,否则还真不如自己摸索。 101 | 102 | ### 在岸优势多 103 | 104 | 换位思考一下:假如你是雇主,本地就有大量合适的求职者,那么你还会考虑海外的求职者吗?该问题在 [TSS 482 换雇主提示](../tss-482-change-employer-tips/index.md) 的「现状」就有提及。 105 | 106 | 这也是为什么在某种程度上,旅行打工签证也比海外申请人有优势。因为办理雇主担保工作签证的手续是几乎一样的,但前者可以到场面试,还能立即上岗,之前申请签证的各项材料也可以复用。 107 | 108 | 当然了,这选项也是有风险的,毕竟你要辞掉国内的工作,申请一个短期的签证登陆求职。期间没有任何收入,所有的花销都由自己承担。另外,在没有本地工作经验的情况下,求职难度并不比海外申请人低。 109 | 110 | > 可参考 [我的澳洲 IT 求职经历 · 简历篇](../my-it-job-hunting-experience-in-australia/2-resume/index.md) 中的「淡化非本地经验」。 111 | 112 | ## 结语 113 | 114 | * **崇拜行动,相信结果。** 115 | * **念念不忘,必有回响。** 116 | -------------------------------------------------------------------------------- /src/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | require('dotenv-safe').config() 2 | 3 | const dayjs = require('dayjs') 4 | require('dayjs/locale/zh-cn') 5 | dayjs.locale('zh-cn') 6 | 7 | const safeExternalLinkGen = require('./_utils/safeExternalLinkGen') 8 | const extractPermalinkFromPost = require('./_utils/extractPermalinkFromPost') 9 | 10 | const isProd = process.env.NODE_ENV === 'production' 11 | 12 | const TITLE = 'Aussie Coder 土澳码农' 13 | const HOSTNAME = 'https://kenberkeley.github.io' 14 | const ISSUES = { text: 'Issues', link: 'https://github.com/kenberkeley/blog/issues' } 15 | const SUBSCRIBE_CN = { text: '邮件订阅', link: 'https://mailchi.mp/a019f810e55d/aussiecoder' } 16 | const SUBSCRIBE_EN = { text: 'Email Subscribe', link: 'https://mailchi.mp/cb2708d60b30/aussiecoderken' } 17 | const YOUTUBE = { text: TITLE, link: 'https://www.youtube.com/channel/UCFdirk72XzSXmJ0qTgoTHFQ' } 18 | 19 | // References: 20 | // https://github.com/vuejs/vuepress/blob/master/packages/docs/docs/.vuepress/config.js 21 | // https://github.com/meteorlxy/vuepress-theme-meteorlxy/blob/master/docs/.vuepress/config.js 22 | module.exports = ctx => ({ 23 | title: TITLE, 24 | locales: { 25 | '/': { lang: 'en' } 26 | }, 27 | evergreen: true, 28 | plugins: [ 29 | 'vuepress-plugin-check-md', 30 | ['google-analytics-4', { 31 | // https://github.com/vuejs/vuepress/issues/2713#issuecomment-1470599350 32 | gtag: process.env.GOOGLE_ANALYTICS_4_MEASUREMENT_ID 33 | }], 34 | ['vuepress-plugin-clean-urls', { 35 | normalSuffix: '/', 36 | indexSuffix: '/' 37 | }], 38 | ['vuepress-plugin-sitemap', { 39 | hostname: HOSTNAME, 40 | dateFormatter: lastUpdated => dayjs(lastUpdated).format() // Fix [RangeError: Invalid time value] 41 | }], 42 | ['vuepress-plugin-canonical', { 43 | baseURL: HOSTNAME, 44 | stripExtension: true 45 | }] 46 | ], 47 | markdown: { 48 | extendMarkdown: md => { 49 | md.use(require('markdown-it-replace-link')) 50 | }, 51 | // TODO:https://github.com/meteorlxy/vuepress-theme-meteorlxy/issues/62 52 | replaceLink (link, env) { 53 | // env could be {} or { loader: {}, frontmatter: {...}, relativePath: '...' } 54 | const curFilePath = env.relativePath 55 | if ( 56 | curFilePath && curFilePath.startsWith('_posts/') && // in _posts/ 57 | link.startsWith('.') && link.endsWith('.md') // relative path 58 | ) { 59 | return extractPermalinkFromPost(curFilePath, link) 60 | } 61 | return link 62 | } 63 | }, 64 | theme: 'meteorlxy', 65 | themeConfig: { 66 | lang: Object.assign( 67 | require('vuepress-theme-meteorlxy/lib/langs/en-US'), 68 | // https://github.com/meteorlxy/vuepress-theme-meteorlxy/blob/master/lib/langs/en-US.js#L4 69 | { posts: 'Articles' } 70 | ), 71 | personalInfo: { 72 | nickname: 'Ken', 73 | description: `YouTube:
${safeExternalLinkGen(YOUTUBE)}`, 74 | email: 'kenhuang.au@gmail.com', 75 | location: 'Melbourne, VIC', 76 | organization: 'Sportsbet', 77 | avatar: '/avatar.jpg', 78 | sns: { 79 | github: { 80 | account: 'kenberkeley', 81 | link: 'https://github.com/kenberkeley/blog' 82 | }, 83 | linkedin: { 84 | account: 'ken--huang', 85 | link: 'https://linkedin.com/in/ken--huang' 86 | } 87 | } 88 | }, 89 | nav: [ 90 | { text: 'Home 首页', link: '/', exact: true }, 91 | { text: 'Articles 文章', link: '/posts/' }, 92 | { text: 'Resources 资源', link: '/resources/' }, 93 | { text: 'BuyMeACoffee 打赏', link: '/tip/' }, 94 | { text: 'YouTube', link: YOUTUBE.link }, 95 | ISSUES 96 | ], 97 | header: { 98 | showTitle: true, 99 | }, 100 | footer: { 101 | poweredBy: false, 102 | poweredByTheme: false, 103 | custom: '欢迎打赏鼓励我继续产出,如果文章对你有帮助的话
' + 104 | `欢迎订阅我的 YouTube 频道 ${safeExternalLinkGen(YOUTUBE)}
` + 105 | `欢迎${safeExternalLinkGen(SUBSCRIBE_CN)},所有文章均为原创,转载请注明出处
` + 106 | `若有建议、意见或者其他疑问等,欢迎到 ${safeExternalLinkGen(ISSUES)} 交流
` + 107 | '
' + 108 | 'You can BuyMeACoffee to encourage me if it helps
' + 109 | `This is my YouTube channel ${safeExternalLinkGen(YOUTUBE)}
` + 110 | `Welcome ${safeExternalLinkGen(SUBSCRIBE_EN)} / Repost with original links
` + 111 | `If any suggestions or questions, please raise in ${safeExternalLinkGen(ISSUES)}` 112 | }, 113 | lastUpdated: true, 114 | comments: isProd && { 115 | platform: 'github', 116 | owner: 'kenberkeley', 117 | repo: 'blog', 118 | clientId: process.env.VSSUE_CLIENT_ID, 119 | clientSecret: process.env.VSSUE_CLIENT_SECRET, 120 | autoCreateIssue: true, 121 | // proxy: url => `https://cors-anywhere.azm.workers.dev/${url}` // TODO: FIX_ME: https://github.com/meteorlxy/vuepress-theme-meteorlxy/issues/114 122 | }, 123 | pagination: { 124 | perPage: 10 125 | } 126 | } 127 | }) 128 | -------------------------------------------------------------------------------- /src/_posts/basic-costs-of-immigration-to-australia/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 移民澳洲的基本花费 3 | date: 2019-11-23 4 | tags: 5 | - 移民 6 | - 签证 7 | permalink: /posts/basic-costs-of-immigration-to-australia 8 | lang: zh-CN 9 | --- 10 | 11 | > 在阅读本文前,你最好已经对澳洲移民有所了解,例如「什么是 EOI」、「什么是永居(PR)/ 临居(TR)签证」等。 12 | 13 | 近三年(2017 ~ 2019)来,随着澳洲移民政策的不断收紧,我审时度势,先后提交了: 14 | 15 | * **189**(PR)独立技术移民 EOI 16 | 因分数不够,故获邀机会极其渺茫。 17 | * **190**(PR)NSW 州担保移民 EOI 18 | 不可能获邀,因 NSW 2019 ~ 2020 财年新政要求必须在新州有**至少 1 年的相关工作经验**。由于我的本科专业是通信而非计算机,因此作为程序员的我不具备任何**相关工作经验**。 19 | * **489**(TR)偏远地区担保移民 EOI 20 | 已获邀,但由于 482 已下签,因此没有递签 489(逾期自动作废)。 21 | 值得一提的是,489 签证已于 2019 年 11 月中旬作废,取而代之的是 491 签证。 22 | * **482** Medium-term stream(TR)雇主担保工作签证 23 | 当前持有的签证,可在 3 年后转 186 Temporary Residence Transition stream(PR,简称 186 TRT)。 24 | 值得一提的是,由于我的本科专业是通信而非计算机,因此无法直接走 186 Direct Entry stream(PR,简称 186 DE)。如果你已是计算机专业,可直接走 186 DE。又或者,先快速办理 482 来澳到岗工作后,再行办理审核下签周期较长的 186 DE。 25 | 26 | 这基本上是把技术移民和雇主担保都走了个遍,同时也从侧面反映出澳洲移民形势的严峻。 27 | 幸好上述签证所需材料和手续都大同小异,因此并不会造成太多额外的开销。 28 | 以下内容,除非开头有说明,否则基本都是必须的费用项。 29 | 30 | ## 中介费 31 | 32 | > 本节内容仅面向 189|190|489 申请人,因 482 申请人的法律费用都应由雇主承担。 33 | 34 | 在移民的道路上,时间就是金钱,因此我会倾向于**用钱买时间,把专业的事交给专业人士处理**(实际上是忙着 996,没时间 DIY 折腾,人艰不拆了吧)。另外,网上的热心 DIY 分享未必能及时跟上政策的改动,因而无法保证其有效性。当然了,找中介的优势是建立在对方「靠谱」之上的,否则还真不如 DIY。 35 | 36 | 我当时(2017.8)的中介费是¥2.9w 全包(若有副申请人,也只需再加¥1.1w 而非 double),包含职业评估、EOI 申请、签证申请等相应资料的收集、翻译、整理、录入、提交等,当然也包括日常提醒、咨询服务等。值得注意的是,上述「全包」并不包含后续的各类申请费(例如签证费)。 37 | 38 | 这听起来好像很简单,完全可以自己 DIY,貌似没必要花那么多钱。对此我也只能表示见仁见智了,因为这又是「钱 VS 时间」的问题。总的来说,我个人觉得这钱花得很值,让我可以**把更多的时间和精力放到日常工作(其实是加班)和考英语**,与此同时我的移民进程也有一个专业的团队在把控,帮我不断地推进。我相信,**经验是最大的门槛**,他们(顾问与文案)踩过的坑可能比我在 JavaScript 踩过的坑还要多得多,因此我相信他们专业而高效的流水线协作。 39 | 40 | 当然了,如果真想省钱,其实也可以采用「DIY 为主,中介为辅」的借力方式。例如,不要「全包」,只选重活较多的「职业评估」,其余自己 DIY。由于你也是付费顾客,因此理应也可以享受一定的咨询服务。 41 | 42 | > 小计:¥2.9w(价格并不是固定的,且显然每年都会涨)。 43 | > Tips:若想了解**靠谱**中介咨询,不妨加我微信 **kenberkeley**。 44 | 45 | ## 英语复习与考试费用 46 | 47 | 开篇所列举的签证都对**主申请人**有最低英语水平要求: 48 | 49 | * 189|190|489 的最低要求是雅思四个 6([Competent English](https://immi.homeaffairs.gov.au/help-support/meeting-our-requirements/english-language/competent-english)),且分数越高越有利 50 | * 482 的最低要求是雅思四个 5(除非满足 [豁免条件](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/temporary-skill-shortage-482/sufficient-english)),满足最低要求即可 51 | 52 | 由于申请人的英语水平各不相同,有的同学考两次就成功八炸(四个 8)了,而有的同学得考十几次,甚至几十次。因此,**本节无法准确估量费用,只能列举概况。** 53 | 54 | ### PTE(或雅思) 55 | 56 | 虽然上面都是以雅思来说,但绝大多数澳洲移友都会选考 PTE(附分数对应表:[Score Comparison vs Other Tests](https://pearsonpte.com/organizations/researchers/score-comparison-vs-competitors/))。原因无他:纯机考,出分快,误判率低,可以在短期内**掌握机器评分套路**后不断地刷题重考。鉴于此,本小节直接就以 PTE 为主体,而实际上雅思的费用也是差不多的。 57 | 58 | #### 考试费用 59 | 60 | 随着 PTE 考生数量越来越多,PTE 的报名费也水涨船高。当时(2017 ~ 2018)我都是在淘宝上买的 voucher,大概是¥1600 左右,而如今(2019.11)基本都要¥1800 左右。根据目前 Pearson PTE 官网 [Test Centers & Fees](https://pearsonpte.com/the-test/test-centers-and-fees/) 的标价 A$340,相当于¥1632(当前汇率 4.8)。 61 | 62 | 为避免误会,在此需要画蛇添足地强调:这只是考一次的费用。 63 | 通常,189|190 签证申请者都得**考好几次**才能拿到理想的分数。 64 | 65 | #### 备考费用 66 | 67 | 决定该项费用的因素有很多,例如: 68 | 69 | * 申请人的英语水平 70 | 少部分牛人同学从网上免费下载一些机经背一背就考过了,而不少同学得花五六千人民币报培训班。 71 | 当然了,也不是说报班不好,毕竟如果是我的话,我也会倾向于**用钱买时间**,省心省力,而不是**全靠自己摸索,容易走弯路**。 72 | * 要考到的目标分数 73 | 对于 482 申请人来说,分不在高,够用就好;而对于 189|190 申请人来说,目标往往是八炸,通常都需要**考很多次**才能达到。 74 | * 运气 75 | 在水平差不多的情况下,由于题目难度、环境干扰等因素,有的同学考五六次就八炸了,而有的同学得考七八次,因此运气也是实力的一部分。 76 | * ... 77 | 78 | 除此之外,可能还有其他各项杂费,例如 App(扇贝单词等)充值、学习资料打印费等。若所在城市没有考点,则还需要算上异地交通食宿的开销。 79 | 80 | ### NAATI CCL 81 | 82 | > 无需 EOI 排队的 482 申请人,或 189|190|489 EOI 分数足够高的申请人无需考虑该项。 83 | 84 | 如今 EOI 获邀分数居高不下,PTE 八炸已成标配。为了凑分,还需要 NAATI 的 5 分加持。如果只是为了移民加 5 分,大多数人都会倾向于只考 [CCL](https://www.naati.com.au/other-information/ccl-testing/),而非就读一条龙的 NAATI 认证课程([区别](https://www.ccltest.com.au/ccl-and-naati/))。 85 | 86 | #### 考试费用 87 | 88 | 当前(2019.11)NAATI 官网 [Fees & charges](https://www.naati.com.au/resources/forms-fees/fees-charges/) 列出的 CCL 考试费用是 A$800,相当于¥3840(当前汇率 4.8)。 89 | 90 | 当时(2018.8)报名的时候由于是刷 Visa 信用卡,有手续费,因此实际上是花了¥4049.12(按当时汇率)。 91 | 92 | #### 备考费用 93 | 94 | 可参考上面的 PTE 备考费用,在此不再赘述。 95 | 96 | > 小计: 97 | > 482 申请人要求低,可能只需考一次,即¥1800。 98 | > 否则「PTE 考五次 + 报班」,基本也得要¥1.5w。 99 | > 再加「CCL 一次过 + 报班」,起码也得要¥2.5w。 100 | 101 | ## 职业评估 102 | 103 | > 482 申请人无需考虑该项。 104 | 105 | 由于我的本科专业是通信工程,因此是 [EA](https://www.engineersaustralia.org.au/For-Migrants/Migration-Skills-Assessment/Migration-Fees) 评估。计算机专业的同学请参考 [ACS 官网](https://www.acs.org.au/msa/information-for-applicants.html)。 106 | 107 | 职业评估分加急与不加急,我**肯定是选加急**的,因此当时(2017.11)是花了 A$1060。 108 | 109 | 可能是刷 Visa 信用卡,有手续费,因此实际上是花了¥5317.91(按当时汇率)。 110 | 111 | > 小计:¥5317.91(这显然也不是固定的,几乎每年都会涨) 112 | 113 | ## 公证费 114 | 115 | 各类证件的公证费(其实就是翻译后盖个章),大概是¥1000 ~ 2000 左右。 116 | 117 | > 小计:¥1500(略) 118 | 119 | ## 489 申请费 120 | 121 | > 该项仅针对 489 申请人。 122 | 123 | 489 申请人获得偏远地区提名后,需要提交一笔申请费来继续推进 EOI。例如,当时(2018.4)申请的是 NSW Orana 地区,提交了 A$700 的申请费,相当于¥3485.44(按当时汇率)。 124 | 125 | > 小计:¥3485.44 126 | 127 | ## 签证费 128 | 129 | 482|489|189|190 的签证费都不尽相同,最新费用请查阅澳洲移民局官网 [​Fees and charges for Work visas](https://immi.homeaffairs.gov.au/visas/getting-a-visa/fees-and-charges/current-visa-pricing/work)。 130 | 131 | > 小计:¥1.2w ~ 2w 不等 132 | 133 | ## 体检费 134 | 135 | 当时(2018.8)是¥880 左右,坐标广州。 136 | 137 | > 小计:¥880 138 | 139 | ## 其他杂费 140 | 141 | 下签后,飞澳洲的机票,登陆后的衣食住行等开销,不在本文讨论范围内,建议自行查阅相关资料。 142 | 143 | ## 总结 144 | 145 | 我把上面都折腾了个遍,大概是¥8w 左右。 146 | 若是夫妻二人,则可能是乘以 1.5 ~ 1.8 的样子。 147 | 若一开始就直接走 482,则可能就是一万出头就搞定了。 148 | 反正无论如何,基本不会超过广州珠江新城一个平方均价。 149 | 150 | > 再次强调:本文所提到的金额都是 2017 ~ 2018 年间的,数年后的今天几乎不太可能还是一样的价格。 151 | 152 | ## 参考资料 153 | 154 | * [如何到澳洲工作](https://github.com/wahyd4/work-in-australia) 155 | * [澳洲軟體工程師 工作常見問題(簽證篇)](https://medium.com/@james1239090/%E6%BE%B3%E6%B4%B2%E8%BB%9F%E9%AB%94%E5%B7%A5%E7%A8%8B%E5%B8%AB-%E5%B7%A5%E4%BD%9C%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-%E7%B0%BD%E8%AD%89-91e7cbd42bf9) 156 | * 自行 Google 搜索「澳洲移民费用」或「Australia Migration Costs」 157 | 158 | ## 拓展资料 159 | 160 | * [Danny 的澳洲笔记 · 澳洲生活花费大曝光,家庭一年要花多少钱?](https://youtu.be/pKOoBQkIGYg) 161 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/2-resume/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 简历篇 3 | date: 2019-08-25 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/resume 8 | lang: zh-CN 9 | --- 10 | 11 | > 在 [准备篇 · 求职渠道](../1-preparation/4-job-seek-channels.md) 中提到了 LinkedIn 的重要性,因为这本质上就是简历。 12 | > 然而 LinkedIn 导出的 Profile 太丑了,因此最好再另外准备一份更合规的简历。 13 | 14 | 在简历的问题上,我几乎把所有坑都踩了一遍。 15 | 前后修改了数十版,最终才总结出合理的套路。 16 | 17 | ## 心态 18 | 19 | 如果把求职招聘比喻成拍拖,那么简历就相当于第一封情书。 20 | 这直接决定了对方对你的第一感觉、第一印象,因此至关重要。 21 | 22 | 不少人都倾向于参照 JD (Job Description) 写简历。 23 | 但对于我这种懒人,更倾向于 **Universal resume** 的「Write once, apply anywhere」。 24 | 尤其是看到 Jeffrey Li 的 [我的墨尔本求职之旅 - 准备篇](https://www.jianshu.com/p/2b797dd42cba) 之后,让我更加坚定地懒下去。 25 | 26 | > 偷懒是有代价的。客观上,这**确实**会降低你入选的概率(大牛请忽略)。 27 | > 另外,**负责筛选简历的未必懂技术**,故参照 JD 写简历绝非一无是处。 28 | > 从这也侧面反映出「内推」的巨大优势:可以有效地避免这类情况。 29 | 30 | 除了懒,更重要的是希望对方喜欢真实的我,而不是喜欢修饰后的我。 31 | 求职跟拍拖一样,理应是双向选择的,不必卑躬屈膝,过分迎合,委曲求全。 32 | 为了提高命中率,特意往 JD 靠,往往不能展现最真实的自我(其实还是懒)。 33 | 因此,我没用流行的模板,完全就按照自己的风格来写情书(自我感觉良好)。 34 | 35 | 我希望对方看到我的情书时能一见钟情,不必马拉松式的长篇大论(自以为是)。 36 | 我希望对方也同等地喜欢我,这样的成功率也会更高,日后的关系也会更加持久。 37 | 过度的包装和粉饰只会辛苦自己,最终往往也只会浪费大家的时间,误人误己。 38 | 过这样的日子,我不会开心,强扭的瓜不甜,我不认为这种关系能长久发展下去。 39 | (但不排斥「钱给够,我什么姿势都会」,也不排除「日久生情」的可能性。) 40 | 41 | 以上心态仅供参考,尤其是对于政府、国企的职位,更要谨慎。 42 | 毕竟对于这类备胎甚众的机构而言,Cover letter 才算得上是情书。 43 | (通常情况下,除非 JD 有要求,否则 Cover letter 默认是非必须的。) 44 | 45 | ## 要点 46 | 47 | 虽说每个人都有自己的风格,但有些套路还是得了解。 48 | 毕竟最终目的是找到好工作,而不是单纯的展现自我。 49 | 50 | 以下是我写 Universal resume 时的一些要点总结。 51 | 52 | ### 多匹配高频关键字词 53 | 54 | 既然是 Universal resume,那当然要做「市场调研」。 55 | 通常都是上 LinkedIn / SEEK / Indeed 等网站,边看 JD 边**做笔记**。 56 | 偶尔看到一些不错的 role,先 mark 下来,等简历完成后再找人内推。 57 | 58 | 在国内,我基本都是直接写简历,因为我了解目前的行情与趋势。 59 | 但在澳洲,国情不一样了,不能再「想当然」地照搬国内的模式。 60 | 61 | 例如,在国内 Vue 比 React 流行。我也一直在用 Vue,很少写 React。 62 | 但在翻看了几个 JD 之后我才发现,在澳洲 React 是寡头主宰。 63 | 因此,我必须调整简历中技术栈的摆放次序优先级。 64 | 然后备注 TODO:重拾 React 技术栈。 65 | 66 | 又例如,「Jest」出现的频率很高。 67 | 我只知道它是测试框架,但压根没用过。 68 | 在国内,需求堆不完,改动也频繁,几乎很少写测试。 69 | 于是又备注 TODO:学习 Jest 以及 Unit testing、CI/CD 相关。 70 | 71 | 再例如,「Agile / Scrum」出现的频率也很高,但不知道是啥。 72 | 搜索了一下才知道原来这是「敏捷开发」,然而还是一脸懵逼。 73 | 于是赶紧备注 TODO:了解敏捷开发的相关概念及其常见的面试问题。 74 | 75 | 这实际上有点像考前复习 —— 查漏补缺。 76 | 经过阅读大量的 JD 之后,我得到了一堆高频字词和一个 TODO list。 77 | 前者是用来填充简历的基本粒子,后者是求职期内必须攻克的问题清单。 78 | 79 | ### 结构 80 | 81 | 既然上面已经汇总出填充简历的基本粒子,接下来只需要把框架搭好就基本成型了。 82 | 83 | 在参考了若干份澳式主流简历模板后,我突然回忆起高中老师所教的写作文套路: 84 | 先来个总结,点明主旨、深化主题,之后再不断地反复踩点、扣题,这样子想失分都难。 85 | 86 | 之前也提到过,负责初步筛选简历的未必是懂技术的。 87 | 一份好的 Universal resume,不仅要应对不同的 JD,也能面向不同背景的审阅者。 88 | 因此,根据「高考阅卷十秒钟」法则,我们应该把重点放到最前面。于是得出如下通用结构: 89 | 90 | ``` 91 | [名字 | 职位] 92 | [LinkedIn | Github | Email | Mobile | ...] 93 | ------------------------------------------ 94 | [Summary - 自我总结] 95 | ... 96 | 97 | [??? - 优秀作品、专利、成就认证等(如果有的话)] 98 | ...? 99 | 100 | [Skills - 技能表] 101 | ... 102 | 103 | [Experience - 工作经历] 104 | [公司名 | 职位 (YYYY.MM - YYYY.MM)] 105 | <公司简介,工作职责,项目经验及成就举证...> 106 | 107 | ... 108 | 109 | [Education - 教育经历] 110 | ... // 排名好的可改放到 Summary 后 111 | ``` 112 | 113 | 另外,老师还经常强调要「**分点**」。这样子阅卷人看得舒服,一目了然,自然给分爽快。 114 | 115 | 至于其他诸如照片、志愿者经历等内容,请转移到 LinkedIn Profile。 116 | 而有关页数、排版、字体格式等,则建议根据自身偏好自行处理。 117 | 毕竟再精美的简历模板,用的人多了,也会有审美疲劳的一天。 118 | 119 | ### 淡化非本地经验 120 | 121 | 试问,在水平接近的前提下,一个有本地经验,另一个非本地经验,招聘方会更倾向谁? 122 | 除去少数要求有海外工作经历的职位,在大多数情况下,招聘方都会更加倾向于前者。 123 | 毕竟招聘不是儿戏,在语言交流、文化背景等现实因素的约束下,这并不是潜规则。 124 | 就好比在国内,招一个不用微信的外国开发者做微信开发,他可能连文档都看不懂。 125 | 126 | 同理,在澳洲也一样,都是无可厚非的。 127 | 如果必须要给一个说法,这就是所谓的 **Cultural Fit**。 128 | **这几乎是除去技术因素外的主宰,且往往位于技术之上**(大牛请无视)。 129 | 130 | 在简历中,能最直接反馈 Cultural Fit 的是 **Local Experience**。 131 | 但对于我这种新移民来说,不到一年的本地经验聊胜于无。 132 | 因此,简历投递初期无人问津也是情理之中。 133 | 134 | 在某热心同行的点拨下,我逐渐学会了把自己包装成一个 local candidate: 135 | 136 | * 取一个易拼读的英文名字 137 | 有不少新移民都忽略了这一点,这就有点像是「输在起跑线上」。 138 | * 不在简历上标注签证信息 139 | 首先,大多数职位申请都会提供标准化的表单,其中就包括签证状态。 140 | 另外,电面的时候,通常对方也都会再次确认你的签证信息。 141 | (如果你需要雇主担保而对方却忘了问,那你得主动提及。) 142 | * 不写语言技能及等级 143 | ~~`Languages: English (IELTS 7), Chinese (Native)`~~。 144 | 当然,如果你还精通其他语言,那不妨写上以锦上添花。 145 | 面试时,聊几句就知道是什么水平,不必此地无银。 146 | * 省掉工作经历的地区信息 147 | ~~`XXX Pty Ltd (Guangzhou, China | 2018.1 - 2019.1)`~~ => `XXX (2018.1 - 2019.1)`。 148 | 类比在国内写简历,我根本不会写城市,默认就是本地求职,无需画蛇添足。 149 | * 入乡随俗,投其所好 150 | 能把 AWS / GCP 写前头就不要把 Alibaba / Tencent / Huawei Cloud 写前头。 151 | 同理,能把 React + Redux 写前头就不要把 Vue + Vuex 写前头。 152 | * 国内教育经历置尾 153 | 在 IT 领域,求职者的教育经历往往只是敲门砖,可后置。 154 | * 避免低级错误 155 | 用 Grammarly 等工具来确保没有明显的语法或拼写错误,否则直接负分 GC。 156 | 157 | 最终,我的简历乍一看就是一个三年 Local Experience 的优雅程序员。 158 | 然而,这只是稍微提高简历初选时的竞争力,之后的面试依然还得靠实力。 159 | 160 | ### Less is more 161 | 162 | 古语有云:「言多必失」,别给自己挖坑。 163 | 简历,顾名思义就要「简」,而不是鸡毛蒜皮长篇大论。 164 | 165 | 我对自己的英语口语没有自信,因此倾向于让简历覆盖尽可能多的信息。 166 | 企图让对方完整看完后就不需要多问,这样的话我也省得解释太多。 167 | **但实际上这些信息都应该单独记录,作为小抄在面试前反复准备。** 168 | 否则面试的时候,面试官只会认为你在背简历,毫无诚意。 169 | 170 | 另外,不建议写有关性格上的**主观**描述,例如「我很追求完美」。 171 | 有关性格评估,都会在之后的[行为面试](../3-interviews/3_1-behavioral-interview.md)中进行,无需让面试官先入为主。 172 | 而且,这可能是给自己挖坑,被问「怎么解决追求完美和项目进度之间的冲突?」 173 | 174 | ### 维护投递历史记录 175 | 176 | 除非只在一个网站上投简历(e.g. LinkedIn),否则最好自行维护投递记录,例如: 177 | 178 | ``` 179 | 1. [公司 1] [职位名 1] [薪资范围 1] 180 | [职位链接] 181 | [若干笔记、要点] 182 | 183 | 2. [公司 2] [职位名 2] [薪资范围 2] 184 | [职位链接] 185 | [若干笔记、要点] 186 | 187 | (继续追加...) 188 | ``` 189 | 190 | 好处: 191 | 192 | * 避免重复投递 193 | 虽说每次投递成功后,一般都会收到自动发来的「回执」邮件。 194 | 但通过搜索杂乱的收件箱来回溯投了哪些公司,是比较低效的。 195 | * 便于电面时快速检索,并可立即切入 context 196 | Role / Job Description 毕竟是英文,我们对文字内容的熟悉度相当有限。 197 | 如果你在仔细阅读后稍微做点笔记,那么你将会在之后更快地进入状态。 198 | * 避免职位被撤后,无法回看基本信息 199 | HR 收够简历后,通常会把职位撤下来,之后再次打开就是 404。 200 | 因此,不仅要记下 JD 链接,更要记下要点(基本要求、薪资等)。 201 | 202 | ## FAQ 203 | 204 | * 是否应该先投小厂练手,再投心仪的大厂? 205 | 根据我的经验,大厂的进度相对比较慢(**内推除外**)。因此,完全可以一起投,反正通常都是小厂先发题目及安排面试。另外,等你真的准备好的时候,大厂的职位可能早就撤了(简历已经收够了)。 206 | 207 | * 是否应该海投? 208 | 请参考 [准备篇 · 求职心态](../1-preparation/1-mentality.md) 中的「调整心态 - 广撒网」。 209 | 最后再次强调:**内推才是首选**。 210 | -------------------------------------------------------------------------------- /src/_posts/tss-482-change-employer-tips/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: TSS 482 换雇主提示 3 | date: 2019-11-06 4 | tags: 5 | - 签证 6 | - 求职 7 | permalink: /posts/tss-482-change-employer-tips 8 | vssue-id: 33 9 | lang: zh-CN 10 | --- 11 | 12 | ## 前言 13 | 14 | 本文是 [我的澳洲 IT 求职经历](../my-it-job-hunting-experience-in-australia/index.md) 番外篇,主要面向可转 [186 TRT (Temporary Residence Transition stream)](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/employer-nomination-scheme-186/temporary-residence-transition-stream) PR 的 [TSS 482 Medium-term stream](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/temporary-skill-shortage-482/medium-term-stream) 签证持有者。 15 | 16 | 当你点进这篇文章时,你或许只是有初步的念头,又或是早就下定了决心。但不管怎样,**请一定要和现任雇主保持良好的关系**。毕竟人家为了担保你,可是花了不少的时间+精力+金钱,因此无论如何都应该**常怀感恩的心**。 17 | 18 | ## 现状 19 | 20 | TSS 482 是前 [457](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/repealed-visas/temporary-work-skilled-457) 工签的延续,但要求变得更加严格了(要求两年的**相关工作经验**,转 PR 的年限也从 2 年变成了 3 年),这使得「买卖雇主」的生意变得更难做了(但显然是不可能杜绝的,上有政策下有对策嘛)。 21 | 22 | 因此,目前澳洲本地的雇主都会倾向于招 PR / Citizen,因为: 23 | 24 | * 移民政策、签证手续等极其繁琐又严谨,需要花钱请移民中介来处理 25 | * 还需要为此付出数额不菲的雇主担保资格认证费、申请费、培训费等 26 | * 如果候选人因为某些原因被拒签,则之前所做的所有铺垫都是白费的 27 | * 有身份的求职者太多了(大厂尤甚!),直接就能上班,没必要折腾 28 | 29 | 总的来说,**从头开始做雇主担保是十分难能可贵的**。即便是花钱买雇主,一个 offer 要价 10w+ AUD 也是很普遍的,且之后可能还要自己给自己发工资。 30 | 31 | ## 自审 32 | 33 | 在阅读下文前,我希望你已经足够了解 TSS 482 换雇主的相关政策。例如: 34 | 35 | * 换雇主后,工作年限会重置 36 | 转 186 TRT 的前提是:**在同一雇主下工作满三年(转让、并购等情况属例外)**。这可能也是出于对雇主的保障,毕竟雇主为担保付出了很多,倘若雇员可以无条件无代价地轻易离职,也未免太不公平了(不过也有部分雇员表示这就是所谓的「卖身契」,像是另类的「移民监」)。 37 | TSS 482 Medium-term stream 的签证有效期是 4 年,倘若已经消耗了 1 年,则剩余的时间也是**仅够**而已,或许签证到期后还得再申请一次 482 或过桥签。 38 | 39 | 对于可以走 [186 DE (Direct Entry stream)](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-listing/employer-nomination-scheme-186/direct-entry-stream) 的同学,虽说可以不考虑累积年限,但能直接找到担保 186 DE 的雇主不仅非常困难,且签证审核周期极其漫长(可参考移民局官网的 [Global visa processing times](https://immi.homeaffairs.gov.au/visas/getting-a-visa/visa-processing-times/global-visa-processing-times),基本都是一年以上),因此通常也都是先 482 进来工作后再处理 186 DE。 40 | 41 | 反正无论如何,**一定要保证对方是愿意担保你的,否则到头来还是一场空。** 42 | 43 | * 60 天内必须找到新雇主,否则签证自动取消 44 | 当然了,这个「60 天」是指从现任雇主**正式离职**开始计算。从法律上讲,实际上是雇主**主动通知**移民局才开始计算(毕竟移民局是很难实时监控签证持有人是否就职的)。在此之前,你利用年假带薪面试等都不算入内。 45 | 46 | 乍一看「60 天 + 年假」貌似肯定够时间续上签证,但实际上是**未必**的,切勿盲目乐观,不妨参考 [我的 IT 求职经历 · 准备篇 · 求职心态](../my-it-job-hunting-experience-in-australia/1-preparation/1-mentality.md)。 47 | 48 | 反正无论如何,**这段时间内你必须走到提交 re-nomination 手续这一步(切勿以为拿到 offer 就搞定了)**。这通常是你的新雇主找移民中介处理(**费时费力**),你负责**敦促尽快开始转提名**手续就好了,避免陷入要申请过桥签的麻烦(或许还得让中介跟移民局 argue)。 49 | 50 | ## 优势 51 | 52 | 实际上 TSS 482 签证持有者的优势仅针对: 53 | 54 | * 离岸的非 PR 求职者 55 | * 在岸的打工度假(WHV)签证持有者 56 | 57 | 凡是涉及到雇主担保的,都不具备优势。因此在某种程度上,TSS 482 还不如 485 毕业生签证,毕竟人家直接就能上班,没有太多繁琐的手续。 58 | 59 | 优势: 60 | 61 | * 无需从头开始,只要新雇主愿意接纳你,帮你转签即可。然而只是「愿意」还不够,还需要有担保资质,否则还是白搭。例如,有一家创业公司想要招我,但没有担保资质。对方了解过后发现担保资质并非随便就可以拿的(要求公司有足够的流水、PR / Citizen 雇员比例等),而且申请过程繁琐漫长又没有保证,最终也只能作罢(即便是他们耗得起,我也耗不起这时间)。 62 | * 在岸优势。**愿意提供雇主担保的公司,只要是发了公开招聘的,其简历投递箱通常都是爆满的,尤其是海外申请人,更是会陆续不断地灌入**。离岸找雇主的难度远超在岸找,毕竟不确定性太大了,雇主们也都会避险。 63 | 64 | ## 对策 65 | 66 | 我在写 [我的澳洲 IT 求职经历](../my-it-job-hunting-experience-in-australia/index.md) 系列文章时由于考虑到普适性,较少会提到签证问题。实际上其内容就是我作为 TSS 482 签证持有者的所有经验,而以下内容就是「遗失」的那一部分。因此,下面我会按照原系列文章结构进行展开。 67 | 68 | * [前言](../my-it-job-hunting-experience-in-australia/0-preface/index.md) 69 | * [准备篇](../my-it-job-hunting-experience-in-australia/1-preparation/index.md) 70 | * [招聘流程](../my-it-job-hunting-experience-in-australia/1-preparation/0-recruitment-process.md) 71 | 有时候这也得看运气,或许两周内就可以收到 offer,但普遍都是一个月。 72 | * [求职心态](../my-it-job-hunting-experience-in-australia/1-preparation/1-mentality.md) 73 | 原文已经写得很够了。 74 | * [薪酬福利](../my-it-job-hunting-experience-in-australia/1-preparation/2-remuneration-package.md) 75 | 即便只是转签,对大多数雇主而言都是相当麻烦的。而愿意提供担保的雇主,通常也是**算过账的**。这就意味着雇主的预算会相对保守(羊毛出在羊身上,你懂的),因此我们的预期也应该相应保守。 76 | 其实我们的目标很简单:无论如何都必须先拿一个 offer 保底,「签证过期被驱逐出境 or 工资低点但成功续签」显然是不需考虑的送分题。或许你还有第三个选项:拿到 offer 后跟现任雇主提涨薪,期待现任雇主能开 counter offer,由此工作年限也不用被重置了(只是离职的原因未必只有薪酬问题)。 77 | 反正人家要 100k,我就要 90k,宁愿接到 offer 后再 argue 到 95k 也不愿意因小失大。**时刻展现出自己「物美价廉,性价比高」,给雇主一个理由不请 PR / Citizen**。 78 | * [公司选择](../my-it-job-hunting-experience-in-australia/1-preparation/3-companies-of-choice.md) 79 | 有的公司很愿意担保,只是 package 或诚意不足,不能满足求职者的预期;有的公司很不愿意担保,因为 package 很够,优秀的 PR / Citizen 都挤破头,因此就更没必要折腾雇主担保了。 80 | 一般情况下,我会倾向于大厂,因为大厂通常都有担保资质(只是愿不愿意担保而已)。某些创业公司连资质都还没有,或许几个月过去了都批不下来,不确定性太大,太冒险了。另外很多大厂实际上都是 **Accredited Sponsor,因此审核效率比 Standard Sponsor 会快很多**(毕竟移民局不担心这是「买卖雇主」的勾当)。 81 | 例如,Sportsbet 提交转签申请后,一周内就批准了,比常规的 2 ~ 4 周处理时间快得多。当然了,这可能只是我的个例,又或者当时的队列并不长。 82 | 还有就是政府、国企,只要没注明只招 PR / Citizen 的,都请放心投,毕竟这类机构通常都不会有资质问题。 83 | * [求职渠道](../my-it-job-hunting-experience-in-australia/1-preparation/4-job-seek-channels.md) 84 | 一言以蔽之:**只在 LinkedIn 找职位。优先找内推,找不到内推再自行投递。** 85 | 有关雇主担保,**猎头并不是特别靠谱**,因为他们更喜欢赚 fast & easy money。 86 | SEEK 基本都是猎头,看到类似的岗位也应该转到 LinkedIn 上投,而不是经猎头手。 87 | * [简历篇](../my-it-job-hunting-experience-in-australia/2-resume/index.md) 88 | 原文写得已经足够详细了。 89 | * [面试篇](../my-it-job-hunting-experience-in-australia/3-interviews/index.md) 90 | * [线上预评估](../my-it-job-hunting-experience-in-australia/3-interviews/0-online-assessments.md) 91 | 这个跟签证状态关系不大。 92 | * [电面](../my-it-job-hunting-experience-in-australia/3-interviews/1-phone-screening.md) 93 | 首先要指出:**大多数 HR 都不熟悉签证系统**(如果很熟悉的,那可能是压价很厉害的,又或者是最近担保过的)。因此,我们**必须「反!复!强!调!」我们已经有签证了,只需要对方帮忙处理转签 nomination 即可(这跟从头开始担保可是天壤之别)**!如果被问及转签需要多长时间,你就说「快的一周搞定,平均两周左右」,反正你对现任雇主也有 notice period,不太可能立刻就到岗。 94 | 为什么招聘方要如此关注签证问题?很简单:招聘要花几个月,培训上手又得花几个月,倘若因为签证问题离职,这成本未免也太高了。 95 | * [做题](../my-it-job-hunting-experience-in-australia/3-interviews/2-coding-exercises.md) 96 | * [行为面试](../my-it-job-hunting-experience-in-australia/3-interviews/3_1-behavioral-interview.md) 97 | * [技术面试](../my-it-job-hunting-experience-in-australia/3-interviews/3_2-technical-interview.md) 98 | 这些都跟签证关系不大。 99 | * [Offer 篇](../my-it-job-hunting-experience-in-australia/4-offer/index.md) 100 | 接 offer 时,稍微象征性地问一下有关 186 担保的问题。毕竟只要能担保 482 的,都能担保 186。签 offer 后,**务必抓紧让对方启动转签流程**,以免夜长梦多。 101 | * [结语](../my-it-job-hunting-experience-in-australia/5-postface/index.md) 102 | 103 | ## 结语 104 | 105 | 首先,衷心感谢我的前雇主。 106 | 107 | 其次,感谢来自 [台灣開發者在澳洲 - Slack](https://tw-developer-in-au.slack.com) 的 Kay。他作为过来人,给予了我很多宝贵的经验,这同时也是我撰文的动力 —— 把这份恩情传递给更多有需要的人。 108 | 109 | 最后,希望本文对你有所帮助之余,更希望之后你也可以在下方评论中分享宝贵的过来人经验。 110 | -------------------------------------------------------------------------------- /src/_posts/my-it-job-hunting-experience-in-australia/3-interviews/2-coding-exercises.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的澳洲 IT 求职经历 · 面试篇 · 做题 3 | date: 2019-09-04 4 | category: 我的澳洲 IT 求职经历 5 | tags: 6 | - 求职 7 | permalink: /posts/my-it-job-hunting-experience-in-australia/interviews/coding-exercises 8 | lang: zh-CN 9 | --- 10 | 11 | > 严格意义上,「做题」其实不属于「面试」。 12 | > 但由于这是承上启下的重要衔接,故并入。 13 | 14 | 电面过后通常就是做题,其对应的英文有很多: 15 | 16 | * Coding exercise 17 | * Technical challenge 18 | * Coding challenge 19 | * Coding test 20 | * Home assignment 21 | * ... 22 | 23 | ## 类型 24 | 25 | * 算法主导型 26 | 澳洲大多数公司的面试都不考算法,就算要考难度也不会太高。 27 | 当然如果你是要面试 FANG 等,就当我没说。 28 | 29 | 在我的求职期里,也只遇到 Canva 和 Servian 考察算法。 30 | 它们都用 HackerRank.com,一个类似 LeetCode 的平台。 31 | 该提供 [CodePair](https://www.hackerrank.com/products/codepair),在之后的「结对编程」面试中肯定会用到。 32 | 33 | * 项目主导型 34 | 澳洲大多数公司都会采用这种方式考察候选人的综合素质。 35 | **技术面试时,通常会在这基础上进一步探讨或添加/改需求**。 36 | 以下内容基本也是围绕着这种类型展开。 37 | 38 | ## 侧重 39 | 40 | 在国内,一般都是现场面试的时候才会安排做题。 41 | 所做的题目一般是基本功或算法,而不可能做一个项目。 42 | 这有一个局限性:较难评估候选人在**日常开发时的真实素养**。 43 | 在浮躁的风气下,有的人对造火箭倒背如流,却可能拧不好螺丝钉。 44 | 但我也非常感谢国内重视基本功的氛围,让我有资本弥补英语的短板。 45 | 46 | 在澳洲,侧重考察日常开发的**最佳实践**,说白了就是**职业素养(逼格)**。 47 | 通常都是先让候选人在家做一个小项目,提交审阅后再决定是否面试。 48 | 项目需求往往看起来很简单,但想要做好,依然**很花时间和心思**。 49 | 最负盛名的莫过于 Toy Robot,在 Github 搜索就有大把样例。 50 | 其他公司的题目或许可以在 Glassdoor 的面经中找得到。 51 | 52 | ## 要点 53 | 54 | 对很多闷骚的程序员而言,这是「show time」,炫技的好机会。 55 | 尤其是像我这种英语不好的求职者,这可能是唯一的拉分项了。 56 | 作为前端开发,我会从以下方面来展示自己的职业素养(逼格): 57 | 58 | ### README 59 | 60 | 这基本是 reviewer 对你的第一印象,必须重视。 61 | 套路可以参照流行的开源项目,例如 [Express.js](https://github.com/expressjs/express)。 62 | 请别忘了使用 Grammarly 等工具检查语法及拼写。 63 | 64 | ### Demo 65 | 66 | 对于可视化的项目,如果对方没有要求不允许公开, 67 | 那么,提供**可直接在线访问**的 demo 将会加分不少。 68 | 常见的免费静态部署平台有 Github Pages / Netlify 等。 69 | 当然也有用 CodeSandbox / ZEIT Now / Heroku 等的同学。 70 | 71 | ### 描述文件 72 | 73 | 对于前端开发而言,看 `package.json` 基本就可以看出端倪。 74 | 以下列举一些不利的案例: 75 | 76 | * 分不清 `dependencies` 和 `devDependencies` 的 77 | * 9102 年了还在用 React v15 / jQuery.extend 的 78 | * npm scripts 没有考虑到跨平台的兼容性 79 | * 忘了声明依赖,或需要污染全局的依赖 80 | * 引入没有用到,或没有必要用的依赖 81 | * ... 82 | 83 | 同理,套路可参考流行的开源项目,如 [`redux/package.json`](https://github.com/reduxjs/redux/blob/master/package.json)。 84 | 85 | ### 目录结构 86 | 87 | 如同某些开源的项目脚手架(Starter / Boilerplate), 88 | 在其文档中通常也会有 Project / Directory Structure 的讲解。 89 | 90 | 并不是说必须要在 README 中画出目录结构树, 91 | 但若对此你有自己的思考,则建议在 README 中写出来。 92 | 因为这很能体现候选人过去所接触项目的可持续性与可维护性。 93 | 尤其是对于 Create React App 所生成的高自由度项目而言更是如此。 94 | 95 | 对于简单的需求,业务代码几乎都是千篇一律的情况下, 96 | 项目的目录结构无疑就成了拉开差距的重要得分点之一。 97 | 例如,Redux 的使用,直接决定了开发效率与维护性。 98 | 99 | ### 提交记录 100 | 101 | Git log 几乎是最快了解候选人职业素养的途径。 102 | 最好让 reviewer 只看 Git log 就能快速代入你的角色。 103 | 如果后期还有关于优化、重构的 commits,那就更稳了。 104 | 105 | 有关 Git 的最佳实践,请自行查阅相关资料,在此不再赘述。 106 | 107 | ### 代码风格 108 | 109 | 由于业界有各类 IDE、ESLint、Prettier、Git pre-commit hook format, 110 | 因此,目前大家写出来的代码基本都差不多,比较难看出白板素颜。 111 | 尤其是用到 React / Vue 等非纯 JS 的项目,区别就更小了。 112 | 只要对语言特性稍微熟悉点,没有满屏的 for 循环, 113 | 不要弄混 map 和 forEach,基本就没啥问题。 114 | 该注释的要写好,不该注释的别画蛇添足。 115 | 116 | ### 测试 117 | 118 | 常见有单元测试、集成测试。 119 | 如果有前端界面,可能还需要 E2E 测试。 120 | 如果涉及到后端,则可能还需要单独的 API 测试。 121 | 122 | 部分情况下是不要求写测试的,或者需求文档上注明「estimate time: 2h」的。 123 | 当然了,如果你愿意继续投时间,那不妨锦上添花,让你的项目充满诚意。 124 | 不过值得一提的是,写测试通常要比实现需求所花的时间精力要多得多。 125 | 如果你手头上还有不少其他公司的题目,则建议斟酌侧重,合理安排。 126 | 127 | 然而,对于崇尚 TDD 的公司,不写测试等于放弃。 128 | 并且,你还得关注代码覆盖率,追求 100% 是标配。 129 | 那么,我们应该如何获悉对方是否崇尚 TDD 呢? 130 | 简单,鉴于这逼格很高,职位描述上肯定会提到。 131 | 132 | 在国内,需求往往都堆不完,更别说写测试了。 133 | 求职期内,我如饥似渴地恶补了很多测试的知识。 134 | 这是很不一样的领域,并不如之前我想象中的简单。 135 | 写测试所遵循的规则、mock / stub 等,都是宝贵的经验。 136 | 137 | 对于之前比较少写测试,又没有开源项目经验的同学, 138 | 建议好好研读测试套件的文档,参考开源项目的套路。 139 | 例如,对于 JavaScript 而言,主流基本都是用 Jest。 140 | 141 | ### 拓展性 142 | 143 | 实现需求时,需要同时考虑之后可能会有的新需求或改动。 144 | 例如,能做成配置的就不建议写死,否则改起来会比较麻烦。 145 | 146 | 以老生常谈的 Toy Robot 为例,之后面试官可能会新增路障。 147 | 实现时充分考虑,留足余地,现场写代码时才能从容应对。 148 | 149 | ### 细节 150 | 151 | 常言道,「细节决定成败」,上文有多处都涉及到细节问题。 152 | 例如,前端的 Create React App / Vue CLI 直接就开箱即用。 153 | 因此,对于简单的 UI 组件需求,候选人的代码往往都差不多。 154 | 同质化如此严重的情况下,想要打动 reviewer,还得多关注: 155 | 156 | * 注重体验 157 | 虽说做题通常都是玩具性质的项目,但越是简单就越不能随便应付。 158 | 既要考虑用户体验(UX),又得关注 reviewer 的**开发体验**(DX)。 159 | 可能只是简简单单的一个 loading,又或者是友好的错误提示。 160 | 秉承「勿以善小而不为」的开发理念,才不会因小失大。 161 | 因为 reviewer 真的会非常仔细地「挑」你的项目。 162 | 163 | * 精心引入依赖 164 | 有的同学手头上有祖传纯手写的瑞士军刀工具函数库, 165 | 每次新开项目的时候,总是喜欢复制一份,继承传统。 166 | **但对于做题来说,还隐含考察你对业界主流的熟悉度**。 167 | 倘若还是继续保持这种传统,恐怕就显得有点守旧了。 168 | 169 | 招聘,不怕没经验,最怕就是对技术没热情,跟不上潮流。 170 | 如今技术更新换代速度飞快,确实如逆水行舟,不进则退。 171 | 172 | 例如,不求用 Ramda,但求也得用 lodash 而非 underscore。 173 | 当然了,也不是说非要滥用某些库来证明自己可以跟得上主流。 174 | 例如 JavaScript 原生 map 可以解决的就别引入 lodash.map 了, 175 | 否则反而会显得基本功不扎实,对语言熟悉度不够,过度依赖库。 176 | 177 | * 性能优化 178 | 例如,上面提到的 lodash, 179 | 直接 `import _ from 'lodash'` 的后果就是引入整个 70 KB 的库,减分。 180 | 但如果同时又引入 `babel-plugin-lodash` 来优化,那就是扮猪吃老虎,加分。 181 | 182 | 虽说 Create React App / Vue CLI 已经默默地给我们做了很多优化, 183 | 但倘若你还能精益求精、追求极致,相信 reviewer 也会被你的热情感动。 184 | 185 | * 生产环境下的安全性 186 | 例如,过滤用户输入避免 XSS / SQL 注入,秘钥别直接写死在代码等。 187 | 188 | * ...*(TODO:有待同行们补充)* 189 | 190 | ## 实例 191 | 192 | 在此我也只能厚颜无耻地列举我所做过的题目(求轻喷): 193 | 194 | * [https://github.com/kenberkeley/tmdb-react](https://github.com/kenberkeley/tmdb-react) 195 | * [https://github.com/kenberkeley/omdb-vue](https://github.com/kenberkeley/omdb-vue) 196 | 197 | 你也可以在 Github 上按 Star 降序搜索,例如「Toy Robot」。 198 | 199 | ## 温馨提示 200 | 201 | * 合理规划好做题的时间,适当主动推动招聘流程 202 | 由于做题很耗时间和精力,但不做题又没有下一步。因此,在职「骑驴找马」的同学,要**合理利用好晚上和周末的时间**。例如,周四电面过后,对方表示会「尽快」给你发题目,但等到周五中午你都还没收到。此时你就应该主动发邮件或致电询问,否则可能就白白浪费了周末的时间。如果对方拖到周一才给你发,你可能到周三才能完成,提交后他们 review 也要一两天,于是你的下一轮面试又得推到下周了。另外,期间可能还会有其他公司给你发题目,其后续的进度也会因此而被进一步阻塞。 203 | 204 | 有的公司 Sleepy Monday + Happy Friday,一周能干活的可能真的只有二三四,因此更要抓紧。 205 | 206 | 对于心仪的公司,适当 push 是非常有必要的。例如,Sportsbet 就是在我的 push 下赶制出 coding exercise,周末完成后,周一就直接安排面试了。否则,别的公司都发 offer 了,心仪的公司却还没到终面,这将非常的被动,毕竟任何的 offer 都有时效性。请务必争取**紧凑**,才不至于到最后各种拖 offer 损人品。 207 | 208 | > 有关如何拖 offer,我会在之后的 [Offer 篇](../4-offer/index.md) 中提及。 209 | 210 | * 做题应该有所侧重,争取优先提交心仪的公司 211 | 例如,公司 A 先于公司 B 给你发题目,但倘若你更倾向于后者,那么你理应先做 B 的。因为 B 公司并不会等所有候选人都提交题目了,再统一安排面试。虽说 HR 口头上都是「take as much time as you need」,但实际上这是「先到先得」:做题越快,安排面试越快,发 offer 也就越快,过时不候。不要拖到人家都快发 offer 给别人了,你才刚提交题目,那最终的结果基本就是石沉大海。即便是你发邮件打电话询问,对方也只能找各种借口不安排面试,让你主动放弃。 212 | 213 | * 优先选择澳洲主流技术栈 214 | 例如,前端在不限定技术栈的情况下,能用 React 就别用 Vue。有不少面试官压根就没用过 Vue,而且个别面试官还会有某种信仰情结,排斥其他技术栈。 215 | 216 | * Estimate time 仅供参考 217 | 为了避免吓着候选人,招聘方对做题耗时通常都是保守估计。实际耗时可达三到四倍,甚至更多。 218 | 219 | ## 总结 220 | 221 | 将心比心,如果我是 reviewer, 222 | 我会更倾向于那些在实现需求过程中注入新 idea 的候选人, 223 | 最好还能让我学到东西,促使我有欲望和对方进一步交流探讨的。 224 | 225 | 而对于千篇一律,没啥亮点,只会按部就班根据需求完成题目的候选人, 226 | 可能就没有那么高的优先级了,我宁愿再等等,继续放长线、广撒网。 227 | 因为作为 reviewer,我更期待招进来的同事可以为团队注入新的活力, 228 | 能互相学习,促进交流与优化,并带来更多优秀的实战与管理经验。 229 | --------------------------------------------------------------------------------