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

2016-05-13 10:56:34 +08:00
 sztimhdd

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

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

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

你团队中扮演的角色

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

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

团队希望你具备的 Soft Skill

团队为你提供

团队对你的期望


联系奥格酋长

邮箱: hai@orgrimmar.io

微信: sztimhdd

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


SKYLINE - Where the best hackers belong:

北京 分舵 (奥格睿码)


硅谷分舵 (雷霆崖)


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

29653 次点击
所在节点    酷工作
143 条回复
soli
2016-06-24 13:14:10 +08:00
@sztimhdd 赞啊!那我准备准备直接去加拿大哈。
sztimhdd
2016-06-24 14:21:22 +08:00
@soli 速度答题发过来吧!
teriyaki888
2016-06-25 13:35:27 +08:00
@sztimhdd 头次听说这样的政策 有什么要求 相关信息哪里能看到? halifax 都创业扶持计划?
soli
2016-06-25 13:39:38 +08:00
@sztimhdd 但是题目不是 C++ 的哈。
sztimhdd
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
2016-06-25 13:52:18 +08:00
@soli 可以试试这两题:

1. 用 ANTLR 生成一个针对的 C++ 17 的 Parser ,做到出语法树即可,不要求生成 BIN
sztimhdd
2016-06-25 13:58:10 +08:00
@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
2016-06-25 14:13:53 +08:00
@sztimhdd

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

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

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

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

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

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

加国也给这种创业公司投钱?
sztimhdd
2016-06-26 11:42:22 +08:00
@teriyaki888 我们也正在拓展加国市场 毕竟刚登陆 3 个月 😄
soli
2016-06-29 12:32:30 +08:00
@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
2016-06-29 12:48:59 +08:00
@soli 看到你的答案,我也“当时就震惊了”, V 站果然卧虎藏龙,工作版除了各种求建议求内推,还有你这样 hardcore 的 hacker 😄

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

你的钻研精神和知识背景都非常惊人,敬你是条汉子,加个微信聊聊吧: sztimhdd ,我司永远欢迎各种神奇的大牛加入或者担当顾问。
soli
2016-06-29 14:02:05 +08:00
@sztimhdd 已加。向你们多多学习。
zonghua
2016-07-11 10:25:09 +08:00
怎么我看笔试题里面竟然没有算法的题?都是概念和原理?
sztimhdd
2016-07-11 14:29:56 +08:00
@zonghua 欢迎试试嘛~ 这个知识面再考算法,我们的笔试题通过率真的要低于 5%了(≧∇≦)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/278383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX