阿里开发工程师笔试题目
“YUSTRONG”通过精心收集,向本站投稿了8篇阿里开发工程师笔试题目,下面是小编帮大家整理后的阿里开发工程师笔试题目,欢迎阅读,希望大家能够喜欢。
篇1:阿里开发工程师笔试题目
阿里开发工程师笔试题目
1、在网络传输数据时,经常需要将二进制数据转换为一个可打印字符串,一般用到的可打印字符集合包含64个字符,因此又称为Base64表示法,现有一个char数组长度为12,要将它表示为Base64字符串,请问Base64字符串至少需要几个char;如果char的长度为20,则需要几个char,
2、某部门年会的时候,有个环节叫做《国王和天使》,每个人将自己的名字写在纸条上并丢入盒子中,等所有人都完成该动作后,每个人再从盒子里拿出一张小纸条,上面的人物就是自己的国王,自己就是ta的天使,如果抽到自己,就再抽一遍,直到抽到别人为止,如果用有向图来表示他们之间的关系,那么以下结论错误的是——?
1.最后的结果可能是存在多个联通分支
2.联通分支个数最多不超过人数的二分之一
3.最后的结果可能是存在多个强联通分支
4. 可以用深度优先算法求得联通数
5.可以用双向链表存储其结构
6.遍历的复杂度是O(N)
3、假设支付宝红包口令支持1到6位的数字组合,即'0','1','003'和‘999999’都是合法的红包口令,那么总共可以有多少个合法的红包口令?
4、假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找下面_是不可能是键的检查序列。
1、10,9,8,7,6,52、2,8,6,3,7,4,53、1,2,9,3,8,7,4,6,54、2,3,10,4,8,55、4,9,8,7,56、以上均正确
5、能整除1400的数目是__?
6、设二叉树节点的线序遍历,中序遍历与后序遍历,所有叶子节点的先后顺序__?
7、一个具有513个节点的二叉树,有_种可能的层高。
8、给定一个整数sum,从有N个无序元素的数组中寻找元素a,b,c,d,使得a + b + c + d = sum,最快的平均时间复杂度是_?
1、O(N^2)2、O(log N)3、O(N)4、O(N^3)5、O(N^2logN)6、O(N^4)
9、如下SQL数据中,_可能返回null值,
1、select count(*) from t1;//返回行的个数2、select max(col1) from t1;//返回列中的某个最大值
3、select concat('max=' ,maxof(col1)) from t1;//连接字符
10、函数lg(ax^2 - 8x + a - 6)的值域为R,那么实数a的取值范围是_?
11、一台刚接入互联网的WEB服务器第一次被访问到时,不同协议的发生顺序是下面中的_?1.ARP->DNS->HTTP2.ARP->HTTP->DNS3.DNS->HTTP->ARP4.DNS->ARP->HTTP5.HTTP->ARP->DNS6.HTTP->DNS->ARP
12、以下程序运行结果?#include
附加题:
1、请列举一些导致“APP启动慢”感受的典型问题或负面模式及相应的优化策略。以Android为例:UI线程执行耗时任务(比如SQL,大的Bitmap),导致阻塞。布局优化,比如背景无谓的`渲染,或者xml过于复杂。更多的优化,可以看看这里
2、客户端开发不同于服务端开发的一个典型背景是,我们的程序会运行在大量不同的设备商,带给我们很多底层执行环境上的约束,例如Android生态中典型的碎片化问题,有的团队为此只适配主流机型,有的约束开发可以使用的API,有的干脆只为iOS平台开发。请在平衡用户体验与研发成本之上,站在App设计和研发的角度,提出你的对策。这道题目又把1%的用户给忘了,好黑.....我的看法是:仅仅需要适配4.0以上的设备;Flyme最难适配,但是用的人又多,所以需要考虑适配。为了体现大公司的责任感,所以要适配WP。
篇2:应用开发工程师笔试题目
应用开发工程师笔试题目
以下是由应届毕业生网为各位介绍的'笔试题目
简答题
16:类的静态成员和非静态成员有何区别?
17:Consider the following code:
#include
#include
int main(int argc, char *argv[]) {
int i = 1;
char buf[4];
strcpy(buf, “AAAA”);
printf(“%d ”, i);
return 0;
}
a) When compiled and executed on x86, why does this program usually not output what the programmer intended?
b) Name several ways in which the security problem that causes this program not to output what the programmer intended can be prevented WITHOUT changing the code.
18:#include
void main()
{ int a[5] ={2,4,6,9,12},b[6] ={2,3,4,6,8,9};
for(int i=0;i<5;i++)
for(int j=0;j<6;j++)
if(*(a+i)==*(b+j) printf( ″ %d ″ ,*(a+i));
printf( ″ n ″ );
} 输出结果: _______
篇3:发网易游戏开发工程师笔试题目
发网易游戏开发工程师笔试题目
两道智力题,一道几何证明,一道概率,一道二叉树编程智力题1
有25个学生参加数学竞赛 , 每个学生至少解出一题, 在所有没有解出第一题的学生中,解出第2题的人数是解出第3题人数的2倍,只解出第一题的学生比余下的学生中解出第一题的人数多1,只解出一道题的学生,有一半没有解出第一题.则共有多少学生只解出第2题?
网上有原题的,可以去百度一下
智力题2
还没搜到原题,不过跟下面这题几乎一样,把史密斯改成李而已,
发网易游戏开发工程师笔试题目
,史密斯夫妇邀请另外四对夫妇就餐,已知他们每个人都不和自己握手、不和自己的配偶握手、且不和同一个人握手一次以上。在大家见面握手寒暄后,史密斯问大家握手了几次,每个人的答案都不一样。问:史密斯太太握手几次。
tieba.baidu.com/f?kz=281952472
几何题
两圆相交,只有2交点A、B,过A点做线段CAD,CA、AD为两圆的.弦,问什么情况下CAD最长,并证明
提示圆心角和圆周角的两倍关系。
概率题
扑克有6种牌,无花色区别,每种牌数量任意!
问两人对弈,每人一次抽5支牌时,凑出顺子、对、两对、三条、四条…的概率,并排列
编程题
已知二叉树前序遍历和中序遍历,求后序遍历的结果。
篇4:笔试题目无线增值系统应用开发工程师
笔试题目(无线增值系统应用开发工程师)
选择题
1:设int型变量x有初始值3,则表达式x++*5/10的值是
A.0
B.1
C.2
D.3
2:C语言的长整型数值在计算机中占用的字节个数是
A.1
B.2
C.3
D.4
3:main
{ int x,y;
x=y=1;
y=++x;
printf( ″ %d,%d ″ ,x,y);
}
程序运行结果为
A.2,2
B.1,2
C.2,1
D.1,1
4:设有变量说明语句int a=1,b=0;
则执行以下程序段的.输出结果为( ),
switch (a)
{
case 1:
switch (b)
{
case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
printf(“ ”);
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误
5:C 语句“ x*=y+2 ;”还可以写作
A.x=x*y+2;
B.x=2+y*x;
C.x=x*(y+2);
D.x=y+2*x;
6:设 int m1=5,m2=3;表达式m1>m2?m1=1:m2=-1运算后,m1和m2的值分别是
篇5:普康数码科技CE开发工程师笔试题目
分享普康数码科技CE开发工程师笔试题目
选择题
1:在软件生命周期中,下列哪个说法是不准确的?
A.软件生命周期分为计划、开发和运行三个阶段
B.在计划阶段要进行问题焉醛和需求分析
C.在开发后期要进行编写代码和软件测试
D.在运行阶段主要是进行软件维护
2:public static void Main(string[] args)
{
int i = ;
object o = i;
i = ;
int j =(int) o;
Console.WriteLine(“i={0},o={1}, j={2}”,i,o,j);
}
A.i=2001,o=2000,j=2000
B.i=2001,o=2001,,j=2001
C.i=2000,o=2001,,j=2000
D.i=2001,o=2000,j=2001
3:在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket侦听、( )、利用Socket接收和发送数据,
A.建立Socket连接
B.获得端口号
C.获得IP地址
D.获得主机名
4:设有变量说明语句int a=1,b=0;
则执行以下程序段的输出结果为( )。
switch (a)
{
case 1:
switch (b)
{
case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
printf(“ ”);
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误
5:声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是
A.void myCallBack(int x)
B.int receive(int num)
C.string receive(int x)
D.不确定的
6:关于ASP.NET中的代码隐藏文件的描述正确的是:
A.Web窗体页的程序的逻辑由代码组成,这些代码的.创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件
B.项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件
C.项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件
D.以上都不正确
7:如果设treeView1=new TreeView(),TreeNode node=new TreeNode(“根结点” ),则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。
A.TreeNode
B.int
C.string
D.TreeView
8:以下的C程序代码片段运行后C和d的值分别是多少
Int a =1,b =2;
Int c,d;
c =(a&b)&&a;
d =(a&&b)&a;
A.0,0
B.0,1
C.1,0
D.1,1
9:What compiler switch creates an xml file from the xml comments in the files in an assembly?
A./text
B./doc
C./xml
D./help
10:Which of the following operations can you NOT perform on an ADO.NET DataSet?
A.A DataSet can be synchronised with a RecordSet.
B.A DataSet can be synchronised with the database.
C.A DataSet can be converted to XML.
D.You can infer the schema from a DataSet
11:In Object Oriented Programming, how would you describe encapsulation?
A.The conversion of one type of object to another.
B.The runtime resolution of method calls.
C.The exposition of data.
D.The separation of interface and implementation.
12:如下程序的运行结果是:
public abstract class A
{
public A()
{
Console.WriteLine(''A'');
}
public virtual void Fun()
{
Console.WriteLine(“A.Fun()”);
}
}
public class B: A
{
public B()
{
Console.WriteLine(''B'');
}
public new void Fun()
{
Console.WriteLine(“B.Fun()”);
}
public static void Main()
{
A a = new B();
a.Fun();
}
}
A.A B A.Fun()
B.A B B.Fun()
C.B A A.Fun()
D.B A B.Fun()
13:Which of these string definitions will prevent escaping on backslashes in C#?
A.string s = #”n Test string”;
B.string s = “’n Test string”;
C.string s = @”n Test string”;
D.string s = “n Test string”;
14:假定a和b为int型变量,则执行下述语句组后,b的值为
篇6:阿里前端开发工程师笔试题
1、补充下面的函数,判断p为Array
function isArray(p){
return Object.prototype._____.apply(p)==='_____';
}
2、请写一个表格以及对应的CSS,使表格奇数行为白色背景,偶数行为灰色背景,鼠标移上去时为黄色背景。
3、实现一个程序,输入为一段英文文本,示例如下:
Alibaba Group Holding Limited is a Chinese e-commerce company that provides consumer-to-consumer, business-to-consumer and business-to-business sales services via web portals. It also provides electronic payment services, a shopping search engine and data-centric cloud computing services. The group began in when Jack Ma founded the website Alibaba.com, a business-to-business portal to connect Chinese manufacturers with overseas buyers. In 20xx, two of Alibaba’s portals handled 1.1 trillion yuan ($170 billion) in sales.
统计这段文本中单词的出现频率、分布区间,要求如下:
1. 仅统计英文单词,1999 $170 1.1 标点符号之类的不算做单词
2. 区间分 4个:少(出现1-5次)、中(出现6-10次)、高(出现 11-20),极高(出现 >20 次) ,给出每个区间单词数目在总单词数中的百分比
3. 返回如下的 JSON 对象:
{
'occurrence': [/ 数据元素的第一个元素为单词,第二个位出现次数/
['alibaba', 10]
['consumer', 10]
['business', 8]
],
'distribution': {
'high': '30%',
'low': '20%',
'medium': '40%',
'veryHeigh': '10%',
}
篇7:应用系统开发工程师笔试题目
一、填空题(每题2分,共30分)
1、信令网分为三级结构,它们是(HSTP)、(LSTP)、(STP),
2、在GPRS网络中,手机从(GGSN)获得IP地址。
3、GSM系统使用的频段,上行频段为(890MHZ-915MHZ)。
4、GSM中的信道分为物理信道和(逻辑信道)信道。
5、使用工具(browser)来观察中断向量表。
6、SQL 语言是一种非过程性语言,它可以(嵌入)在宿主语言中使用,也可以独立地交互式使用。
7、与二进制数100101.001101等值的十进制数是(37.203125),等值的十六进制数是(25.34)。
8、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(CASE)工具。
9、软件开发模型用于指导软件的开发。演化模型是在快速开发一个(原型)的基础上,逐步演化成最终的软件。
10、一个完整的程序必须完成三个层次的过程,它们分别是编码、测试和(排错或纠错)。
11、一台计算机具有比较高的MTBF值,其含义是指(该计算机的可靠性比较高)。
12、在某应用软件的安装说明书中指出,该软件的运行环境是“Windows 98 SE”,这里的SE是指(第二版或Second Edition)。
13、在软件质量特性中,(可靠性)是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;(安全性)是指防止对程序及数据的非授权访问的能力。
14、计算机网络中对等实体间通信时必须遵循约定的标准协议。不同的协议有不同的功能,如:(SNMP)用于网络管理。
15、在软件开发过程中常用图作为描述工具。DFD就是面向数据流分析方法的描述工具。在一套分层DFD中,如果某一张图中有N个加工(process),则这张图允许有(0~N)张子图。
二、单项选择题(每题2分,共30分)
1、地址码长度为24位时,其寻址范围为(D)。
A、512KB B、1MB C、24MB D、16MB
2、软件测试工具中(B)对源程序的数据流和控制流进行分析,发现语义错误。
A.动态分析工具 B.静态分析工具 C.模拟工具 D.测试管理工具
3、一般来说,在软件维护过程中,大部分工作是由(C)引起的。
A.适应新的软件环境B.适应新的硬件环境C.用户的需求改变 D.程序的可靠性
4、(C)的修改不归结为软件的维护工作。
A.文档 B.数据 C.需求分析 D.代码
5、(B)是Windows NT 真正的中心,它提供了一组操作系统原语和机制。
A.进程 B.内核 C.线程 D.管程
6、通常在软件项目开发过程中,我们希望首先实现(B)的用例。
A.风险最小 B.风险最大 C.风险中等 D.任意风险
7、(A)测试是由一个用户在开发者的场所来进行的,测试的目的是寻找错误的原因并改正之。
A.alpha B.beta C.gamma D.delta
8、在下列操作系统的各个功能组成部分中,(A)不需要有硬件的支持。
A、进程调度 B、时钟管理 C、地址映射 D、中断系统
9、数据流图(DFD)是软件开发(A)阶段经常使用的工具。
A、需求分析 B、详细设计 C、软件测试 D、软件维护
10、在UNIX系统中,下列(A)命令属于目录管理的常用命令。
A、Pwd B、pr C、ln D、find
11、在WWW服务中,用户的信息检索可以从一台Web Server自动搜索到另一台Web Server。它所使用的技术是(A)。
A、hyperlink B、hypertext C、hypermedia D、HTML
12、假设就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms。则系统开销所占的比率约为(B)。
A、1% B、5% C、10% D、20%
13、下列不属于Internet特点的是(A )
A、安全性 B、全球性 C、开放性 D、平等性
14、在ASP中的默认情况下,当创建对象实例时,该对象的作用域是(C ),
A、行作用域 B、函数/过程作用域 C、页作用域 D、全局作用域
15、对PHP的支持比较完善,无须经过特殊设置就可以进行PHP的开发和调试的操作系统是(B)。
A、Windows B、Linux C、Unix D、NetWare
三、多项选择题(每题2分,共20分)
1、PDP上下文状态记录在以下(AC)网络单元中。
A、MS B、BSC C、GGSN D、HLR
2、系统软件一般包括(ABCD)。
A、服务性程序 B、语言处理程序 C、操作系统 D、数据库管理系统
3、对于辅助存储器,(BE)的提法是正确的。
A、不是一种永久性的存储设备 B、能永久的保存信息 C、可被中央处理器直接访问 D、是CPU与主存之间的缓冲存贮器E、是文件的主要存储介质
4、UNIX系统中进程由三部分组成:进程控制块,正文段和数据段。这意味着一个程序的正文与数据可以是分开的,这种分开的目的是为了(ABC)。
A、可共享正文B、可共享数据 C、可重入 D、方便编程 E以上全部
5、项目计划主要包括(BCDE)。
A、硬件设备选择 B、风险和假设 C、目标 D、时间表 E、预算
6、关于IP地址下列说法正确的是(ABE)。
A、IP地址采用分层结构,它由网络号与主机号两部分组成
B、根据不同的取值范围IP地址可以分为五类
C、202.112.139.140属于B类地址
D、B类IP地址适用于有大量主机的大型网络
E、每个C类网络的主机号数最多为28个
7、关于域名系统和域名服务,下列说法正确的有(BCDE)。
A、Internet域名格式一般是:顶级域名.二级域名.三级域名.四级域名
B、Internet的域名结构是由TCP/IP协议集的域名系统(DNS)来定义的
C、顶级域的划分采用了两种划分模式:组织模式和地理模式
D、中国互联网信息中心负责管理我国的顶级域
E、域名解析包括两种方式:正向域名解析和反向域名解析
8、在BODY的属性中,和颜色有关的属性包括(ABCDE)。
A、ALINK B、BGCOLOR C、LINK D、TEXT E、VLINK
9、属于逻辑运算符的是(ABE)。
A、and B、or C、= D、+ E、xor
10、WWW页面访问的大致过程如下:用户在浏览器中输入要访问的 WWW 页面的(A)地址(hostnane/dirctory/fi1e);浏览器通过(D)查询上述输入信息所指的Web服务器的IP 地址;浏览器通过网络与该 IP 地址处的' Web 服务器的HTTP服务端口间建立一条TCP连接;浏览器依照相关协议发送GET命令;Web 服务器根据命令取出文档,发送回来;浏览器释放连接,显示该文档。
A、URL B、EMS C、NDS D、DNS E、NAT
四、判断题(每题2分,共20分)
1、分布式数据库系统中透明性层次越高,应用程序的编写越难。F
2、一个类可以从直接的或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的共享性。T
3、设关系模式R(A,B,C),F是R上成立的FD集,F={B→A,B→C},则分解ρ={AB,AC}丢失的FD是B→A。F
4、DB并发操作通常会带来三类问题,它们是丢失更新、不一致分析和读脏数据。T
5、UML是一种面向对象的统一建模语言。它包含十种图,其中,用例图展示了外部actor与系统所提供的用例之间的连接,UML中的外部actor是指人员或外部系统。T
6、实践中存在许多种软件风险,如“潜在的设计、实现、维护等方面的问题”属于项目风险。F
7、通常在软件项目开发过程中,我们希望首先实现风险最大的用例。T
8、如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,alpha测试是由软件的最终用户在一个或多个用户实际使用环境下来进行的。F
9、进程的最基本状态有就绪、运行、隐蔽。F
10、虚拟存储器的作用是允许程序直接访问比内存更大的地址空间。T
篇8:阿里巴巴C++工程师笔试题目
阿里巴巴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” 了。
【阿里开发工程师笔试题目】相关文章:
4.笔试题目
5.格力笔试题目
6.CAD笔试题目
7.外管局笔试题目
8.索尼笔试题目
9.星巴克笔试题目
10.外企笔试题目






文档为doc格式