整理了几道阿里巴巴真题,来试试自己水平有多厉害吧,每题还有答案和详细解答哦。

01

有个特殊的餐厅,对客人的要求是如果要离开餐厅一定要看下餐厅内有没有比你迟进来的人,一定要所有比你迟进来的人离开后你才能离开,有一天甲,乙,丙,丁四个客人先后进入了这家餐厅,那么他们离开的顺序不可能是:

A:丙,乙,甲,丁

B:甲,乙,丙,丁

C:乙,甲,丙,丁

D:乙,丙,甲,丁

E:丁,丙,甲,乙

F:丁,丙,乙,甲

本题考查的是元素入栈出栈的顺序问题。但要小心一个思维误区:并不是要等到甲、乙、丙、丁全部按序进入餐厅后才开始有人离开。答案:E。

02

在关系型数据库中,有两个不同的事务同时操作数据库中同一表的同一行,不会引起冲突的是:

A:其中一个DELETE操作,一个是SELECT操作

B:其中两个都是UPDATE

C:其中一个是SELECT,一个是UPDATE

D:其中一个是DELETE,另一个是UPDATE

E:两个都是DELETE

当要删除的记录在数据库中不存在的时候,是不会报错的。答案:E。

03

设一组初始关键字为( 12,15,1,18,2,35,30,11 ),则以 12 为基准记录的一趟快速排序结束后的结果为:

A:11,1,2,12,35,18,30,15

B:11,2,1,12,15,18,35,30

C:1,2,11,12,15,18,35,30

D:11,2,1,12,18,35,30,15

E:1,2,11,12,15,18,30,35

快速排序里的挖坑填补法:以12为标准值,从右开始找比12小的值,首先是11,把11放在12的位置,把12放在11的位置,再从左找比12大的值15,把15放在12的新位置(原11的位置)之后变成 11,12,1,18,2,35,30,15。 在新的一轮开始,从右开始找比12小的数是2,把2放在12的位置,12放在2的位置,在从左找比12大的数18,把18放在12的新位置上(原2的位置)变成11,2,1,12,18,35,30,15。答案:D。

04

以下程序的运行结果是?

