JS 测试题

题目一

手工实现 call apply bind 这三个函数,代码提交到 js 分支

题目二

像素雨游戏:

请用HTML元素(非Canvas,WebGL)方式实现。

实现细节,红色10X10方块从屏幕上部以随机的1-10像素的速度从屏幕上方垂直漂落至屏幕下方,速度越快,透明度越低。如果漂出屏幕则重置回屏幕上方,让他们LOOP起来。默认100红色方块,之后每次鼠标点击加入100个方块。请将帧率统计出来写在页面的右上角,得分就是方块数*帧率。

代码提交到 rain 分支。

题目三

实时得分展示统计平台技术设计方案:

假如现在我们有100个像素雨测试连续运行,我们需要采集每个选手每帧的得分数据到我们的后台数据库, 并实时的推送到我们的WEB版的得分展示Dashboard, 以连续时间曲线方式展示。另注:采集行为不能对选手的代码造成不公平的压力。

请给出一份基于Nodejs + Web实现以上收集,存储,推送, 展示功能的技术方案。结果是文字和图片的形式均可,提交到 architecture 分支。