2021年阿里巴巴研发类岗位面试题

小编:管理员 555阅读 2021.06.11

第1题:


不算main这个进程自身,到底创建了多少个进程啊?



int main(int argc, char* argv[])

{

   fork();

   fork() && fork() || fork();

   fork();

}

    

 18
 19
 20
 21




B


第2题:


在一个童话世界里,任意两个人之间要么是朋友关系,要么是敌人关系,不存在其他关系及没有关系的情况。并且,如果A和B是朋友关系,B和C是朋友关系,那么A和C必然是朋友关系。那么关于这个童话世界中的人群的说法错误的是:______?

 可能只有1个人群,这个人群内部是朋友关系。
 可能有2个人群,人群内部是朋友关系,人群之间是敌人关系。
 可能有3个及以上个人群,人群内部是朋友关系,人群之间是敌人关系。
 如果存在多个人群,并且人群内部是朋友关系,人群之间是敌人关系,那么这些人群必然是差不多大小的。




D


第3题:


下面的函数哪个是系统调用而不是库函数()?

 printf
 scanf
 fgetc
 read
 print_s
 scan_s




D


第4题:


一条很长的河,河水的流速是1m/s,一个皮划艇逆流滑行的速度是2m/s。某一刻皮划艇运动员发现丢失了一只漂流瓶,然后调头顺流以相同的节奏划船,经过半小时后发现了漂流瓶。请问船调头时距离漂流瓶多远()?

 5400m
 3600m
 7200m
 1800m
 9000m
 无法判断




A


第5题:


某二维平面上有12个位置不同的点,通过连接其中任意两点,可以画出59条不同的直线。那么,在59条直线中,经过3个或3个以上的点的直线有()条。

 0
 1
 2
 3
 5
 7




C


第6题:


某航空公司有M个城市之间的全连通运营线路,最近业务扩张,新增了N(>1)个城市。为了保持其全连通运营的特色,公司新增了58种单程票(往与返各算一种单程票,没有联程票);那么扩张后,该航空公司有()个城市间的运营能力。

 13
 14
 15
 16
 17
 18




D


第7题:


下列不属于hash碰撞解决方法的是()。

 线性探测
 单旋转法
 二次探测
 拉链法
 双重散列
 多重散列




B


第8题:


针对外部存储器(如磁盘)上存放的程序和数据,说法正确的是()。

 可由CPU直接进行读取写入操作
 须在CPU访问之前移入内存
 必须由文件系统管理的
 必须由进程调度程序管理
 程序和数据必须为只读
 程序和数据只能被一个进程独占




B


第9题:


在32位操作系统中,下列类型占用8个字符的为()。

 short int
 int C long
 unsigned int
 long long
 char
 int




D


第10题:


村长带着4对父子参加爸爸去哪儿第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个前年的规矩,那就是吃饭时候小孩左右只能是其他小孩或自己的父母,那么4对父子在圆桌上共有多少种坐法。(旋转一下,每个人面对方向变更后算是一种新的坐法)

 144
 240
 288
 480
 576
 960




D


第11题:


已知一个二叉树的前序遍历结果是(ACDEFHGB) ,中序遍历结果是(DECAHFBG),请问后续遍历结果是()。

 HGFEDCBA
 EDCHBGFA
 BGFHEDCA
 EDCBGHFA
 BEGHDFCA
 BGHFEDCA




B


第12题:


并发进程执行的相对速度是()。

 由进程的程序结构决定
 由进程本身来控制
 进程被创建时决定
 与进程度策略有关
 与进程销毁时间有关
 由内存分配策略决定




D


第13题:


有两个32bit的数A、B,使用下面方式得到32bit的数C、D。哪一种可以使用C、D得到A、B的值?

 C=(int32)(A+B),D=(int32)(A-B)
 C=(int32)(A+B),D=(int32)((A-B)>>1)
 C=(int32)(A+B),D=B
 C=(int32)(A+B),D=(int32)(A+2*B)
 C=(int32)(A*B),D=(int32)(A/B)
 都不可以,可能溢出




C


第14题:


在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行()。

 delete q
 q->next=p->nerx;delete p;
 p-next=q->next;delete p;
 p->next=q->next;delete q;
 delete p;
 q->next=p->next;delete q




D


第15题:


关于引用以下说法错误的是()。

 引用必须初始化,指针不必
 引用初始化以后不能被改变,指针可以改变所指的对象
 不存在指向空值的引用,但是存在指向空值的指针
 一个引用可以看作是某个变量的一个“别名”
 引用传值,指针传地址
 函数参数可以声明为引用或指针类型




E


第16题:


下列关于线程调度的叙述中,错误的是()。

 调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
 调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
 当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
 一个线程由于某些原因进入阻塞状态,会放弃CPU
 具有相同优先级的多个线程的调度一定是分时的
 分时调度模型是让所有线程轮流获得CPU使用权




BE


第17题:


[问答题]

题目描述

天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。 请设计一套java接口并实现下单(order)逻辑。 参考(但不局限于)下面的下单逻辑: 
1、创建订单  
2、扣减用户积分 
3、扣减魔盒库存 
4、下单成功 
同时请回答:  
1、数据库表结构如何设计,有哪些表,分别有什么作用? 
2、下单过程中哪些地方可能成为瓶颈?如何解决或改善?  
3、是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?



第18题:


[问答题]

题目描述

A公司打算搭建一个Android App下载的Web站点,计划将目前常见的手机APP都放到这个网站上提供下载。因为业务开展初期下载量很小,技术部门就用了1台服务器,给服务器配置了一个公网IP对外进行服务。随着销售部门的推广到位,用户量和下载量呈指数级上载,要求技术部门马上进行改造。如果你是技术部门经理,你会怎么改造这个站点,以满足高负载的需求。
提示:短时间修改网站的代码不现实,其他方面的各种改造建议都可以,建议越多越好。




主要用到重定向的方法

1.HTTP重定向

增加N台内部服务器,组成一个局域网,将APP复制N份放到内部服务器中,原来的服务器作为与因特网通信的接口。当原服务器收到客户端请求后,服务器选择一个负载最小的内部服务器,将客户端的请求重定向到该服务器

2.DNS重定向

原服务器IP对应的域名解析到多个IP,用DNS轮转法选择合适的IP

3.IP地址转发

另外还可以进行代理的重定向

关联标签: