在伦敦被聘为(iOS)工程师(永久)
在伦敦被聘为(iOS)工程师(永久)
原文:https://medium.com/hackernoon/being-hired-in-london-as-an-ios-engineer-permanent-40252dbb46c3
我在伦敦被聘为几次 iOS T1 T2 工程师 T3。我经历了很多面试过程。我真的很讨厌。我不喜欢它。我为此受到了真正的创伤。所以,我的医生推荐我来谈谈。开玩笑的。

Autumn in London
英语是你的第一发展语言。
你能毫无问题地说英语吗?你能听懂不同的口音吗?那么,你就不会有我面临的第一个问题。2012 年,当我在伦敦寻找我的第一份工作时,我的英语真的很不成熟(现在甚至还不到十几岁)。与招聘人员交谈时,我一遍又一遍地重复着:“什么?”和“你能重复一下吗?”很多时候,我对每个问题都回答“是”。我记得我妻子问我
- “他说了什么?”
- “我不知道,我只是说好”
这是我的水平。我大概只理解了对话的 10-20%。
那是最艰难的时候。很多时候招聘人员只是在我回答的中途挂断电话。非常严峻的形势。当我几乎要放弃并决定去乐购工作时,我终于有了一次完美的面试。我找到了一位喜欢我简历的首席技术官(Paul West ),和我共事过的最好的产品经理(Florian Kriechbaumer)。所以千万不要放弃!
在没有招聘人员的情况下寻找工作。
中间没有招聘人员也可以被录用。然而,这将会更加困难和缓慢。我给你推荐三个我用过的地方。第一个是 LinkedIn Jobs 。一些公司在那里发布招聘信息。但是,说实话,很多时候看起来合法的公司工作邀请,到头来只是招聘人员提供的另一份工作邀请。然而,这值得一试。
第二个是 Stackoverflow Jobs 。我通过那里找到了我在伦敦的第三份工作。那里的公司数量并不大。但是,根本没有招聘人员。你可以直接和这些公司联系。你必须少走一步,所以祝你好运。
通过录用找到了第四份工作。平台背后的想法很简单。你要求加入成为雇员。公司要求作为雇主加入该平台。如果你被录取了,那么公司会直接找你面试。这个系统的一个缺点是你只能在站台呆四周。伦敦的承包制度非常缓慢。所以四周真的不算多。被雇佣的最大好处是,如果你被一家公司聘用,你将得到一张 500 英镑的支票。不错吧?
嵌入式招聘人员
我在找上一份工作的时候,越来越多地看到了这一点。一些招聘人员会用合法的公司邮件告诉你他们是公司的人力资源。这是一个合理的谎言。老实说,我和他们中的一些人相处得很好。这只是一种商业策略。最后,他们通常会在没有真正人力资源的小公司这样做。他们会做人力资源的工作,所以,最后,你会少做一次面试。招聘人员和 HR 一气呵成。
招聘者的痛苦
有一个招聘人员最糟糕的地方就是你会被很多次当成一块待卖的肉。招聘人员的费用可能是你第一年工资的 10-20%。所以请给出你的数字。对他们来说,你就是可能的现金。当这个过程进展顺利的时候,你会收到邮件和电话来帮助你。很多时候,如果公司拒绝跟进流程,你甚至不会有他们的邮件。
这听起来可能有性别歧视,但我在女性招聘人员方面比男性招聘人员更有经验。并不是所有的男性招聘人员都是坏人,他们中的一些人是真正优秀的专业人士。然而,他们中的许多人只是白痴。尽管女性在招聘行业的比例较小(至少在移动细分市场)。我能很容易地记起我采访的第一位和最后一位女性招聘人员的名字:菲奥娜·威尔逊和尼古拉·罗斯沃恩。他们是了不起的专业人士和好人,相信他们。我不记得男性招聘人员的姓氏。抱歉伙计们。
连个电话都没有
我已经告诉过你,如果公司在过程中决定你不是他们的候选人,有时,招聘人员甚至不会告诉你。
但是,甚至有一种最坏的做法。你和一个招聘人员联系,他会告诉你他在一些公司工作。SuperCoolCo.com、BestApp 和 LastSocialNetwork。你读了工作说明书,它们很酷,所以你给招聘人员一个“前进”的机会。然后丑陋和未知的部分开始了。
也许他从未派人去过那里。也许他以前从未和公司联系过。他只是知道这家公司在招聘一名 iOS 工程师,而你允许他代理你。然后他会打电话给给你的公司,试着商定费用。如果他们没有就费用达成一致,你的简历将会在翻译中丢失。通常招聘人员不会告诉你这些。
你认为有人代表你和 SuperCoolCo.com 在一起。但是,事实上,没有人这么做。所以,如果你几天没有听到招聘人员的消息,搜索该公司的招聘页面,然后直接申请。

