小米公司2013研发笔试题:括号序列与TCP连接分析

需积分: 1 0 下载量 51 浏览量 更新于2024-09-13 收藏 35KB DOC 举报
"小米公司2013年校园招聘笔试题" 本次笔试主要考察程序员的基础知识,包括概率计算、网络协议、数据结构、算法以及编程能力。以下是具体题目解析: 1. 填空题 (1) 摇号问题是一个典型的几何分布问题。每个月摇号的人数为100万 + 4万 * (20 - 1) = 278万。小军摇中的概率是2万除以278万,即大约0.0071或0.71%。 (2) TCP连接的生存路径为手机 -> WIFIAP -> 局域网 -> 路由器 -> 互联网 -> 服务器。若在A点断开,手机会尝试重连;在B点断开,手机与WIFIAP之间的连接断了,但TCP连接可能还在;在C点断开,路由器与外部世界的连接断开,手机的TCP连接会立即断掉。 2. 选择题 (3) 数列出栈顺序:由于栈的特性,先进后出(FILO),1必须比2先出栈,2必须比3先出栈,以此类推。因此,5不能先于4出栈,3不能先于2出栈,2不能先于1出栈。所以不可能的出栈顺序包括54321、34521、23541等。 (4) 多项式展开的乘法次数:根据Dijkstra的多项式乘法算法,乘法次数至少为n,其中n为多项式的最高次幂。 (5) C语言程序分析:程序中,`a`和`b`相加会溢出,导致结果变为负数,循环不会终止,`c`会一直递增直到32位整数最大值,此时`a+b`不再大于0,循环结束。因此,程序的结果是`INT_MAX`,即32位系统下最大的整数值。 3. 编程题 (1) 判断括号序列合法性:可以使用栈来实现。遍历输入字符串,遇到左括号入栈,遇到右括号检查栈顶元素是否为匹配的左括号,如果是则出栈,否则非法。遍历结束后,栈为空表示合法,否则非法。 (2) 修复括号序列:同样使用栈,遇到右括号时检查栈顶是否有匹配的左括号,如果没有则添加对应的左括号到输出字符串。最后,如果栈不为空,则说明缺少左括号,将栈内剩余的左括号添加到输出字符串。 (3) MyBitmap类的编程题要求实现位图操作,如获取和设置像素颜色,以及获取位图的宽高。这些方法是基本的图像处理函数,通常用于图像处理和计算机图形学中。 以上就是针对小米公司2013年校园招聘笔试题的部分解析,这些题目涵盖了概率、网络、数据结构、算法和编程基础等多个方面,旨在评估应聘者的综合能力。