首页 阿里巴巴C++工程师笔试题目

阿里巴巴C++工程师笔试题目

举报
开通vip

阿里巴巴C++工程师笔试题目阿里巴巴C++工程师笔试题目   想要在校招中成功进入阿里巴巴上班吗,以下由为大家提供的“阿里巴巴C++工程师题目”,供大家参考借鉴,希望可以帮助到大家。   一、问答题   01机器人每次向前走1步概率是1/2,每次向前走2步概率是1/2,当机器人走的路程是4的整数倍时候结束,求结束时机器人步数的期望   027635412,做堆排序升序,第一轮后的结果   03老公接老婆下班,老公6:20—6:30到,老婆6:25—6:30下办公楼,如果老公到老婆办公楼下比老婆晚,就会挨打,求老公挨打概率。   04二进制数0...

阿里巴巴C++工程师笔试题目
阿里巴巴C++工程师笔 试题 中考模拟试题doc幼小衔接 数学试题 下载云南高中历年会考数学试题下载N4真题下载党史题库下载 目   想要在校招中成功进入阿里巴巴上班吗,以下由为大家提供的“阿里巴巴C++工程师题目”,供大家参考借鉴,希望可以帮助到大家。   一、问答题   01机器人每次向前走1步概率是1/2,每次向前走2步概率是1/2,当机器人走的路程是4的整数倍时候结束,求结束时机器人步数的期望   027635412,做堆排序升序,第一轮后的结果   03老公接老婆下班,老公6:20—6:30到,老婆6:25—6:30下办公楼,如果老公到老婆办公楼下比老婆晚,就会挨打,求老公挨打概率。   04二进制数0.0011001100110011最接近的10进制数   05中国打算30年后成为发达国家,生产力翻番,问每年的生产力增长率至少为多少?   06进程和线程区别   07掷筛子拿奖金,两次机会,掷得是几,就拿几的奖金,比如掷3,则拿3元。第一次掷结束后可以选择拿奖金离开,也可以选择再掷一次,如果再掷一次,则只能拿第二次获得的奖金,求期望   08write pwrite seek fseek 哪个和其他的不同 一个是系统调用一个是库函数   二、附加题   09给出一组整数对 { (a[0], b[0]), (a[1], b[1]) ... (a[n-1], b[n-1]) },所有 a 值 和 b 值分别不重复(任意 i != j 满足 a != a[j] 且 b != b[j])。构造一棵 n 结点的二叉树,将这 n 个整数对分配到各个结点上。根和所有子树满足以下条件:   1) 所有结点的 a 值满足二叉查找树的顺序,即 left->a < root->a && root->a < right->a;   2) 所有结点的 b 值满足最大堆的顺序,即 root->b > left->b && root->b > right->b。   问题一:实现 build 函数,输入 n 个整数对,返回一棵构造好的二叉树。   struct pair_t {   int a, b;   };   struct node_t {   int a, b;   node_t *left, *right;   };   node_t* build(pair_t* pair, int n);   例如,输入是 {(5, 8), (2, 10), (4, 3), (1, 5), (0, 2), (9, 1)},输出是下列二叉树:   提示:1) 构造出的二叉树的形态是存在且唯一的。 2) 想办法确定树根。   10   已知满足上述条件的二叉树,设计算法实现插入一个整对 (a, b),使新的二叉树仍满足上述条件。该算法比较复杂,候选人只需描述思路。   1、假设目前有3个程序A, B和C,需要相互传输数据,我们需要给做一个中转程序P。 A 读写的数据是经过某压缩格式azip压缩过的。   B 读写的数据需要base64编码。   C 读写数据需要压缩格式bzip压缩后base64编码。   现在假设已有工具函数 :   std::string azip(const std::string& input);   std::string aunzip(const std::string& input);   std::string base64encode(const std::string& input);   std::string base64decode(const std::string& input);   bool bzip(const std::string& input, std::string* output);   bool bunzip(const std::string& input, std::string* output);   请给中转程序P设计格式转换的工具类。注意设计的通用性,比如:可能有新的角色加入,要求给做加密解密等。   2、假设我们已有一个函数, int recv(char* buf, int len);   这个函数要求你准备一个 buffer,并告诉这个函数这个 buffer 有多长(len),这个函数就会在 buffer 里填上一些字符,并返回字符的个数(返回值永远 > 0 )。   请写出这样一个函数,   char* read_line() {   // ??? 你要写的代码   }   这个函数不需要任何参数,内部是靠调用 recv() 来拿到一些字符,然后要搜索回车字符 \n,找到后返回之前的字符,比如,   如果 recv() 拿到 "123\n45\n678",那第一次调用 read_line(),需要返回 "123"   但是请注意,第二次调用时,要返回 "45" (第二行字符窜)   第三次调用时,"678" 还没用掉,可是因为 678 之后没有 \n,所以你要继续调用 recv(),拿到更多字符,   假如 recv() 返回 "abc",你有了 "678abc",可是因为 abc 之后没有 \n,所以你要继续调用 recv(),拿到更多字符   假如 recv() 返回 "de\n",你有了 "678abcde\n", 因为看到了 \n,所以你可以直接返回 "678abcde" 了。
本文档为【阿里巴巴C++工程师笔试题目】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_954223
暂无简介~
格式:doc
大小:7KB
软件:Word
页数:3
分类:企业经营
上传时间:2017-04-21
浏览量:21