Southwark Park, London.
你的简历。
这是每个人对你的第一印象。所以,如果很棒就更好了!老实说,随着时间的推移,它会变得越来越好。
你的公开简历
一家招聘公司不久前给我发了一封关于工作的邮件。我同意和他们谈谈。在 Skype 通话中,招聘人员向我解释了他们是如何找到我的。这家招聘公司和 Git 有协议(不是和 GitHub)。我们都需要一封邮件来设置 Git。所以这家公司通过 Git 数据库运行一个算法来检查我们在做什么。如果我们匹配他们正在搜索的内容,他们会使用我们的电子邮件向我们发送第一次联系。所以,当然,每一个公共知识库,都是你公共简历的一部分。
照顾好 GitHub 。在那里做事。发布小演示。发布框架。其他框架的包装器。教程。测试。其他代码的公共关系。甚至是 Swift open soured 项目的公关?
我曾经用 GitHub 中的一个例子来回答 Stackoverflow 的问题。这是双赢。我可以在 Stackoverflow 中获得更多的 upvotes,因为我的答案更好,再加上我有一个活着的 GitHub。
Cocoapods 这是另一个贴代码的地方。你有一个总是在你的项目中导入的类,因为它非常简单非常有用?然后,创建一个 pod!与他人分享你的班级。同样的双赢。您需要将代码放入 GitHub,再加上 Cocoapods。人们会使用它,你甚至可以有反馈。
更新的 LinkedIn 这是另一份很好的公开简历。它需要时间来收集推荐和技能投票。所以去做吧!
博客怎么样?你有最新的博客吗?OMG 做到这一点!发表点什么!最后的胜利,胜利,因为你很可能会贴上一个 GitHub 例子的链接!
流程
如果招聘人员有你的电话号码,他会随时打电话给你,他有适合你的工作机会。如果我的日历上没有预定的电话,我就不会拿起电话。有一段时间,我在 LinkedIn 上发布了我的手机。史上最大的错误。我一周接到 20 多个电话。
因为我的电子邮件在许多地方都是公开的,所以我可以收到相同数量的招聘人员的电子邮件。如果我正处于找新工作的阶段,我会回答那些更有趣或更专业的。
然后我通常会要求一份完整的工作说明书,最后我们会安排一个电话。在通话过程中,你需要解释你的简历。要么是因为他们读不懂,要么是因为他们有特殊的能力,可以通过你的声音来探测你的个性。所以准备好一次又一次地说关于你的同样的事情。
步骤
该过程可以有一个、两个或可能更多这样的步骤。此外,每个公司的订单可能完全不同。
HR——内部招聘人员。基本上和招聘人员一样。在这里,他们会试图向你推销公司。对于我的第一个角色,我不理解这种出售公司的时刻。我想要一份工作,一份薪水,一个机会。我会接受任何事。加班现在我明白问题了。有时候,公司的理念、流程或类型不是我想要的。
技术面试,iOS — ObjectiveC — Swift 提问。最典型的一个:边框与边框的区别。我真的不擅长这种面试。我讨厌记住上百个愚蠢的问题,尤其是当你能在两分钟内找到答案的时候。
技术面试,学位问题:有些公司爱知道你记不记得基础知识。OOP 基础,HTTP,快速排序或者任何你在完成 cs 学位后忘记的东西。
技术面试,框架。我喜欢这个。关于最常见框架的原始问题。如何持久化数据或者如何处理多线程都是典型的例子。试着了解你将要面试的公司正在使用哪些技术。如果他们经常使用相机,请尝试检查 AVFoundation。他们在使用 HealthKit 吗?花点时间阅读一下。
编码挑战:最常见的编码挑战将要求您下载一些数据,持久化这些数据并在 UITableView 中显示它们。当用户点击单元格时,他们可能会要求您显示一个细节视图控制器。
许多人并不真正知道在编码挑战中要检查什么。他们通常会检查你是否使用了他们相同的编码风格。如果他们使用故事板,他们会很高兴你这样做。CoreData 或任何你能想到的东西也是如此。
由不同的人评审的相同的编码挑战可能导致完全退出或者完全失败。
编码挑战,一些想法:
如果你正在努力创建一个合适的多线程代码,试着把重点放在这上面。
然而,如果你有信心去做,试着走得更远。将你的编码挑战集中在它的可测试性上。我的经验告诉我,单元测试和依赖注入是成功的下一步。确保你能真正遵循单元测试规则。编写只做一件事的函数。创建独立的经理和服务。编写测试。重写一个简单的编码挑战。试着用测试覆盖一切。在那里投入你的时间!
如果你对单元测试有信心,那么就开始研究如何构建你的应用程序。去和 MVC 斗斗。围绕它看了很多。之后,开始阅读和重构你的其他模式的编码挑战:MVVM,MVP 和 VIPER。你不需要成为这方面的专家,但至少,开始有关于它的想法。
在线编码测试、黑客排名和编码能力:我喜欢做这类挑战。有时我为范做那件事。然而,就面试过程而言,它们毫无意义。这只是公司减少求职人数的一种方式。这是一个糟糕的平台。上一次之后,我决定再也不同意用它们做测试了。另一方面,Codility 的效果惊人的好。
白板面试:通常他们会让你写一些算法。我做过一个,我被要求用伪代码写一个排序算法。面试官给了我很多帮助,我做得相当好。在白板面试前回顾算法的复杂性。
逻辑题:典型的你会做的亲朋好友题。你无法为此做好准备。我喜欢这种类型的挑战,我也认为一个好的开发人员需要这些技能才能成为一个好的开发人员。
最后的面试:有时候最后的面试只是为了说一下你的薪资,或者是为了见见团队。有时他们会回顾你的编码挑战。其他时候,它可以是许多其他类型的面试的组合。如果你要参加最后一次面试,试着问问招聘人员或人力资源经理面试的目的是什么。做好一切准备!
最后的注意事项
TDD 。在每一份工作说明书中,你会发现了解 TDD 将有助于你得到这份工作。如果你问公司他们是否在使用 TDD,他们会告诉你还没有,但这是他们想做的事情。TDD 是另一个很酷的时髦词。
工资。每次至少要多要 5k。换角色是推高薪水的最好方法。
尽量去一个可以学习的地方。确保你的新团队中有人能教你一些东西。如果你是知道更多的人,你会浪费你的时间。你会被卡住的。
第一份工作是最困难的。在英国租房子什么的也一样。他们希望能够要求推荐信。如果你能给参考…那么没问题。
构建你的演讲。每次面试后学习。利用他们成长。
祝你好运。



