笔试真题 ALBB-2015 算法工程师实习生 笔试真题 解析

1.用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0。

【解析】

计算N!下3进制结果末尾有多少个0,其实就是计算3进制中的3被进位多少次,只要将N!因式分解成3^m*other,m就是答案。技巧性的解法就是m=N/3+N/(3^2)+N/(3^3)....+N(3^k) (k<=N/3) —— N=30;N/3+N/9+N/27=14。

2.小赵和小钱二人分别从寝室和图书馆同时出发,相向而行。过了一段时间后二人在中途相遇,小赵继续向图书馆前进,此时:若小钱继续向寝室前进,则当小赵到达图书馆时,小钱离寝室还有600米;若小钱立即折返向图书馆前进,则当小赵到达图书馆是,小钱离图书馆还有150米。那么图书馆与寝室间的距离是____。

【解析】

方法一:

设小赵,小钱速度分别位v1,v2,相遇前后时间为t1,t2。则可以得到:

v1(t1+t2)=s;v2(t1+t2)=s-600;v1/v2=s/(s-600)

(v1-v2)(t 1+ t 2) = 600;(v 1 -v 2)t2 = 150;v 2 t 1 = v 1 t 2;v1/v2 = 1/3

s/(s-600) = 1/3;s=900。

方法二:

(x+150)/y =(x+150)/x=(600+y)/(c+150)=v1/v2;

x=y=75;s=600+75*2+150=900。

3.某开发团队有6位开发同学,需参加5个项,每位同学需要恰好参加1个项,那么总共有____ 种不同的分配案

【解析】

六人五个项目,必有一项目两人做C(1/5)*C(2/6),剩下四人座剩下四个项目A(4/4),则N=C(1/5)C(2/6)A(4/4)。

4.如下SQL语句中,____可能返回null值。

(1) select count(*) from t1;

(2) select max(col1) from t1;

(3) select concat(‘max=‘,max(col1)) from t1;

【解析】

