V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 外包信息请发到 /go/outsourcing 节点。
• 不要把相同的信息发到不同的节点
sztimhdd
V2EX  ›  酷工作

[北京][ Node.js][ 15K- 30K+期权+🇨🇦肉翻]硅谷顶级孵化器 B2B 纯技术团队 招募全职伙伴

  •  4
     
  •   sztimhdd · 2016-05-13 10:56:34 +08:00 · 29608 次点击
    这是一个创建于 3124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    SKYLINE

    关于我们---------->戳这里

    招募中: Node.js 客户定制攻城狮 2

    薪资福利 ~ 重要的事情放最前面

    • 薪资: 每月基本工资 15K ~ 30K + 每月 3-5K 项目奖金 + 0.5 ~ 1.5% 期权( 4 年成熟,目前估值 1 亿)

    • 福利:国家标准 5 险 1 金 + 每年 50 天 SOHO 工作日(错霾通勤) + 每年 3-5 次国外团队拓展旅行 + 硅谷、加拿大分舵工作/培训机会

    • 肉翻通道:国内工作满 1 年可以申请加拿大工作签证,后续可以转永居、公民

    • 工作环境:10 号线健德门 5 分钟通勤 + LOFT 风格办公室 + 马甸公园大绿肺 + 24 小时空气净化器 + 无限量水果、零食、 Dr.Pepper + 每周去全北京最好的烤串和新疆菜聚餐

    • 生产力工具: 15 inch MBP Retina + Bose 全家桶听觉系统 + 4K 显示器

    你团队中扮演的角色

    • 参与各类企业客户定制需求的访谈和顶层设计
    • 编写 JavaScript 定制化脚本,完成对客户的需求定制及维护。
    • 负责对部署环境、生产环境及客户本地环境进行配置、备份和维护
    • 负责对客户所使用的全平台产品及服务器进行测试和反馈

    团队希望你具备的技术能力

    • 尽全力使用各种资源和帮助,完成我们的笔试题

    笔试题---------->戳这里

    • 具备 Node.js 项目经验,一定要掌握 EcmaScript 、熟练使用 ES2015, 会用 coroutine 和 yield. 不要做炫技派,但也不要写蠢代码。
    • 熟练使用 git (至少需要懂 git-rebase 和 git-merge 的区别, 只用过 pull & push 那不叫熟练使用)
    • 掌握至少一种 ORM 框架,会用 sequelize 框架更好。了解 PostgreSQL, 会写简单的 aggregate function 会用 inner join 即可。只用过 select * from user 不叫做了解,没发现前面举例的语句可能有问题的也不叫了解。
    • 熟练使用 Lo-dash 或者 underscore 有加分。

    团队希望你具备的 Soft Skill

    • 以解决方案为导向,对客户需求提炼后能给出解决方案。如果引擎不支持某一功能,那就使能支持;如果不使能,那就短路引擎自己搞。逢山开路,遇水架桥,筚路蓝缕,以启山林。
    • 有良好的文档意识,在客制化脚本中写人类可以看懂的注释来描述需求是如何实现的。

    团队为你提供

    • 纯技术、最前沿、极具挑战的成长环境,“工程师文化” 不是一句空话, CEO 天天跟你聊 ES7 新特性是什么鬼
    • 不输 BAT 的薪资和福利待遇
    • 工程狮友好的 LOFT FEEL 工作环境: 15 inch MBP Retina + Bose QC25 + Dell P2415Q + 无限量水果、零食、 Dr.Pepper
    • 前往硅谷、加拿大的培训、工作机会

    团队对你的期望

    • 用 google 不用 Baidu 、问 stackoverflow 不问 csdn ,知道最新的技术都在英文世界里,欢迎你为了简化认知直接用英文描述世界
    • 新技术能用就迅速迁移到新技术, 不要问这个需要适配 IE 需要 ES5 需要 polyfill 吗
    • 具有强烈的学习欲望和好奇心,不要等知识喂到你嘴边,不要等别人告诉你 ES7 有什么,自己去看 TC39 去
    • 具有不错的文档撰写和客户沟通能力,写的文档团队看不懂然并卵,你又不是望月新一

    联系奥格酋长

    邮箱: [email protected]

    微信: sztimhdd

    发来 200 字 Why you 陈述即可 有自己的 github 项目者优先


    SKYLINE - Where the best hackers belong:

    北京 分舵 (奥格睿码)

    北京办公室掠影-1 北京办公室掠影-2


    硅谷分舵 (雷霆崖)

    美舵-1 美舵-2


    加拿大哈里法克斯分舵 (银月城)

    加舵-1 加舵-2 加舵-3

    第 1 条附言  ·  2016-11-15 22:30:18 +08:00

    应广大小伙伴要求,补充一个此岗位的日常工作场景(按优先级排列):

    • 从满足客户的需求出发解决实际问题:可以用 skyline 引擎就用,不能用引擎解决的自己能给出解决方案。
    比如客户在某个地方需要有一个点击按钮弹出表单做 CRUD 操作,引擎不支持,
    
    那么可以想办法使得支持。
    
    • 学会用 skyline 引擎开发定制的 JavaScript 脚本,满足客户各种业务需求;做好引擎可能有坑要踩坑要补测试要绕过的心理准备。
    比如客户在某个地方需要有一个点击按钮弹出表单做 CRUD 操作,引擎支持,
    
    然后用的时候发现弹出的表单位置不对,通过查看文档或者查看源代码能找到设置项把表单位置弄对。
    
    • 再次强调,这个岗位是 Node.js 客户定制 工程师,重点在于如何用最小的effort最高的可靠性解决客户的业务问题。所以不要求你对Node.js有多么深厚的修炼,但是遇到问题一定要有跳出框框提出自己的 solution 并实现之的能力和意愿。

    附上跟工程师要过来的代码例子

    this.rule = [
        {
            action: "input",
            needpwd: false,
            user: ["creator"],
            postaction: this.topicTitle,
            name: '请填写请购单',
            rehint: '您的流程申请被驳回,请您选择是否需要重新申请',
            next: ["+1", 16]
        },     //0 申请人提交采购申请
        {
            action: "approve",
            needpwd: true,
            user: ["Group:.Leader:", "creator", 1],
            name: '部门领导审批',
            next: ["+1", 0]
        }
    ]
    
    143 条回复    2017-01-22 11:07:57 +08:00
    1  2  
    fds
        1
    fds  
       2016-05-13 11:06:40 +08:00
    不错不错! trackpad 碎了?
    可惜手上有项目分不开身……
    sztimhdd
        2
    sztimhdd  
    OP
       2016-05-13 11:11:21 +08:00
    @fds 已在 halifax 撸了个 mint 的带回去了 项目是做不完的 但是船票可是限量的哦~
    kenshinhu
        3
    kenshinhu  
       2016-05-13 11:22:30 +08:00
    我们很有缘分啊
    大家的 trackpad 也碎了
    而且我也是 node 开发的
    sztimhdd
        4
    sztimhdd  
    OP
       2016-05-13 11:30:45 +08:00
    @kenshinhu 同姓本家+剑心粉 握爪,期待你的笔试题!
    kenshinhu
        5
    kenshinhu  
       2016-05-13 11:37:37 +08:00
    @sztimhdd 就这个,我先 干了这个题 为敬吧!
    allenshi
        6
    allenshi  
       2016-05-13 12:26:28 +08:00
    肉翻好心动。。
    mahone3297
        7
    mahone3297  
       2016-05-13 13:25:02 +08:00
    》 0.5 ~ 1.5% 期权( 4 年成熟,目前估值 1 亿)
    1%的话,就是 100w 咯?

    》参与各类企业客户定制需求的访谈和顶层设计
    好像看起来有点像外包?(无贬义)

    很赞的样子
    sztimhdd
        8
    sztimhdd  
    OP
       2016-05-13 20:58:02 +08:00
    @allenshi 那就放题过来吧!
    sztimhdd
        9
    sztimhdd  
    OP
       2016-05-13 20:59:39 +08:00
    @mahone3297 1. 是的,每年成熟 0.25%, IPO 就可以套现 2. 是 PaaS 模式 但是客户都很大型 需要相当深入的定制和培训
    mahone3297
        10
    mahone3297  
       2016-05-13 21:41:10 +08:00   ❤️ 1
    @sztimhdd 谢谢回答。
    好像蛮赞的,不过不懂 js 。。。
    sztimhdd
        11
    sztimhdd  
    OP
       2016-05-14 09:28:01 +08:00
    @mahone3297 能写好文档做好 PM 也欢迎哦
    but0n
        12
    but0n  
       2016-05-14 14:08:30 +08:00   ❤️ 1
    很诱人啊,不过不会 node ,只会 js😂,后端只用过 python 。。
    sztimhdd
        13
    sztimhdd  
    OP
       2016-05-14 21:39:25 +08:00
    @but0n 会 JS 就可以尝试下笔试题了 这个岗位更重要的是抽象和建模能力 笔试题里 Node 只占 1/6
    thincamel
        14
    thincamel  
       2016-05-16 09:26:33 +08:00
    ...我喜欢暴风城外的闪金镇后街,唉
    sztimhdd
        15
    sztimhdd  
    OP
       2016-05-16 12:04:40 +08:00
    @thincamel 这个可以有
    WildCat
        16
    WildCat  
       2016-05-17 09:10:04 +08:00
    农药属于联盟,喂了部落!
    sztimhdd
        17
    sztimhdd  
    OP
       2016-05-17 09:11:09 +08:00
    @WildCat (^_^)☆
    shooter
        18
    shooter  
       2016-05-17 11:50:56 +08:00
    Mustang 不错
    ltm
        19
    ltm  
       2016-05-17 12:30:48 +08:00 via Android
    从今天开始,学 nodejs
    jiangzhuo
        20
    jiangzhuo  
       2016-05-17 12:44:50 +08:00
    halifax 路过过,感觉不错的小城,在北京呆久了觉得枫叶国哪都是小城
    Yc1992
        21
    Yc1992  
       2016-05-17 13:17:51 +08:00
    现在学 nodejs 还来得及吗😢
    Pandora78
        22
    Pandora78  
       2016-05-17 16:03:24 +08:00
    感觉真不错,继续把 node.js 学精
    sztimhdd
        23
    sztimhdd  
    OP
       2016-05-17 20:26:44 +08:00
    @shooter 油老虎一只,租车行的阉割 V4 版,不过引擎声音依然感人
    sztimhdd
        24
    sztimhdd  
    OP
       2016-05-17 20:27:03 +08:00
    @ltm 加入我们 从实战中学习吧!
    sztimhdd
        25
    sztimhdd  
    OP
       2016-05-17 20:27:35 +08:00
    @jiangzhuo 欢迎来做客啊~枫叶国不是有大 Torronto 和大温裤袜嘛
    sztimhdd
        27
    sztimhdd  
    OP
       2016-05-17 20:28:37 +08:00
    @Pandora78 嗯嗯 期待你的笔试题!
    dko
        28
    dko  
       2016-05-19 00:09:04 +08:00 via iPhone   ❤️ 1
    国内的创业公司要是把福利事情说得这么直接就好了,现实情况总是遮遮掩掩。
    支持下楼主,只是目前做的行业对应不上,抱憾。
    maple
        29
    maple  
       2016-05-19 01:10:43 +08:00
    有点不理解。为什么选在 halifax 这种大西洋 region 的岛上
    sztimhdd
        30
    sztimhdd  
    OP
       2016-05-19 08:28:30 +08:00
    @dko 创业公司总是要考虑少花钱多办事躲着 BAT ,所以 纸面福利+一个很大弹性的空间 是比较常见的做法,情有可原吧
    sztimhdd
        31
    sztimhdd  
    OP
       2016-05-19 08:30:08 +08:00
    @maple 因为这里的夏天超级 cozy 哦~ 当然还因为这里的创业环境秒杀国内各种“创业园”, 500K 加币政府扶持基金+报销 50%员工工资,无敌的政策扶持使得人力成本比北上广深还低,简直是进攻北美市场的最佳桥头堡
    maple
        32
    maple  
       2016-05-20 09:22:51 +08:00
    @sztimhdd 看了网站看不出有什么。给下联系方式还有地址什么的。有人在 SMU 有兴趣,投简历的事他做了。只是问了更好的联系还有了解你们公司的大致. Thx~
    sztimhdd
        33
    sztimhdd  
    OP
       2016-05-20 10:01:01 +08:00
    @maple 好滴 多谢推荐哈~ 我的微信是 sztimhdd ,公司地址是北京海淀区冠城南园 12 号楼 11C 公司的简介: http://www.v2ex.com/member/sztimhdd
    hanangellove
        34
    hanangellove  
       2016-05-20 14:38:50 +08:00   ❤️ 1
    mark-赞一个~~~学习
    holulu
        35
    holulu  
       2016-05-23 07:46:21 +08:00   ❤️ 1
    Node.js 现在应该不算什么前沿技术了吧,几年前还可以。而且用 Node.js 来写后台一点都不 Geek 啊,写着业务逻辑会有种想死的感觉,即使用 coroutine 和 yield 也不见得能改善多少, ES2015/ES7 的新特性也好不了哪里。
    也许是自己对 Node.js 已经不再像几年前刚接触时那么兴奋了,毕竟越用越没有欲望了。现在入坑 FP 类语言了,感觉这才是未来。代码写得少,事做得多。
    sztimhdd
        36
    sztimhdd  
    OP
       2016-05-23 08:36:32 +08:00
    @holulu 嗯,也许经过这几年的膨胀 Node.js 已经不是阳春白雪了,但是工具是否 Geek 并不熟决定工作是否前沿的主要因素,欢迎了解下我们在做的事情,看看我们的前后端笔试题,说不定你会感兴趣哦~
    XadillaX
        37
    XadillaX  
       2016-05-24 10:45:19 +08:00
    我只是来安利我的 ORM 的。

    https://github.com/XadillaX/Toshihiko
    onceyoung
        38
    onceyoung  
       2016-05-25 08:14:21 +08:00 via Android
    身在南京我深深感觉到了悲哀
    shooter
        39
    shooter  
       2016-05-25 12:08:35 +08:00
    @holulu FP 大法好
    sztimhdd
        40
    sztimhdd  
    OP
       2016-05-26 09:53:47 +08:00
    @onceyoung 那我忘了告诉你我们的南京分舵的公司名称:南京达拉然软件有限公司 ^_____^ 欢迎来撸笔试题
    shyling
        41
    shyling  
       2016-05-26 10:15:11 +08:00 via iPad
    coroutine ? lua?
    ipush
        42
    ipush  
       2016-05-26 10:18:17 +08:00
    从这一秒开始学习 js
    shyling
        43
    shyling  
       2016-05-26 10:24:07 +08:00 via iPad
    跟着学发个自己的简易 orm https://github.com/lingmm/Toys/blob/master/NodeJS/meta.js
    另外反驳一下前面的'未来属于 fp 类语言':fp 里有未来?
    HuJian201
        44
    HuJian201  
       2016-05-27 17:07:49 +08:00
    好厉害好厉害,一年肉翻唉,我要抓紧学 Node 。。。
    sztimhdd
        45
    sztimhdd  
    OP
       2016-05-28 05:27:31 +08:00
    @HuJian201 会 JS 就行 加入我们一起学 Node 吧!
    fuermosi777
        46
    fuermosi777  
       2016-05-28 05:39:34 +08:00
    硅谷分舵招人吗
    CupTools
        47
    CupTools  
       2016-05-28 05:45:11 +08:00
    ...

    Can I apply for the position in Silicon Valley? :P
    onvno
        48
    onvno  
       2016-05-28 07:51:12 +08:00 via Android
    手机没打开笔试题,前端,最近刚离职在家玩 node ,准备练练 vue,自己用纯 js 做过些组件,但还是觉得离你说的最新最酷有差距…待遇吸引人,哈哈
    sztimhdd
        49
    sztimhdd  
    OP
       2016-05-28 09:24:44 +08:00
    @fuermosi777 @CupTools 硅谷分舵目前没有 office space ,加入的话需要回国跟团队同步 2-3 个月后转 SOHO
    sztimhdd
        50
    sztimhdd  
    OP
       2016-05-28 09:25:11 +08:00
    @onvno 不用犹豫 直接搞笔试题 又不会怀孕 期待哦~
    Ervin
        51
    Ervin  
       2016-05-28 10:17:32 +08:00 via Android
    有意思,招 Android 的吗?
    CupTools
        52
    CupTools  
       2016-05-28 12:55:42 +08:00   ❤️ 1
    @sztimhdd 还要在这边呆多一年 还回不了国 (
    自荐一个行吗 :D
    https://github.com/zllovesuki
    sztimhdd
        53
    sztimhdd  
    OP
       2016-05-29 08:31:15 +08:00 via iPhone
    嗯嗯 Github 挺不错的哦 直接撸我们笔试题吧 前端后端 data 工程师 移动端 随便挑
    sztimhdd
        54
    sztimhdd  
    OP
       2016-05-29 08:32:05 +08:00 via iPhone
    @Ervin 已经转 react native 了 有兴趣直接撸我们的移动端笔试题吧 点我 id
    H4cK
        55
    H4cK  
       2016-05-31 09:09:46 +08:00
    这这这。。。都是 90 后吗?
    sztimhdd
        56
    sztimhdd  
    OP
       2016-05-31 09:36:42 +08:00
    @H4cK 😄必须是啊 除了我们俩老博士 founder
    werson90
        57
    werson90  
       2016-05-31 18:03:28 +08:00
    支持 remote work 吗
    sztimhdd
        58
    sztimhdd  
    OP
       2016-06-01 11:39:32 +08:00
    @werson90 目前还不支持哦 团队太小需要集中高速迭代
    wuyuchenshishabi
        59
    wuyuchenshishabi  
       2016-06-11 11:23:14 +08:00
    有女神!
    sztimhdd
        60
    sztimhdd  
    OP
       2016-06-11 21:25:28 +08:00
    @wuyuchenshishabi …… Y(^_^)Y
    wangfeng3769
        61
    wangfeng3769  
       2016-06-19 09:58:30 +08:00   ❤️ 1
    还是这边牛逼。
    rannnn
        62
    rannnn  
       2016-06-19 11:16:31 +08:00
    我上上家业务是跟你们一样的,感觉 node 不适合干这事
    sztimhdd
        63
    sztimhdd  
    OP
       2016-06-19 11:30:30 +08:00
    @rannnn 其实软件这事 只有最合适的人 没有最合适的语言 node 有 node 的问题
    linghein
        64
    linghein  
       2016-06-19 11:56:07 +08:00   ❤️ 1
    _(:3
    建议检查一下笔试的语法错误先
    sztimhdd
        65
    sztimhdd  
    OP
       2016-06-19 13:27:56 +08:00
    @linghein 不好意思让你见笑了,能否明确指出我们马上改掉,谢谢啊!😄
    sztimhdd
        67
    sztimhdd  
    OP
       2016-06-20 09:55:24 +08:00
    @linghein 额 并没有看出区别啊 能否 diff 一下?^_^
    fri3nds
        68
    fri3nds  
       2016-06-20 11:38:25 +08:00
    没有看到 15 MBP ,也没有看到 Bose !
    sztimhdd
        69
    sztimhdd  
    OP
       2016-06-20 12:15:51 +08:00
    linghein
        70
    linghein  
       2016-06-21 00:35:30 +08:00   ❤️ 1
    @sztimhdd 啊不好意思那个 url 只有 view 好像看不到 comment

    https://docs.google.com/document/d/1e74pZG-EAePYapDmk_RzXj3vE75XSWelu3yepxlfYQ0/edit

    这个就可以了
    sztimhdd
        71
    sztimhdd  
    OP
       2016-06-21 09:31:46 +08:00
    @linghein 非常仔细认真,基本素养和英文都很棒,要不要考虑来挑战下我们的前端或者 Data 工程师岗位?
    linghein
        72
    linghein  
       2016-06-21 10:20:12 +08:00
    @sztimhdd 不好意思我在 ON ; )
    alexlur
        73
    alexlur  
       2016-06-21 10:52:57 +08:00
    Do I get bonus points if I use `lodash` everywhere?
    sztimhdd
        74
    sztimhdd  
    OP
       2016-06-21 13:30:57 +08:00
    @linghein Halifax 欢迎你~
    sztimhdd
        75
    sztimhdd  
    OP
       2016-06-21 13:31:51 +08:00
    @alexlur you are allowed to use, but it really depends how you use it
    yurivvvvv
        76
    yurivvvvv  
       2016-06-23 09:34:07 +08:00 via Android
    哇...好像一试!
    sztimhdd
        77
    sztimhdd  
    OP
       2016-06-23 13:18:18 +08:00
    ma125125t
        78
    ma125125t  
       2016-06-23 14:27:05 +08:00
    #从这一微妙开始学习 Node
    soli
        79
    soli  
       2016-06-23 14:59:17 +08:00
    可惜不是要 C++
    sztimhdd
        80
    sztimhdd  
    OP
       2016-06-23 16:02:14 +08:00
    @soli C+17 可以考虑啊 很多对接的管子还是这个好用
    soli
        81
    soli  
       2016-06-24 13:14:10 +08:00
    @sztimhdd 赞啊!那我准备准备直接去加拿大哈。
    sztimhdd
        82
    sztimhdd  
    OP
       2016-06-24 14:21:22 +08:00
    @soli 速度答题发过来吧!
    teriyaki888
        83
    teriyaki888  
       2016-06-25 13:35:27 +08:00
    @sztimhdd 头次听说这样的政策 有什么要求 相关信息哪里能看到? halifax 都创业扶持计划?
    soli
        84
    soli  
       2016-06-25 13:39:38 +08:00 via iPhone
    @sztimhdd 但是题目不是 C++ 的哈。
    sztimhdd
        85
    sztimhdd  
    OP
       2016-06-25 13:43:24 +08:00
    @teriyaki888 先申请工作签证,然后走 Experience Nova Scotia 的项目,在 Halifax 工作满 1 年即可申请 PR (永久居民):https://novascotiaimmigration.com/wp-content/uploads/AppGuide-NSNP-NSEEE-English.pdf
    sztimhdd
        86
    sztimhdd  
    OP
       2016-06-25 13:52:18 +08:00
    @soli 可以试试这两题:

    1. 用 ANTLR 生成一个针对的 C++ 17 的 Parser ,做到出语法树即可,不要求生成 BIN
    sztimhdd
        87
    sztimhdd  
    OP
       2016-06-25 13:58:10 +08:00   ❤️ 1
    @soli 2. 在最新的 NODE 上执行下面代码:

    const count = 10000;
    const a = [];

    for (let i = 0; i < count; i++) {
    a.push(typeof null === 'undefined');
    }

    console.log(a[0])
    console.log(a[count - 1])



    这里触发了一个 V8 的 bug 
,请估计这个 bug 大约在 V8 的代码的什么地方
,找到这个 bug 的代码
,把它修了
    teriyaki888
        88
    teriyaki888  
       2016-06-25 14:13:53 +08:00
    @sztimhdd

    我不是指这个
    是指
    500K 加币政府扶持基金+报销 50%员工工资,无敌的政策扶持使得人力成本比北上广深还低

    这个政策哪里能看到
    美国一个朋友有个项目要落地
    teriyaki888
        89
    teriyaki888  
       2016-06-25 14:15:08 +08:00
    @sztimhdd

    偶在温哥华 已经肉身翻了
    sztimhdd
        90
    sztimhdd  
    OP
       2016-06-25 14:20:16 +08:00
    @teriyaki888 搜索 ACOA 和 IRAP ,几十个 program
    teriyaki888
        91
    teriyaki888  
       2016-06-25 14:26:38 +08:00
    @sztimhdd 不好意思 查了下
    innovacorp 貌似投了你们
    可 2014 年到现在
    orgrimmar.io
    你们的服务主站还是个白板
    teriyaki888
        92
    teriyaki888  
       2016-06-25 14:27:58 +08:00
    sztimhdd
        93
    sztimhdd  
    OP
       2016-06-25 14:33:48 +08:00
    @teriyaki888 见笑了,那个 link 的确失效了,

    theSkyline.io
    teriyaki888
        94
    teriyaki888  
       2016-06-25 23:10:13 +08:00
    @sztimhdd

    貌似 http://theskyline.io
    有东西

    可你们的客户基本全是国内企业

    加国也给这种创业公司投钱?
    sztimhdd
        95
    sztimhdd  
    OP
       2016-06-26 11:42:22 +08:00
    @teriyaki888 我们也正在拓展加国市场 毕竟刚登陆 3 个月 😄
    soli
        96
    soli  
       2016-06-29 12:32:30 +08:00   ❤️ 2
    @sztimhdd


    在我看到您发的这两个问题时,『当时就震惊了』。确实是很有挑战性。

    首先,对于这第二个问题,如果是面向 Stack Overflow 编程的话,一开始就找到了[解决办法]( http://stackoverflow.com/questions/37939455/why-does-the-value-of-typeof-null-change-inside-a-loop) 。

    但我觉得您的目的不应止于此,所以决定搞一套 V8 的环境看看到底是怎么回事。

    搞 V8 环境着实花费了我不少精力。你懂的,在国内的优越的网络环境下,我的小梯子经常断线,然后从头开始。

    因为我能力和精力有限,下面只把我瞎猜的几个点列一下吧。

    1. 这个 bug 发生在 V8 的 Just In Time 优化编译模块;
    2. V8 的 JIT 优化是在中断处理中被触发的:

    1. 主中断处理函数调用 StackGuard 的中断处理函数;
    2. 运行时性能检测模块( RuntimeProfiler )被上述中断处理函数调用,以标记候选优化对象;
    3. RuntimeProfiler 会根据函数在栈上出现的次数以及预设的门槛来判断是否应该对其进行优化;
    4. 题中的代码因『 hot and stable 』被标记为需要优化;
    5. 把优化任务塞入优化队列,有另外的优化线程进行重新编译、优化(这也应该是 bug 出现的时机不定的原因);

    3. 在优化过程中,目前是由 Crankshaft 模块完成具体的优化编译任务。它是 V8 专门负责优化的编译器。

    1. 在优化过程中,有一步是对不可达代码块进行优化;
    2. 在不可达代码的判断中,有一个条件是对常量进行 typeof 操作;
    3. 现在终于来到了出现 bug 的 TypeOfString 函数;
    4. 该函数中由于提前对常量判断了 IsUndetectable 导致忽略了对 null 的特殊处理,而错误地返回了 『 undefined 』。

    上面基本上是跟踪调用栈的结果,比较枯燥。并且因为代码量比较大,很多地方并没有完全衔接上。

    我一直觉得,如果想真正了解某一事物,从它发生的历史角度去发掘会更有意识、更深刻。

    所以,强烈推荐推荐一下[这篇文章]( http://www.cnblogs.com/ziyunfei/p/5618152.html)。

    至此,我对第二个问题的研究就告一段落了。

    其次,对第一个问题,由于我从未接触过相关内容,并且看样子 ANTLR 涉及的东西会很多,所以我就不献丑了。

    但确实引起了我的兴趣^_^。
    sztimhdd
        97
    sztimhdd  
    OP
       2016-06-29 12:48:59 +08:00
    @soli 看到你的答案,我也“当时就震惊了”, V 站果然卧虎藏龙,工作版除了各种求建议求内推,还有你这样 hardcore 的 hacker 😄

    此问题的答案我们公司前端团队也自己挖了一圈坑, https://github.com/v8/v8/commit/7dfb5beeec8821521beeb2b8eac36707a663064c ,并且最新版 V8 也已经解决了此问题。

    你的钻研精神和知识背景都非常惊人,敬你是条汉子,加个微信聊聊吧: sztimhdd ,我司永远欢迎各种神奇的大牛加入或者担当顾问。
    soli
        98
    soli  
       2016-06-29 14:02:05 +08:00
    @sztimhdd 已加。向你们多多学习。
    zonghua
        99
    zonghua  
       2016-07-11 10:25:09 +08:00
    怎么我看笔试题里面竟然没有算法的题?都是概念和原理?
    sztimhdd
        100
    sztimhdd  
    OP
       2016-07-11 14:29:56 +08:00
    @zonghua 欢迎试试嘛~ 这个知识面再考算法,我们的笔试题通过率真的要低于 5%了(≧∇≦)
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.