V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
careem
V2EX  ›  职场话题

超大龄程序员肉身经验兼硬广

  •  
  •   careem · 2017-08-02 10:03:22 +08:00 · 3488 次点击
    这是一个创建于 2667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天有个北京 CTO 发了个肉身翻 booking 的经验,我也刚刚收到了一个 careem 在德国 office 的 offer,所以来分享一下经历,文末有一个硬广。

    1.本人背景

    32 岁,国内末流 985 CS 2012 年硕士毕业,目前人在 BAT 做 Java 工程师,大致也就是一个 P6 T2.3 的水平。英文水平大致是 TOFEL 90 分,GRE 1400 (现在好像是新的分数制度了)。

    2. 为什么想出国工作

    我毕业的时候在一家银行的软件开发中心,工作很稳定,但是技术也很老旧,加班疯狂,官僚气息浓厚。后来就进入互联网公司了,加班也很多,不过自身的成长也很多,也就是说随着工作经验的增加,你在市场上的竞争力是增加的。 后来我兜兜转转来到了 BAT,收入上有增长,但是一直有一个恐惧感在缠着我,那就是是年龄。我进入 BAT 的时间短,相比起周围的那些同龄人,甚至比我小的,因为在公司时间久,其实层级是高一些的。按理说,这也很公平。但是在国内,普通技术人员的工作寿命我觉得是很短的。

    举个例子,在面试的时候,如果 35 岁的应聘者,或者工作超过 7 年,但是没有达到 P7 或者 T3.1 的水平,可能会比较难拿到 offer。打个比方吧,我觉得国内的程序员一直都是在跑 800 米,如果你在一定年限没有跑到一个点(例如 P7 ),你会感觉你已经从这个游戏出局了。而国外的职业发展相对成熟,大家都是在跑马拉松,即使一开始你慢一点(比如 30 本科毕业,35 岁去读个博士),你依然有可能在后段的赛程追上大部队,即使没有追上,你还是能跑完这个游戏。但是在国内,你能想象一个 40 岁的 P6 或者 T2.3 吗,很难想象。甚至一些女同事,怀孕以后回来,职位都没有了。
    以上只是我个人的看法,尤其是对于国外的情况,纯属我个人 YY,欢迎讨论哈。

    3. 面试准备

    3.1 简历和 behavior question

    这个我特别推荐 coursera 上的一个系列课程,讲得很详细,包括简历编写,如何准备 behavior question。

    3.2 算法

    这个没什么好说的,leetcode easy 和 medium 的刷一遍就好了,hard 的级别如果不是去 FLAG 级别的公司,其实我觉得性价比不大。关于这个我下次在发帖专门讲讲,但是我最大的感受就是一定要充分理解这个题目,光记代码卵用没用。我曾经面试一个公司,on screen 的时候,出了一道原题,我取巧,就把之前写过的答案给敲上去了。但是面试官问我为什么这样解是对的,我突然就想不起来了,结果面试挂了。如果你要记录代码,还不如记录这个题目的思路,以后碰到了把思路想起来,现写代码,都比记代码强。

    3.3 技术问题和系统设计

    国外感觉对于软件工程的理解以及最佳实践的实施,会比国内要强太多。如果以软件工程的角度来说,其实国内很多大公司做得都很差,比如我们所在的团队,算是国内比较有名了,但是很少有人写单元测试,SLOID 原则之类的也根本没人听过,git 都是一个 master 分支撸到底。要发布就在 master 分支上打个包。但是国外的话,会关注你懂不懂单元测试,了不了解 SOLID 原则,不可变对象的好处。语言本身的特性他们倒是很少问。 这个的话,没有特别标准的答案,但是我建议是把自己简历上的项目都撸一遍,用英文给自己说一下,如果你能说清楚,其实问题不大。你也能理解,在系统中为什么要这么设计,包括负载均衡,消息队列,配置中心等中间件为什么要这么使用。

    4. 职位搜索

    之前投美国的职位,在一亩三分地上,有很多人内推美国工作,但是目前国内的人拿 H1B 基本上不可能了,尤其是没有美国读书工作经历的程序员(某国外面试培训机构的工作人员跟我说的原话)。所以我把目光转向了新加坡、欧洲和澳大利亚,新加坡的话,100 offer 有新加坡的业务,我也面试过几次,但是都没有拿到 offer。欧洲和澳大利亚的话,我主要是去 Stack Overflow 上找的,因为可以根据是否提供签证和 relocation 过滤,效率会比 glassdoor 高。

    5. 面试过程

    面试基本上都是先 OA,然后三到四轮的技术面试,涉及的方方面面都有,面试难度可能和 BAT 差不多吧。有些方面会难一些,比如要你设计个停车场,这种题目其实对于没有真正理解 OO 和程序设计能力不强的工程师来说的,其实是非常容易翻车的。有些方面会简单一点,比如数据库,最多问你 ACID 中的 I 是什么意思,要是 BAT 的话,可能就直接问 MySQL 有几种隔离等级,在不同的隔离等级下,各会产生什么的读类型。国外会问你,什么是索引有什么作用。BAT 会问,MySQL 中簇索引和其他的索引有什么不同,什么是如果执行计划没有使用簇索引而是其他的,会有什么问题。总体感觉国外的面试题目更加开放,国内的更加注重你有么有深入的去了解你使用的技术,当然如果你在面试过程中,能够体现你对于你使用的技术有深刻了解,那更加加分。比如有次面试的时候,面试官说,他没想到我会提到 MySQL 的 semisync。

    6. 总结一下

    总结下来,拿国外的 offer,如果没有签证政策的问题的话,我相信国内一线互联网工程师技术上是能完整胜任国外公司的工作的(毕竟不是每个公司都是 flag 级别的),所以也不是那么难。但是还有其他的难度,例如语言,技术关注点不一样,面试的机会少。但是这些难度,都是有方法可以去克服的。

    以下是硬广

    Why Careem?

    Careem is the leading Ride Sharing Platform in the MENA region and newest member of the Unicorn club. After our recent investment of $500m, we are now scaling our engineering teams in Berlin & Dubai with software engineers, data scientists and engineering managers - Good english communication skills is required - for more info please contact [email protected], and tell us you are know this information from V2EX

    Who are we looking for?

    We are looking for talents who want to help build a world-class institution, experience the thrill of being part of a high-growth technology company, and improve people ’ s lives. There four roles open here, you can download the JD from the link list below:

    写在最后

    以上广告就发完了,有什么关于 Careem 的问题也可以留言,技术上我会回答,不能回答的我会联系 HR,让他回答。有什么关于肉翻的问题,也可以在这里留言,我尝试着回答。

    3 条回复    2017-09-29 07:54:23 +08:00
    tyrealgray
        1
    tyrealgray  
       2017-08-30 15:10:54 +08:00 via iPhone
    6 人收藏却没有人回复感谢这么好的帖子,我就来坐个沙发
    kenshinji
        2
    kenshinji  
       2017-09-27 09:49:04 +08:00
    分享很赞,楼主在德国哪个城市?能加个微信交流下么?微信同 v 站用户名
    lu007heng
        3
    lu007heng  
       2017-09-29 07:54:23 +08:00
    刚面完他们家柏林 office,楼主最后去了吗?能加个微信交流一下吗 微信名同 v 站用户名
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3317 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:24 · PVG 19:24 · LAX 03:24 · JFK 06:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.