【导语】“youyoueleven”通过精心收集,向本站投稿了8篇阿里巴巴秋季校园招聘软件研发工程师笔试题,以下是小编为大家整理后的阿里巴巴秋季校园招聘软件研发工程师笔试题,希望对您有所帮助。
- 目录
篇1:阿里巴巴秋季校园招聘软件研发工程师笔试题
阿里巴巴秋季校园招聘软件研发工程师笔试题
1. 单选题
1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数
A: h(K)=K/N;
B: h(K)=1;
C: h(K)=K mod N;
D: h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整数
答案:D
2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:
A: 堆排序 B:插入排序
C: 冒泡排序 D:快速排序
答案:A(插入排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)
冒泡排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)
快速排序:最优时间复杂度O(nlogn)最差时间复杂度O(n^2)平均时间复杂度O(nlogn)
堆排序:最优时间复杂度O(nlogn)最差时间复杂度O(nlogn)平均时间复杂度O(nlogn))
3. 下面说法错误的是:
A: CISC计算机比RISC计算机指令多
B: 在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间
C:增加流水线段数理论上可以提高CPU频率
D:冯诺依曼体系结构的主要特征是存储程序的工作方式
答案:B
4. 不属于冯诺依曼体系结构必要组成部分是:
A:CPU B: Cache C:RAM D:ROM
答案:B
5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是:
A:DECBA B:DCEBA C:ECDBA D:ABCDE
答案:C
6.你认为可以完成编写一个C语言编译器的语言是:
A:汇编 B:C语言 C:VB D:以上全可以
答案:D
7. 关于C++/JAVA类中的static成员和对象成员的说法正确的.是:
A:static成员变量在对象构造时候生成
B: static成员函数在对象成员函数中无法调用
C: 虚成员函数不可能是static成员函数
D: static成员函数不能访问static成员变量
答案:A
8:
答案:C
9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:
A: 从就绪变为运行 B:从运行变为就绪
C: 从运行变为阻塞 D:从阻塞变为就绪
答案:C
10:下面算法的时间复杂度为:
Int f(unsigned int n)
{
If(n==0||n==1)
Return 1;
Else
Return n*f(n-1);
}
A: O(1) B:O(n) C:O(N*N) D:O(n!)
答案:B
11: n从1开始,每个操作可以选择对n加1或者对n加倍,若想获得整数2013,最少需要多少个操作。
A:18 B:24 C:21 D;不可能
答案:A, 对2013用除法,显示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->1
正向只能是+1和×2,所以逆向只能-1和/2,由上过程可得18次
12:对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:
A: n B: n+1 C: n-1 D:n+边数
答案:A
13:
答案:A.对于几何中的每个字符串取hash可以看作是同分布的独立重复事件,所以每一个事件出现10的概率都是p=1/1024,那么当出现的时候,期望的次数就是1/p,1024.
14:如下函数,在32bit系统foo(2^31-3)的值是:
Int foo(int x)
{
Return x&-x;
}
A: 0 B: 1 C:2 D:4
答案:B
15:对于顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为:
A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)
答案:C
16:在32为系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:
Struct A
{
Int a;
short b;
int c;
char d;
};
Struct B
{
int a;
short b;
char c;
int c;
};
A: 16,16 B:13,12 C:16,12D:11,16
答案:C
17:袋中有红球,黄球,白球各一个,每次任意取一个放回,如此连续3次,则下列事件中概率是8/9的是:
A: 颜色不全相同 B:颜色全不相同C:颜色全相同D:颜色无红色
答案:A
18:一个洗牌程序的功能是将n张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:
A: 每张牌出现在n个位置上的概率相等
B: 每张牌出现在n个位置上的概率独立
C: 任何连续位置上的两张牌的内容独立
D: n张牌的任何两个不同排列出现的概率相等
答案:A
19:用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:
A: 10 B:11 C:14: D:15
答案:C
解释:应该有14种方案,设只有黑白两色,默认白色,那么,用p(n)表示有n个黑棋的种类
p(0)=p(6)=1
p(1)=p(5)=1
p(2)=p(4)=3 //相邻的一种,隔一个的一种,两个的一种
p(3)=4 //都相邻的一种,BB0B的一种,BB00B的一种,B0B0B的一种,一共4种
综上是14种
20:递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:
A: O(n) B:O(d) C:O(logn) D:(nlogn)
答案:B
篇2:阿里巴巴秋季校园招聘研发工程师在线笔试题
阿里巴巴秋季校园招聘研发工程师在线笔试题
1. 下列关键字序列为堆的是 ,
A. 100, 60, 70, 50, 32, 65
B. 60, 70, 65, 50, 32, 100
C. 65, 100, 70, 32, 50, 60
D. 70, 65, 100, 32, 50, 60
E. 50, 100, 70, 65, 100, 32
2. 如果一个博物馆参观者到达的速率是20人/min,平均每个人在馆内停留20分钟,那么该博物馆至少需要容纳 人才行?
A. 100 B. 200 C. 300 D. 400 E. 500 F. 600 G. 700 H. 800
3. 计算三个稠密矩阵A, B, C的乘积ABC,假定三个矩阵的尺寸分别为m*n,n*p, p*q,且m
A. (AB)C
B. A(BC)
C. (AC)B
D. (BC)A
E. (CA)B
4. 通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的',并且经过一个非常大循环会回到第一个数的状态,然后周而复始。显然,摇号、抽奖的程序是不能通过伪随机数来实现的。显示中常常基于某种热噪声来实现真正的伪随机数。假定某热噪声是标准正态分布,那么能否将它转换成(0, 1)区间上的均匀分布?
A. 无法转换为(0, 1)区间上的均匀分布
B. 信息不足,无法判断
C. 借助伪随机数生成算法可以转换为(0, 1)区间上的均匀分布
D. 仅仅靠伪随机数生成算法,就可以生成(0,1)区间上的均匀分布
E. 以上说法都不对
5. 有一个用数组C[1…m]表示的环形队列,m为数组长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列飞空,则计算队列中元素的个数的公式应为 ?
A. (m+r-f) mod m
B. r-f
C. (m-r+f) mod m
D. (m-r-f) mod m
E. (r-f) mod m
F. 需要判断边界
6. 某足球队有四名外援,分别来自巴西、荷兰、意大利和美国,
他们分别擅长前锋、后卫或守门。其中:
(1) 美国外援单独擅长守门;
(2) 意大利外援不擅长前锋;
(3) 巴西外援和另外某个外援擅长相同的位置;
(4) 荷兰外援擅长的位置和巴西外援不同。
以上条件可以推出巴西外援擅长的位置是 。
A. 前锋 B. 守门 C. 后卫 D. 前锋或守门 E. 后卫或守门 F. 前锋或后卫
7. 二分查找树里查询一个关键字的最坏时间复杂度为 。
A. O(n) B. O(nlogn) C. O(n^2) D. O(n^3) E. O(logn) F. 不确定
8. 在小端序的机器中,如果
union X{
int x;
char y[4];
};
如果:
X a;
a.x = 0x11223344; //16进制
则:
A. a.y[0] = 11
B. a.y[1] = 11
C. a.y[2] = 11
D. a.y[3] = 11
E. a.y[0] = 22
F. a.y[3] = 22
9. 假设某段通信电文仅有6个字母ABCDEF组成,字母在电文中出现的概率分别为2, 3, 7, 15, 4, 6.根据这些频率作为权值构造哈夫曼编码,最终构造出的哈夫曼树带权路径长度与字母B的哈夫曼编码分别为 。
A. 86, 1011
B. 70, 1000
C. 86, 0001
D. 70, 0100
E. 92, 1000
F. 92, 0100
10. 并发进程执行的相对速度是 。
A. 由进程的程序结构决定
B. 由进程本身来控制
C. 进程被创建时决定
D. 与进程度策略有关
E. 与进程销毁时间有关
F. 由内存分配策略决定
篇3:腾讯校园招聘软件研发笔试题
腾讯校园招聘软件研发笔试题
在机缘巧合下参加了腾讯校园招聘笔试,其中有一道有关fork的题目比较经典,转载网上一篇文章,原文如下:
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下,这个题是这样的:
题目:请问下面的程序一共输出多少个“-”?
#include
#include
#include
int main(void)
{
int i;
for(i=0; i<2; i++)
{
fork();
printf(“-”);
}
return 0;
}
如果你对fork()的机制比较熟悉的话,这个题并不难,输出应该是6个“-”,但是,实际上这个程序会很tricky地输出8个“-”。
要讲清这个题,我们首先需要知道fork()系统调用的特性,
fork()系统调用是Unix下以自身进程创建子进程的系统调用,一次调用,两次返回,如果返回是0,则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid),这是众为周知的。
还有一个很重要的东西是,在fork()的调用处,整个父进程空间会原模原样地复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。
所以,上面的那个程序为什么会输入8个“-”,这是因为printf(“-”);语句有buffer,所以,对于上述程序,printf(“-”);把“-”放到了缓存中,并没有真正的输出,在fork的`时候,缓存被复制到了子进程空间,所以,就多了两个,就成了8个,而不是6个。
另外,多说一下,我们知道,Unix下的设备有“块设备”和“字符设备”的概念,所谓块设备,就是以一块一块的数据存取的设备,字符设备是一次存取一个字符的设备。磁盘、内存都是块设备,字符设备如键盘和串口。块设备一般都有缓存,而字符设备一般都没有缓存。
对于上面的问题,我们如果修改一下上面的printf的那条语句为:
printf(“-\\n”);
或是
printf(“-”);
fflush(stdout);
就没有问题了(就是6个“-”了),因为程序遇到“\\n”,或是EOF,或是缓中区满,或是文件描述符关闭,或是主动flush,或是程序退出,就会把数据刷出缓冲区,
需要注意的是,标准输出是行缓冲,所以遇到“n”的时候会刷出缓冲区,但对于磁盘这个块设备来说,“n”并不会引起缓冲区刷出的动作,那是全缓冲,你可以使用setvbuf来设置缓冲区大小,或是用fflush刷缓存。
我估计有些朋友可能对于fork()还不是很了解,那么我们把上面的程序改成下面这样:
#include
#include
#include
int main(void)
{
int i;
for(i=0; i<2; i++){
fork();
//注意:下面的printf有“n”
printf(“ppid=%d, pid=%d, i=%d n”, getppid(), getpid(), i);
}
sleep(10); //让进程停留十秒,这样我们可以用pstree查看一下进程树
return 0;
}
于是,上面这段程序会输出下面的结果,(注:编译出的可执行的程序名为fork)
ppid=8858, pid=8518, i=0
ppid=8858, pid=8518, i=1
ppid=8518, pid=8519, i=0
ppid=8518, pid=8519, i=1
ppid=8518, pid=8520, i=1
ppid=8519, pid=8521, i=1
$ pstree -p | grep fork
|-bash(8858)-+-fork(8518)-+-fork(8519)---fork(8521)
| | `-fork(8520)
面对这样的图你可能还是看不懂,没事,我好事做到底,画个图给你看看:
注意:上图中的我用了几个色彩,相同颜色的是同一个进程。于是,我们的pstree的图示就可以成为下面这个样子:(下图中的颜色与上图对应)
这样,对于printf(“-”);这个语句,我们就可以很清楚的知道,哪个子进程复制了父进程标准输出缓中区里的的内容,而导致了多次输出了。(如下图所示,就是我阴影并双边框了那两个子进程)
篇4:百度校园招聘研发工程师笔试题
,
(15分)
2,给定一个如下格式的字符串(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,请实现一个算法消除嵌套的括号,比如把上面的表达式变成:(1,2,3,4,5,6,7),如果表达式有误请报错。(15分)
篇5:阿里校园招聘研发工程师笔试题
阿里校园招聘研发工程师笔试题
1. 某团队有2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的至少有人
A. 3 B. 4 C. 5 D. 8 E. 15 F. 20
2. 某团队负责人接到一个紧急项目,他要考虑在代号为ABCDEF这6个团队成员中的部分人员参加项目开发工作,人选必须满足一下各点:
AB两人中至少一个人参加
AD不能都去
AEF三人中要派两人
BC两人都去或都不去
CD两人中有一人参加
若D不参加,E也不参加
那么最后()参加紧急项目开发。
A. ECEF B. AF C. ECF D. F E. ABCF F. ECDEF
3. 对立双方争夺一个价值为1的商品, 双方可以采纳的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价;如果一个为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:
A. 0.2 B. 0.4 C. 0.5 D. 0.7 E. 0.8 F. 以上都不对
4. 在小端机器中,如果
union X{
int x;
char y[4];
};
如果:
X a;
a.x=0x11223344; //16进制
则:
A. a.y[0]=11
B. a.y[1]=11
C. a.y[2]=11
D. a.y[3]=11
E. a.y[0]=22
F. a.y[3]=22
5. 在以下操作中,数组比线性表速度更快的是()
A. 原地逆序
B. 头部插入
C. 返回中间节点
D. 返回头部节点
E. 选择随机节点
6. Linux系统某个可执行文件属于root并且有setid, 当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是()
A. root mike B. root root C. mike root D. mike mike E. deamon mike F. mike deamon
7. 有4个进程A、B、C、D,设它们依次进入就绪队列,因相差实际很短可视为同时到达。4个进程按轮转法分别运行11,7,2和4个时间单位,设时间片为1。四个进程的平均周转时间为()
A. 15.25 B. 16.25 C. 16.75 D. 17.25 E. 17.75 F. 18.25
8. 在一个双向循环链表中,指针p所指向的节点(非尾节点)之后插入指针s所指向的节点,其修改指针的操作是()
A. p->next=s; s->prev=p; p->next->prev=s; s->next=p->next;
B. p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;
C. p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;
D. s->prev=p; s->next=p->next; p->next->prev=s; p->next=s;
E. s->next=p->next; s->prev=p; p->next=s; p->next->prev=s;
9. 下列选项中,()是一个典型的'TCP客户端(主动建立连接,主动关闭连接)
A. SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT
B. SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->CLOSE_WAIT
C. SYNC_SENT->SYNC_RCVD->ESTABLISHED->FIN_WAIT1->FIN_WAIT2
D. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->LAST->ACK
E. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->FIN_WAIT1
F. SYNC_SEND->ESTABLISHED->FIN_WAIT1->TIME_WAIT->CLOSE_WAIT
10. 已知一个二叉树的前序遍历结果是(ACDEFHGB), 中序遍历结果是(DECAHFBG), 请问后序遍历结果是()
A. HGFEDCBA
B. EDCHBGFA
C. BGFHEDCA
D. EDCBGHFA
E. BEGHDFCA
F. BGHFEDCA
11. 一个博物馆以每分钟20人的速度进入,平均每人待20分钟,问博物馆至少需要容纳()人
A. 100 B. 200 C. 300 D. 400 E. 500
12. 个数为50k的数列,需进行从小到大排序,数列特征基本逆序(多数数字从大到小,个别数字乱序),以下哪种排序算法在事先 不了解数列特征的情况下能大概率最优(不考虑空间限制)()
A. 冒泡排序 B. 改进冒泡排序 C. 选择排序 D. 快速排序 E.堆排序 F.插入排序
13. 在动态内存分配(C语言的malloc,C++的new),得到的存储区在内存中的()
A. 静态区 B.堆(heap) C. 栈(stack) D. 堆栈 E. 内核内存 F. 不确定
14. “村长”带着4对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄,
村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么4对父子在圆桌上共有几种坐法。(旋转一下,每个人面的的方向变更后算是一种新的坐法)()
A. 144 B.240 C. 288 D.480 E. 576 F. 960
15. 每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。通过5台物理机虚拟出的100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是()
A. 单台虚拟机的故障率高于单台物理机的故障率
B. 这100台虚拟机发生故障是彼此独立的
C. 这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数
D. 无法判断这100台虚拟机和100台物理机哪个更可靠
E. 如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同
F. 可能有一段时间只有1台虚拟机发生故障
16. 下列C代码中,不属于未定义行为的有()
A. int i=0;i=(i++);
B. char *p=“hello”; p[1]='E';
C. char *p=“hello”; char ch=*p++;
D. int i=0;printf(“%d %d\\n”, i++, i—);
E. 都是未定义行为
F. 都不是未定义行为
17. 带头节点的单链表head为空的判断条件是()
A. head==null
B. head->next==null;
C. head->next==head;
D. head!=null;
E. *head==null;
F. *(head->next)==null;
18. 甲乙两路发车间隔均为10分钟的公交车发车时刻分钟数个位分别为1和9,那么对于一个随机到达的乘客,ta乘坐甲车的概率为
A. 0.1 B.0.2 C. 0.3 D. 0.4 E. 0.5 F. 0.9
19. 20. 都忘记了
简答题
1. 给定一个query和一个text,均由小写字母组成。要求在text中找出以同样顺序连续出现在query中最长连续字母序列的长度。例如,query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字符序列,因此,返回结果应该为其长度3。请注意程序效率。
2. 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵树中相差最大的两个节点间的差的绝对值。请注意程序效率。
3. Java中wait方法和sleep方法有什么区别。
篇6:阿里巴巴秋季校园招聘前端在线笔试题
阿里巴巴秋季校园招聘前端在线笔试题
由于错过了报名时间,博主昨天才知道原来阿里巴巴秋季校园招聘已经开始了,本来以为没有机会参加了,但是昨天晚上急急忙忙填写了一份简历,今天居然可以考试,还是有点小激动的,哈哈。
由于今天是亲身参与,时间紧急,有些题目博主自己也不记得,或者说有些题目由于能力有限,自己也不会,这里仅仅提供博主在考试的时候做出来的题目。
1.找出下面优先级相同的选择器
A. img.thumb:after B.[data-job=“frontend”]::first-letter
C. #main::before D. [type=“checkbox”]:checked E. ul#shop-list
要解这道题,首先需要知道怎么计算选择器的优先级,《CSS实战手册》里面提到过,CSS为选择器的权值提供了一个公式:
(1): 一个标签选择器值1分
(2):一个类选择器值10分
(3):属性选择器值10分
(3):一个ID选择器值100分
(4):一个内建样式值1000分
(5):伪元素(如first-line)通常被当做类选择器对待,值1分
(6):伪类则被当做类对待,值10分
根据上面的规则,我们一个个来分析:
A: img == 1分 .thumb == 10分 :after == 1分 总分1 + 10 + 1 = 12
B: [data-job=“frontend”] == 10分 ::first-letter == 1分 总分10 + 1 = 11分
C:#main == 100分 ::before(伪元素) == 1分 总分100 + 1 == 101分
D:[type=“checkbox”] == 10分 :checked == 10分 总分10 + 10 = 20分
E: ul == 1分 #shop-list == 100分 总分100 + 1 == 101分
所以这道题的答案应该是:C E
2. 常用的git操作有
A .Add B.Push C.Mkdir D.Fetch E.Mv F.Merge G.Tag
对于这里的.关键词“常用”,也是没有一个明显的界限的,你要是用的多,就叫常用。下面非别分析:
A: add:将当前工作目录中更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。
B: push:将本地commit的代码更新到远程版本库中,例如 “git push origin”就会将本地的代码更新到名为orgin的远程版本库中。
C:mkdir:应该不属于git常用操作的范围。
D:fetch:从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最新代码)
E: mv: 重命名一个文件、目录或者链接。
F:merge:把服务器上下载下来的代码和本地代码合并。或者进行分支合并。
G:tag: 创建、列出、删除或者验证一个标签对象(使用GPG签名的)。
所以这一题应该是选:A B C E F G
3.以下哪些是Javascript语言typeof可能返回的结果
A.string B.array C.object D.null
这一道题考验记忆能力,因为了解typeof的人都知道,这个操作符基本是没什么作用的。typeof操作符的作用在Javascript里面有详细解释:
“underfined”--如果这个值未定义
“boolean”--如果这个值是布尔值
“string”--如果这个值是字符串
“number”--如果这个值是数值
“object”--如果这个值是对象或者null
“function”--如果这个值是函数
显而易见的,答案是A C
4. 请写出个人github地址
5. 请简述异步加载的JS里有document.write会有什么问题
异步加载js的意思是在加载页面的时候不加载js,也就是在页面加载完成之后才加载js,但是如果js里面有document.write,就会产生一个问题:页面会被document.write里面的内容重写。
6.
有dom结构如上,请用原生代码(禁用jQuery作答)实现以下功能:
(a)计算鼠标在mod-spm区域内的停留时长,data-spm不同视为不同区域
(b)尽量减少性能损耗
(c)重复进入计时累加
这题是最浪费时间的,直接上代码:
1 function ShowStayTime(obj) {
2 this.obj = obj;
3 this.totalTime = 0;
4 this.enterTime = null;
5 this.divTime= document.createElement('div');
6 }
7 ShowStayTime.prototype = {
8 constructor:ShowStayTime,
9 init: function() {
10 this.showStayTime();
11 this.obj.appendChild(this.divTime);
12 this.beginTime();
13 this.leaveTime();
14 },
15 showStayTime: function() {
16 var message = “”;
17 message = “停留时间” + this.totalTime + “ms”;
18 this.divTime.innerText = message;
19 },
20 beginTime: function() {
21 this.obj.addEventListener(“mouseenter”,function() {
22 this.enterTime = new Date();
23 })
24 },
25 leaveTime: function() {
26 var temp = this;
27 this.obj.addEventListener(“mouseleave”,function() {
28 temp.totalTime += new Date().getTime() - this.enterTime.getTime();
29 temp.showStayTime();
30 })
31 }
32 }
33 var divs = document.getElementsByClassName('mod-spm');
34 var show1 = new ShowStayTime(divs[0]);
35 var show2 = new ShowStayTime(divs[1]);
36 var show3 = new ShowStayTime(divs[2]);
37 show1.init();
38 show2.init();
39 show3.init();
实现数据打点的函数,
1 function adddot(num) {
2 var temp = new Array();
3 for (var i = 0;i < num.length;i++) {
4 temp.push(num[i]);
5 }
6 if (num.length < 4) {
7 return num;
8 }
9 for (var i = num.length - 3;i >= 0;i -= 3) {
10 if (i >0) {
11 temp.splice(i,0,'.');
12 }
13 }
14 return temp.join(“”);
15 }
10.有字符串var str = “abc345efgabcab”,请写三条js语句分别实现如下三个功能:
1)去掉字符串中的a、b、c字符,形成结果:“345efg”
2)将字符串中的数字用括号括起来,形成结果“abc[3][4][5]efgabcab”
3) 将字符串中的每个数字的值分别乘2,形成结果:“abc6810efgabcab”
这题很显然是考察正则表达式:
1 var s1 = str.replace(/[abc]/g,'');
2 var s2 = str.replace(/[\\d]/g, function(arg1){return '['+arg1+']'});
3 var s3 = str.replace(/[\\d]/g, function(arg1){return arg1*2;});
11从前端工程师的角度如何提高客户体验.
最后,再次声明,本人只是本科二年级的学生,所作出的解答只是具有参考性,如有错误,欢迎指出~
篇7:百度校园招聘成都软件研发岗笔试题
百度校园招聘成都软件研发岗笔试题
一、简答题(本题共30分)
1. 当前计算机系统一般会采用层次结构来存储数据,请介绍下典型的计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分)
2. Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免?(10分)
3. 简述Unix/Linux系统中使用socket库编写服务器端程序的流程,请分别用对应的socket通信函数表示(10分)
二、算法与程序设计题(本题共45分)
1. 使用C/C++编写函数,实现字符串反转,要求不使用任何系统函数,且时间复杂度最小,函数原型:char* reverse_str(char* str),(15分)
2. 给定一个如下格式的字符串,(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,请实现一个算法消除嵌套的括号,比如把上面的表达式变成:(1,2,3,4,5,6,7),如果表达式有误请报错。(15分)
3. (见下图)
三、系统设计题(本题共25分)
在企业中,对生产数据进行分析具有很重要的`意义,但是生产数据通常不能直接用于数据分析,通常需要进行抽取、转换和加载,也就是通常说的ETL。
为了便于开发和维护,并提高数据实时性,通常将一个完整的ETL过程分为多个任务,组成流水线,如下图所示:
假设任务定义和任务之间的依赖关系都保存在文件中,文件格式分别如下:
问题:
1. 下面是ETL调度系统的模块图,请描述各个模块呃主要职责,以及各个线条的 含义,
(10分)
2. 添加依赖关系时要避免出现环,假设系统同一个时刻只允许一个人添加任务依赖,请实现一个函数来检查新的依赖是否导致环,依赖的上游存在环会导致非正常的调度,因此也希望能避免。(10分)
a) 函数名:checkCycle
b) 输入:pairs,已存在的依赖关系((pre,post)……), newPair新的依赖关系(pre,post)
c) 输出:True: 不存在环,False: 存在环
3. 如果调度时,某个任务在其依赖的任务之前执行,必然导致错误,请实现调度算法,确保任务按照依赖顺序执行?(10分)
a) 函数名:schedule
b) 输入1:tasks,整数数组;
c) 输入2:task-relation,二元组数组,每个二元组表示一组关系;
d) 输出:task id序列,并行执行的用“,”分隔,其他的用“;”分隔;
4. 给定一个任务,如何计算出他的最晚完成时间?(10分)
a) 函数名:calMaxEndTime
b) 输入1:tasks,3元组数组,(task_id, start_time, max_run_time);
c) 输入2:task-relations,二元组数组,每个二元组表示一组关系;
d) 输入3:task-id
e) 输出:最晚完成时间;
篇8:百度校园招聘软件开发测试JAVA工程师笔试题
,
这套Push系统是一个基础服务系统,不包括具体业务逻辑,是一个开放系统,开放给第三方应用开发者使用。请基于手机系统的'一些特性,来设计这套Push系统。
1) 描述手机端部分设计时,需要考虑的关键性能指标有哪些
2) 画出手机端程序结构图
3) 画出第三方程序使用这套系统时所涉及到的相关部分系统结构图
4) 你觉得基于这套系统能够开发一个什么样的第三方程序,并举一个例子
★ 测试工程师笔试题
阿里巴巴秋季校园招聘软件研发工程师笔试题(共8篇)