(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,

(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL。

5.略

6.以下关于STL的描述中,____是错的。

STL容器是线程不安全的

当容量不够时,vector内部内存扩展方式是翻倍

std::sort是稳定排序

std::bitset不是一个STL容器

std::stack默认是用deque实现的

std::string中可以存储多个’\0’字符

【解析】

A:“很多程序员希望STL实现是完全线程安全的“。所以不安全。

B:vector的存在可以使开发者不必关心内存的申请和释放。但是,vector的一个缺点就是它的内存分配是按照2的倍数分配内存的。

C:错误。要知道 std::sort 不是稳定的排序算法,它不保证“相等”元素的相对位置,使用 std::stable_sort 来保证这一点

D:STL的容器可以分为以下几个大类:

一:序列容器, 有vector, list, deque, string.

二 : 关联容器,     有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap

三: 其他的杂项: stack, queue, valarray, bitset

E:正确。堆栈是一个线性表,插入删除操作都在一端进行,deque是先进先出的,操作原理和stack是一样的

7.有8只球队,采?用抽签的?方式随机配对,组成4场?比赛。假设其中有4只强队,那么出现强强对话 (任意两只强队相遇)的概率是____。

【解析】

全部可能性是C8 2C6 2C4 2/A4 4  = 105 种。

强弱搭配,因为恰好都是4个,共有A4 4 = 24 种。

答案就是 1-(24/105) = 27/35

8.两个市区C1和C2,其人口比率是1:3,从今年的患病统计来说,C1市区由于污染严重,患癌的概率是0.1%,而C2市的患癌概率是0.02%,现在医院接收到一位患癌病人,他是C1市区来的概率是____。

【解析】

这里运用了概率论中的贝叶斯公式,只是换了一种方式,通过已知结果找寻原因。假设C1市区有100人,C2市区有300人,假设患病事件记为Y。现在医院接收到一位患癌病人,他是C1市区来的概率P(C1|Y)=(100*0.1%)/(100*0.1%+300*0.02%)=0.625

9.下面代码在64位Linux系统编译执行,输出结果是____。

#include <stdint.h>

#include <stdio.h>

void print_size(int32_t array[10]){

printf("%d\n", sizeof(array));

}

int main () {

int32_t myArray[10];

printf("%d ", sizeof(myArray));

print_size(myArray);

}

【解析】

64位Linux系统指针占8个字节;int32_t 仍然占用32位,4个字节;

输出: 40 8

10.假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找5。下面____不可能是键的检查序列。

【解析】

二叉搜索树不可能存在一种检索方式是后面的键值有比当前键值大的也有比当前键值小的,要么比当前键都大,要么都小。因此,2,3,10,4,8,5有可能,1,2,9,3,8,7,4,6,5绝对没可能。

11.以下程序在32位机器上运行输出是____。

#include <iostream>

using namespace std;

class animal

{

protected:

int age;

public:

virtual void print_age(void) = 0;

};

class dog : public animal

{

public:

dog() {this -> age = 2;}

~dog() { }

virtual void print_age(void) {cout<<"Wang, my age = "<<this -> age<<endl;}

};

class cat: public animal

{

public:

cat() {this -> age = 1;}?    ~cat() { }

virtual void print_age(void) {cout<<"Miao, my age = "<<this -> age<<endl;}

};

int main(void)

{

cat kitty;

dog jd;

animal * pa;

int * p = (int *)(&kitty);

int * q = (int *)(&jd);

p[0] = q[0];

pa = &kitty;

pa -> print_age();

return 0;?

}

【解析】

指针的数据类型是实函数的类型,指针指向的对象的数据类型,是虚函数的数据类型。

详见:C++ 覆盖 重载 隐藏 浅析

详址:http://blog.csdn.net/u013630349/article/details/46706299

/***********************************************************************

http://www.nowcoder.com/test/question/done?tid=449827&qid=23484#summary

***********************************************************************/

12.A,B,C三位同学都是很聪明的同学,面试官给他们背上依次贴上了数字2,4,8,他们都能看见别人的数字但无法看见自己的数字,现在面试官告诉他们这些数字都是自然数并且构成一个等比数列,让A、B、C同学依次循环回答是否确定自己的数字是多少,每位同学的回答算作一次,经过____次有同学能准确说出自己的数字。

【解析】

1、第一次是A,此时他看到4和8,能判断出来等比是2,自己的数字可能是2或者16。回答不确定

2、第二次是B,此时他看到2和8,此时等比可能是2,那么自己的数字是4;或者等比是4,自己的数字是32。B知道A能看到8和自己的数字,如果自己的数字是4,那么A有两种可能,所以A回答不确定;如果自己的数字是32,那么A仍然有多种可能,所以A仍然可以回答不确定。所以B此时不能通过A的回答排除其中一种可能性。回答不确定

3、第三次是C,此时他能看到2和4,能判断等比是2,自己的数字可能是1或者8。C知道B能看到2和自己的数字,如果自己的数字是1,那么对B来说只能是4,是确定的。但B回答不确定,所以可以排除这种可能。因此C能确定自己的数字是8。

13.给定一个整数sum,从有N个无序元素的数组中寻找元素a、b、c、d,使得 a+b+c+d =sum,最快的平均时间复杂度是____。

【解析】

leetcode k sum 问题

思路是利用快速排序思想,排序之后利用动态规划算法从而求解

O(N^2LogN)

14.设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序____。

【解析】

三者相同

15.将整数序列(7-2-4-6-3-1-5)按所示顺序构建一棵二叉排序树a(亦称二叉搜索树),之后将整数8按照二叉排序树规则插入树a中,请问插入之后的树a中序遍历结果是____。

【解析】

看清每一个字 1-2-3-4-5-6-7-8

16.下列各项技术中,目的与程序的容错(fault-tolerance)最不相关的是____。

fail fast

graceful degradation

backup

sandbox

checkpoint

watchdo

【解析】

1.graceful degradation (优雅降级):优雅降级(Graceful degradation)是指电脑,机器,电子系统或者是网络在本身大部分已经毁坏或无效的情况下还能保持有限的功能这种能力。优雅降级的目的是阻止灾难性的失败。理想情况下,有优雅降级特征的系统即使多个组件同时失效也不会引起停机。在优雅降级中,操作的效率和速度随着失效部件的增加逐渐下降。

2.sandbox(沙盒/沙箱) 用于为一些来源不可信、具备破坏力或无法判定程序意图的程序提供试验环境。然而,沙盒中的所有改动对操作系统不会造成任何损失。通常这种技术被计算机技术人员广泛使用,尤其是计算机反病毒行业,沙盒是一个观察计算机病毒的重要环境。 影子系统 即是利用了这种技术的软件之一。

有时沙盒也叫 沙箱 ,英文 sandbox 。在计算机领域指一种 虚拟技术 ,且多用于 计算机安全技术 。其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。当某个程序试图发挥作用时,安全软件可以先让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。

3.watchdog:在由 单片机 构成的 微型计算机系统 中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称" 看门狗 "。

看门狗是恢复系统的正常运行及有效的监视管理器。

4.fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。fail-fast是错误机制,不是容错机制。

17.对于192.168.0.0到192.168.0.255这个网络来说,以下说法中正确的是____。

A.网段内可用来作为主机IP的范围是:192.168.0.0到192.168.0.255

B.Network IP是192.168.0.255

C.Broadcast IP是192.168.0.0

D.网段内的主机可以通过网卡对网卡传递数据

E.192.168.0.1和192.168.0.2的主机需要使用Router传递数据包

F.是class B等级

/***********************************************************************

广播地址是192.168.0.255,网络IP是192.168.0.0,本网络内只是局域网的传递,用不到网络转发,最多可能用到集线器之类的东西。D说的网卡对网卡不知道是个什么概念,百度也没找到,还请知情人士透露一下。

192段为C类地址,网络号有3个字节,主机号全0和全1的地址不可有做主机IP。子网之间转发无需通过路由器。

主机号全为0,表示网络地址,全为1,表示广播地址。网段内主机交流无需路由器。192是C类地址。

***********************************************************************/

18 以下是一个有向图,我们从节点B开始进行深度优先遍历(DFS),那么以下5个序列中,所有正确的DFS序列是____。

【解析】

详见:数据结构基础 图的遍历(一) 之 DFS

详址:http://blog.csdn.net/u013630349/article/details/46842567

19.已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p[0]+1)+**(q+2)的值是____。

【解析】

*(p[0]+1)+**(q+2)

其中p[0]=a也就是a[0]的地址,p[0]+1=a+1就是a[1]的地址,*(p[0]+1)就是a[1]的值就是2;

**q=p  --> *q=&p  -->表示q保存的是p 的地址,q+2表示p[2]的地址,*(q+2)表示p[2],**(q+2)表示*p[2]表示*(a+2)就是a[2]的值就是3;

所以,*(p[0]+1)+**(q+2)=5。

20.设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为____。

【解析】

x++||++y执行后的结果是真,即1,然后赋值给t。因为是或运算,所以在判断x++时真后,后面的++y就不再执行了,所以y值没有变还是2.所以,t=1 y=2。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 12:15:28

笔试真题 ALBB-2015 算法工程师实习生 笔试真题 解析的相关文章

(莫队算法)两题莫队算法统计数量的入门题

因为这两题差不多,而且比较简单,就放一起,做了这题,这种题目就是巨水的题了.随便写都行. CodeForces - 86D  Powerful array 题意: 多次查询数列中从L到R每个数字出现次数的平方乘这个数字的和. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <cmath> 5 #include <map> 6 #includ

阿里在线笔试算法工程师附加题

前几天参加了阿里的在线笔试,报的职位是算法工程师,笔试感觉难度适中,选择题包含数据结构.离散数学.小的智力问题还有一些读程序选结果的题目.其中数据结构和排列组合最多.当时比较慌乱,没做记录.只记下了三个附加题. 第一题很简单.要求实现一个方法,在两个排好序(升序)的整型数组中找到中位数.传入4个参数,分别是两个数组和他们的大小.这个题目既然简单就要写的高效一些.我用的归并排序的思想,将两个数组合并,在合并的过程中找到中位数.并对奇偶分情况讨论,注意偶数情况下有可能出现小数.代码如下: doubl

2016上半年网络工程师考试上午真题(27-50)

2016年上半年网络工程师考试真题是备战下半年网络工程师考试的最佳资料,下面希赛软考学院为您整理了上午试题,供您参考学习. 2016年上半年网络工程师考试上午真题(27-50) ●采用DHCP动态分配IP地址,如果某主机开机后没有得到DHCP服务器的响应,则该主机获取的IP地址属于网络(27). A.192.168.1.0/24 B.172.16.0.0/24 C.202.117.00/16 D.169.254.0.0/16 ●某网络拓扑结构如下图所示. 在路由器R2上采用命令(28)得到如下图

2016年上半年信息系统管理工程师考试上午真题(1)

通过信息系统管理工程师考试并获得证书的人员,能聘任对应技术岗位,能评中级职称.下面希赛软考学院为您整理了2016年上半年信息系统管理工程师上午真题,助准备参加考试的你一臂之力. 2016年上半年信息系统管理工程师考试上午真题(1-25题) ●CPU主要包含(1)等部件. A.运算器.控制器和系统总线 B.运算器.寄存器组和内存储器 C.运算器.控制器和寄存器组 D.控制器.指令译码器和寄存器组 ●按照(2),可将计算机分为RISC(精简指令集计算机)和CISC(复杂指令集计算机). A.规模和处

2016年上半年信息系统管理工程师考试上午真题(2)

通过信息系统管理工程师考试并获得证书的人员,能聘任对应技术岗位,能评中级职称.下面希赛软考学院为您整理了2016年上半年信息系统管理工程师上午真题,助准备参加考试的你一臂之力. 2016年上半年信息系统管理工程师考试上午真题(26-50题) ●SNMP属于OSI/RM的(26)协议. A.管理层 B.应用层 C.传输层 D.网络层 ●下面4个主机地址中属于网络220.115.200.0/21的地址是(27). A.220.115.198.0 B.220.115.206.0 C.220.115.2

2014腾讯实习生笔试——蒙特卡洛算法求圆周率

这是2014腾讯实习生笔试(西安,武汉站)的第26题.给出二个函数,让你去理解其含义.答案是:第一个函数式用来产生(a,b)之间的随机小数.第二个函数式用蒙特卡洛概率算法求近似圆周率. 先介绍一下该方法(蒙特卡洛算法): 以 概率和统计理论方法为基础的一种计算方法.将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解.比方,给定 x=a ,和 x=b ,你要求某一曲线 f 和这两竖线,及 x 轴围成的面积,你能够起定 y 轴一横线 y=c 当中 c>=f(a) a

第一篇博客--记面陌陌科技计算机视觉算法工程师被刷经历(附面试过程中被问倒的一些算法题分析)

求职季,真的会让一个人变得有些不一样吧,比如我,对于一个菜鸟来说,最近一段时间焦虑不安外加有点自闭... 前段时间在校内网上看到了陌陌科技内推计算机视觉算法工程师和机器学习算法工程师的消息,抱着试试的心态整理了一份简历按照提供的邮箱投出去了,我想这次应该又是石沉大海了吧,谁想在一周前闷热的一天在嘈杂的餐厅接到了陌陌科技HR的电话,一周后的周五下午4点在西安的一家咖啡馆参加面试.我问清了时间地点并道谢了HR后并挂了电话继续吃饭. 好吧,这周每天都有各个公司的笔试,外加这周周五上午的组会轮到我做组会

2016上半年网络工程师考试上午真题(51-75)

2016年上半年网络工程师考试真题是备战下半年网络工程师考试的最佳资料,下面希赛软考学院为您整理了上午试题,供您参考学习. 2016年上半年网络工程师考试上午真题(51-75) ●下面4个主机地址中属于网络220.115.200.0/21的地址是(51). A.220.115.198.0 B.220.115.206.0 C.220.115.217.0 D.220.115.224.0 ●假设路由表有4个表项如下所示,那么与地址115.120.145.67匹配的表项是(52),与地址115.120.

2016上半年网络工程师考试上午真题(1-26)

2016年上半年网络工程师考试真题是备战下半年网络工程师考试的最佳资料,下面希赛软考学院为您整理了上午试题,供您参考学习. 2016年上半年网络工程师考试上午真题(1-26) ●内存按字节编址,从A1000H到B13FFH的区域的存储容量为(1)KB. A.32 B.34 C.65 D.67 ●以下关于总线的叙述中,不正确的是(2). A.并行总线适合近距离高速数据传输 B.串行总线适合长距离数据传输 C.单总线结构在一个总线上适应不同种类的设备,设计简单且性能很高 D.专用总线在设计上可以与连