public class TestThread{public static void main(String args[]){Runnable runner = new Runnable(){@Overridepublic void run(){System.out.print('foo');}};Thread t = new Thread(runner);t.run();System.out.print("bar");}

A:foobar
B:barfoo
C:foobar或者barfoo都有可能
D:Bar
E:Foo
F:程序无法正常运行

这道题是考线程的调用情况,线程的启动方式只能通过start这种方式启动才能真正的实现多线程的效果,如果是手动调用run方法和普通方法调用没有区别,所以这个还是按照顺序执行首先执行run方法之后,执行输出语句所以最终得到结果foobar。答案:A。

05

一个二叉树有100个子节点数为2的节点,100个子节点数为1的节点,那么子节点数为0的节点(叶节点)的个数为:

A:101
B:100
C:200
D:300
E:99
F:1

度数(边数) =
所有节点数-1,这里度数=2*100+100=300,节点数=100+100+叶子节点数。所以叶子节点数=度数+1-非叶子节点数=101。答案:A。

06

现有1G数据需要排序,计算资源只有1G内存可用,下列排序方法中最可能出现性能问题的是____。

A:堆排序
B:插入排序
C:归并排序
D:快速排序
E:选择排序
F:冒泡排序

答案:C

07

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

A:3600

B:3600

C:2700

D:1800

E:900

F:30

C6 2 *A5 5,先对人分组,也就是6个人分5组,则必有1个组有两个人,其他组1人。然后每组对应一个项目。答案:D 。

08

建立和关闭一个 tcp ,一共会产生的握手次数是()

A:7 B:6 C:3 D:5

建立的三次握手加关闭的四次握手。答案:A。

09

学校图书馆共有 300 万册图书,想统计其中 Computer 、Science、计算机、科学这几个词出现的次数,并按照自然年度分类,如 2016 年出版的书籍中这几个词各自出现的次数, 2015 年……依次类推。

将每本书都存在hdfs里作为一个文件,文件名为 时间(4位年份)+书的id+书的名称。使用mapreduce进行运算,map输出为<日期,computer次数;science次数;计算机次数;科学次数>,reduce输出同样,不过作为value的字符串中的次数为总次数。代码如下:

public static class MyMapper extends Mapper<LongWritable,Text,Text,Text>{       private static Text outputKey = new Text();private static Text outputValue = new Text();@Overrideprotected void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException { //得到hdfs文件名String filename = ((FileSplit) context.getInputSplit()).getPath().getName();String date = filename.substring(0, 4);//分别统计computer,science,计算机,科学出现的次数int computer = 0;int science = 0;int jisuanji = 0;int kexue = 0;String line = value.toString();String[] words = line.split(" ");for(String s:words){if(s.equals("computer")) computer++;if(s.equals("science")) science++;if(s.equals("计算机")) jisuanji++;if(s.equals("科学")) kexue++;}String outputVal = "" + computer + ";" + science + ";" + jisuanji + ";" + kexue;outputKey.set(date);outputValue.set(outputVal);context.write(outputKey, outputValue);}}public static class MyReducer extends Reducer<Text, Text, Text, Text> {@Override
protected void reduce(Text key, Iterable<Text> values,Context context)
throws IOException, InterruptedException {int allComputer = 0;int allScience = 0;int allJisuanji = 0;int allKexue = 0;for(Text value:values){String val = value.toString();String[] str = val.split(";");allComputer += Integer.parseInt(str[0]);allScience += Integer.parseInt(str[1]);allJisuanji += Integer.parseInt(str[2]);allKexue += Integer.parseInt(str[3]);}String finalVal = "" + allComputer + ";" + allScience + ";" + allJisuanji + ";" + allKexue;context.write(key, new Text(finalVal));    } }

10

以字符串的形式读入两个数字,编写一个函数计算它们的乘积,以字符串形式返回。(字符串长度不大于10000,保证字符串仅由’0’~'9’这10种字符组成)。

import java.util.*;
public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可* * @param s string字符串 第一个整数* @param t string字符串 第二个整数* @return string字符串*/public String solve (String s, String t) {int len1 = s.length();int len2 = t.length();int[] nums1 = new int[len1];int[] nums2 = new int[len2];for(int i = 0; i < len1; i++){nums1[i] = s.charAt(i) - '0';}for(int i = 0; i < len2; i++){nums2[i] = t.charAt(i) - '0';}int[] result = new int[len1 + len2];// 1. 逐位相乘for(int i = 0; i < len1; i++){for(int j = 0; j < len2; j++){result[i + j] += nums1[i] * nums2[j];}}// 2. 从后往前进位for(int k = result.length - 1; k > 0; k--){result[k - 1] += result[k] / 10;result[k] = result[k] % 10;}// 输出字符串StringBuilder stringBuilder = new StringBuilder();for(int i = 0; i < result.length - 1; i++){stringBuilder.append(result[i]);}return stringBuilder.toString();}
}

在这里推荐下我的Python开发学习群:797403929,群里都是做开发的,欢迎你加入,大家都是软件开发党,不定期分享干货,包括我自己整理的一些资料

免责声明:本文内容来源于网络,文章版权归原作者所有,意在传播相关技术知识&行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜。

十道阿里笔试题你能做对几道?相关推荐

  1. 盘点数据分析师笔试题 你会做几道?

    上次,我们给大家讲述了一些数据分析师面试的必备技巧,本期我们主要给大家盘点数据分析师笔试题(当然,即便是笔试用不到,面试也可以用得到哈),希望当遇到这类典型题目时,大家可以轻松应对. 盘点数据分析师笔 ...

  2. 精选30道Java笔试题解答

    精选30道Java笔试题解答       都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进 ...

  3. 2020年3月25日阿里笔试题

    2020年3月25日阿里笔试题 题目描述一 python代码 题目描述二 求公差的python代码 处理上述情况的代码   仿佛人生总有一种魔咒,自己做的这场笔试题永远是最难的.不过今天的笔试题,真的 ...

  4. 阿里笔试题(2015)持续更新中

    第一次做阿里笔试题,除了ACM题之外从来没有做过校招网络题呀,完全是裸考,总体感觉吧,对于我来说,感觉时间不够用,不是题不会,感觉时间紧,大脑很混乱,总结这一次的笔试题 废话不多说,直接上题和答案 平 ...

  5. 2020年3月23日阿里笔试题

    2020年3月23日阿里笔试题 题目描述 题目分析   这是阿里的第二场笔试,本来觉得没啥好写的,一道排列组合,一道迷宫.没有什么发挥的空间.但是后来在和大家讨论的过程中,把这道题的公司给敲出来了,但 ...

  6. java笔试30_精选30道Java笔试题解答

    精选30道Java笔试题解答 1. 下面哪些是Thread类的方法() A start() B run() C exit() D getPriority() 答案:ABD 解析:看Java API d ...

  7. 阿里笔试题:或运算的最小翻转次数 C++

    阿里笔试题:或运算的最小翻转次数 C++ 题目描述 输入输出示例 解题思路 代码 题目描述 给出一个数字n,表示有n组输入用例子,每一组输入给出三个正整数a.b.c,可以对a和b进行位翻转操作,每一次 ...

  8. java类初始化顺序-阿里笔试题

    阿里笔试题之写出程序输出结果: package com.patrick.bishi;public class TestVar {public static int k = 0;public stati ...

  9. 阿里笔试题第二题之-------容错技术

    阿里笔试题第二题之---容错技术 定义:容错就是当由于种种原因在系统中出现了数据.文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行一种技术. ...

最新文章

  1. TVM优化c++部署实践
  2. AD9833所产生的高频信号质量分析
  3. 机器学习--信息 信息熵 信息增益
  4. 洛谷-不高兴的津津(升级版)-数组
  5. boost安装_编译安装Mysql详细步骤
  6. git提交输入密码_git提交到自己的服务器,每次都要输入密码
  7. 自制操作系统学习笔记(3)-INT 0x10软中断显示字符串
  8. HDU - 1255 覆盖的面积(线段树+扫描线)
  9. 数据结构0类模板的使用
  10. 条件概率的几何解释 由定义计算条件概率 由条件概率公式计算条件概率
  11. linux-系统资源查看-动态
  12. 解决IIS 下ASP程序错误只显示500,不显示具体错误描述的问题!
  13. MapGIS 数据管理——数据管理与显示模型架构
  14. word公式编辑器复制粘贴未响应_Word公式编辑器使用中的常见问题的解决办法(图文教程)...
  15. 菜鸟心得1 - 在数据清洗过程中使用excel对重复数据进行处理
  16. 阿里双十一数据库技术
  17. 数据结构-二叉树的定义、创建和周游(前序、中序、后序和层序)
  18. linux6 下dns配置,RHEL6中DNS配置
  19. maps-api-v3_Google Maps API的自适应设计,视网膜图像和调试
  20. ABAP-SAP 账号批量创建分配权限程序

热门文章

  1. 白盒测试与黑盒测试分别有哪些测试方法?
  2. 有了链路日志增强之后再也不怕领导在群里艾特自己某某功能报错了
  3. 跨考计算机好调剂吗,过来人谈考研调剂失败教训 你入坑了吗!
  4. CCF认证考试题解目录(持续更新)
  5. css3中的width:100vh以及calc(100vh - 10px),calc() 用法案例
  6. 海关发公告打击海外代购 朋友圈代购或被认为走私
  7. WireMock 让你轻松模拟API
  8. 绷不住了!智能物流中的惊天秘密
  9. 在Microsoft Excel中如何快速合并表格
  10. 只需2分钟成功注册Tiktok