阿里躺平设计家笔试
Time : 2021-06-11
1. 简答题
推算快速排序的时间复杂度,用比较次数表示。
2.编程题
2.1 旋转图像
将图像顺时针旋转90度。限定使用python
2.2 爬楼梯
从楼下爬到楼上,共20个台阶。楼底为0,楼顶为20。有三分之二的概率往上爬,三分之一的概率往下爬,问爬到楼上的期望。
2.3 三角形
判断三角形在某个视角下是否为顺时针。请实现以下函数(函数定义为c++,可使用任意语言实现),能表达清楚意思即可,不要求能运行。
struct vec3{ float x; float y; float z; } // V[3]为三角形3个顶点 // comeraDir为相机视角朝向 // 人眼在很远的地方往三角面的地方看,人眼看的方向是cameraDir // 返回是否为顺时针 bool isClockwise(const vec3 V[3], const vec3& comeraDir){ //TODO:给出具体实现 }
2.4 深度学习
请给出深度神经网络关键组件的代码实现,包含前向计算和梯度计算两部分,如不同激活函数、全连接层、池化层、2D卷积层中至少2中的实现代码,不限语言。
可调用第三方库,如numpy,sklearn等。
## Sigmoid激活函数 import numpy as np class Sigmoid(): def __call__(self, x): return 1 / (1 + np.exp(-x)) def gradient(self, x): return self.__call__(x) * (1 - self.__call__(x))
2.5 Json处理
在服务器上有两个json文件,需要同时请求两个json;将key不同的项提取出来,组成一个新的json。要求不使用Promise.add,可以使用fetch。
/* interface IJSONRespone{ [key : string] : any; } * 例如: url:{a: 1, b : 2}; url2: {b:3, d: 2} * 返回:{a : 1, d : 2}; * @param{string} url1 里面包含着json文件,格式符合IJSONRespone * @param{string} url2 里面包含着json文件,格式符合IJSONRespone * returns {Promise <- IJSONRespone} url1和url2中key不同的部分 */ function mergeTwoJson(url1, url2){ //在这里写下你的代码 //这里应当返回的是一个promise return retJObj; }
全部评论
(4) 回帖