阿里躺平设计家笔试
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) 回帖