2013年阿里巴巴暑期实习招聘笔试题目及部分答案——5月5日

PaddleOCR实战:从零开始训练自己的OCR模型(附完整代码与数据集处理技巧) 本文提供了一份详尽的PaddleOCR实战指南,手把手教你从零开始训练专属的OCR模型。内容涵盖高质量训练数据的准备与标注技巧、预训练模型的选型对比、关键参数调优策略,并附有完整的代码示例。通过遵循本文的步骤,开发者可以高效构建并优化贴合自身业务场景的高精度OCR模型,实现从数据到部署的全流程掌握。 阅读详情

关于阿里笔试题的说明:阿里的笔试题在网上有很多,百度文库就有很多,里面大多是拍的照片,可以直接去搜搜。

一、单项选择题

1.下列说法不正确的是:

A.SATA硬盘的速度大约为500Mbps/s

B.读取18XDVD光盘数据的速度为1Gbps

C.千兆以太网的数据读取速度为1Gpbs

D.读取DDR3内存数据的速度为100Gbps

2.()不能用于Linux中的进程通信

A.共享内存

B.命名管道

C.信号量

D.临界区

3.设在内存中有P1,P2,P3三道程序,并按照P1,P2,P3的优先级次序运行,其中内部计算和IO操作时间由下表给出(CPU计算和IO资源都只能同时由一个程序占用):

P1:计算60ms--->IO 80ms--->计算20ms

P2:计算120ms--->IO 40ms--->计算40ms

P3:计算40ms--->IO 80ms--->计算40ms

完成三道程序比单道运行节省的时间是()

A.80ms

B.120ms

C.160ms

D.200ms

4.两个等价线程并发的执行下列程序,a为全局变量,初始为0,假设printf、++、--操作都是原子性的,则输出不可能是哪个()

1
2
3
4
5
6
7
8
9
void foo() {
    if(a <= 0) {
        a++;
    }
    else {
        a--;
    }
    printf("%d", a);
}

A.01

B.10

C.12

D.22

5.给定fun函数如下,那么fun(10)的输出结果是()

1
2
3
int fun(int x) {
    return (x==1) ? 1 : (x + fun(x-1));
}

A.0

B.10

C.55

D.3628800

6.在c++程序中,如果一个整型变量频繁使用,最好将他定义为()

A.auto

B.extern

C.static

D.register

7.长为n的字符串中匹配长度为m的子串的复杂度为()

A.O(N)

B.O(M+N)

C.O(N+LOGM)

D.O(M+LOGN)

我想到的是KMP算法。

8.判断一包含n个整数a[]中是否存在i、j、k满足a[i] + a[j] = a[k]的时间复杂度为()

A.O(n)    B.O(n^2)     C.O(nlog(n))    D.O(n^2log(n))

暂时想到一个o(nlog(n))的算法,

9.三次射击能中一次的概率是0.95,请问一次射击能中的概率是多少?
       
A.0.63

B.0.5

C.**

D.0.85

10.下列序排算法中最坏复杂度不是n(n-1)/2的是_

A.快速序排     B.冒泡序排   C.直接插入序排   D.堆序排

二、不定向选择题

1.以下哪些进程状态转换是正确的()

A.就绪到运行    B.运行到就绪    C.运行到阻塞    D.阻塞到运行    E.阻塞到就绪

2.一个栈的入栈数列为:1、2、3、4、5、6;下列哪个是可能的出栈顺序。(选项不记得)

一道非常老的题目了,没啥好说的,很简单

3.下列哪些代码可以使得a和b交换数值。(选项不记得)

常见的有(a=a+b,b=a-b,a=a-b; a=a^b,b=a^b,a=a^b)

4.A和B晚上无聊就开始数星星。每次只能数K个(20<=k<=30)A和B轮流数。最后谁把星星数完谁就获胜,那么当星星数量为多少时候A必胜?(选项不记得)

跟那种两堆东西,谁先拿光的情形是差不多的

三、填空问答题

1.给你一个整型数组A[N],完成一个小程序代码(20行之内),使得A[N]逆向,即原数组为1,2,3,4,逆向之后为4,3,2,1

void revense(int * a,int n) {
	for(int i=0 ; i<n/2 ; i++)
		swap(a[i],a[n-i-1]);
}


2.自选调度方面的问题,题目很长,就是给你三个线程,分别采用先来先分配的策略和最短执行之间的调度策略,然后计算每个线程从提交到执行完成的时间。题目实在太长,还有几个表格。考察的是操作系统里面作业调度算法先进先出和最短作业优先。

3.有个苦逼的上班族,他每天忘记定闹钟的概率为0.2,上班堵车的概率为0.5,如果他既没定闹钟上班又堵车那他迟到的概率为1.0,如果他定了闹钟但是上班堵车那他迟到的概率为0.9,如果他没定闹钟但是上班不堵车他迟到的概率为0.8,如果他既定了闹钟上班又不堵车那他迟到的概率为0.0,那么求出他在60天里上班迟到的期望。

P(每天迟到的概率)=0.2*0.5*1+0.8*0.5*0.9+0.2*0.5*0.8+0.2*0.5*0.0=0.1+0.36+0.08=0.54(全概率公式)

E(60天里上班迟到的期望)=60*0.54=32.4

4.战报交流:战场上不同的位置有N个战士(n>4),每个战士知道当前的一些战况,现在需要这n个战士通过通话交流,互相传达自己知道的战况信息,每次通话,可以让通话的双方知道对方的所有情报,设计算法,使用最少的通话次数,使得战场上的n个士兵知道所有的战况信息,不需要写程序代码,得出最少的通话次数。


5.有N个人,其中一个明星和n-1个群众,群众都认识明星,明星不认识任何群众,群众和群众之间的认识关系不知道,现在如果你是机器人R2T2,你每次问一个人是否认识另外一个人的代价为O(1),试设计一种算法找出明星,并给出时间复杂度(没有复杂度不得分)。

评论中有人说这就是寻找图中出度为0的点的问题,思路是一样的,如果i认识j,就说明j有可能是明星,i肯定不是明星,转换为大小比较的问题方便那些对图不太熟悉的人理解。

解答:这个问题等价于找未知序列数中的最小数,我们将reg这个函数等价为以下过程:,如果i认识j,记作i大于等于j,同样j不一定大于等于i,满足要求,i不认识j记作i<j,对明星k,他不认识所有人,则k是其中最小的数,且满足其余的人都认识他,也就是其余的人都大于等于k.这样问题就被转换了。就拿N=5来说,首先有数组S[5]={A,B,C,D,E}这5个变量,里边存放着随机数,求是否存在唯一最小数,如果存在位置在S中的哪里。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int finds(S,N)
{
    int flag=0;//用于判定是否有明星,即当前最小数另外出现几次
    int temp=0;//存放最小数在S中的位置
    for(i=1;i<N;i++)
   {
      if(!reg(S[i],S[temp])//如果temp标号的数小于i标号的数
     {
         temp=i;
         flag=0;//更换怀疑对象(最小数)时,标记清零
      }
      elseif(reg(S[temp],S[i])//如果temp里存放的确实是唯一最小数是不会跑进这里来的
      {
           flag++;
`     }
    }
    if(flag>0) return -1;//表示没有明星,例如所有的数都相等
    return temp;//返回明星在S中的位置
}

四、综合题

有一个淘宝商户,在某城市有n个仓库,每个仓库的储货量不同,现在要通过货物运输,将每次仓库的储货量变成一致的,n个仓库之间的运输线路围城一个圈,即1->2->3->4->...->n->1->...,货物只能通过连接的仓库运输,设计最小的运送成本(运货量*路程)达到淘宝商户的要求,并写出代码。这道题目还是蛮难的

解答:这个题目类似的题目有:

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1045

有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1,求使所有人获得均等糖果的最小代价。

分析:

假设n个仓库的初始储货量分别为a[1],a[2],...,a[n]

    计算平均储货量 averge = (a[1]+a[2]+...+a[n])/n

        首先,从仓库1向仓库n运送k;

        然后,从1到n-1,依次向下运送某一特定值,使得每一个仓库的余量都为average,剩下的问题就是求总代价的最小值了。

第0步(从仓库1向仓库n运送k):代价为 |k|

第1步(确保仓库1的余量为average):代价为|a[1]-average-k|

第2步(确保仓库2的余量为average):代价为|a[2]+a[1]-average-k-average|=|a[1]+a[2]-2*average-k|

...

第n-1步:代价为|a[1]+a[2]+...+a[n-1]-(n-1)*average-k|

此时,仓库n剩下的货物量:(a[n]+k)+a[1]+a[2]+...+a[n-1]-(n-1)*average-k=(a[1]+a[2]+...+a[n])-(n-1)*average=average刚好也满足

     总的代价为:|k|+|a[1]-average-k|+|a[1]+a[2]-2*average-k|+...+|a[1]+a[2]+...+a[n-1]-(n-1)*average-k|

不妨令s[i] = a[1]+a[2]+...+a[i]-i*average

则,总代价可表示为:|k|+|s[1]-k|+|s[2]-k|+...+|s[n-1]-k|

      这个式子可以看成在水平数轴上寻找一个点k,使得点k到点0,s[1],s[2],s[3],...,s[n-1]的距离之和最小,显然k应该取这n个数的中位数。至此问题解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <cstring>
#include <iostream>
#include <algorithm>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
using namespace std;
const int X = 1000005;
typedef long long ll;
ll sum[X],a[X];
ll n;
ll Abs(ll x){
    return max(x,-x);
}
int main(){
    //freopen("sum.in","r",stdin);
    while(cin>>n){
        ll x;
        ll tot = 0;
        for(int i=1;i<=n;i++){
            scanf("%lld",&a[i]);
            tot += a[i];
        }
        ll ave = tot/n;
        for(int i=1;i<n;i++)
            sum[i] = a[i]+sum[i-1]-ave;
        sort(sum+1,sum+n);
        ll mid = sum[n/2];
        ll ans = Abs(mid);
        for(int i=1;i<n;i++)
            ans += Abs(sum[i]-mid);
        cout<<ans<<endl;
    }
    return 0;
}
手把手教你用LIO-SAM搞定激光雷达和IMU联合标定(附避坑指南) 本文详细介绍了使用LIO-SAM进行激光雷达与IMU联合标定的全流程,包括标定原理、工具选型、硬件配置、数据采集、LI_calib标定步骤及LIO-SAM集成验证。特别提供了避坑指南和参数优化技巧,帮助开发者高效完成传感器标定,提升自动驾驶和机器人定位精度。 阅读详情

相关推荐

华为昇腾 Atlas 200I DK A2 开发板编程接口学习入门:系统安装和开发步骤、注意事项与典型案例实战

华为昇腾开发板编程接口指南:从入门到进阶 本文系统介绍了华为昇腾开发板的编程接口体系,涵盖MindXSDK和AscendCL两大核心框架。MindXSDK提供高层封装接口,适合快速搭建视觉应用;AscendCL则是底层接口,需手动管理设备内存。文章详细讲解了: 开发环境搭建步骤,包括系统配置、依赖安装 MindXSDK组件化编程流程(图像分类实例) AscendCL底层开发方法(内存管理、模型推理) 常见问题解决方案和调试技巧 两个典型应用实例(摄像头目标检测和图像分类) 针对小白开发者,推荐从MindXS

bother3000的博客 2425

日常Java练习题(每天进步一点点系列)

提示:好多小伙伴反映,直接看到答案不太好,那我把答案的颜色设置为透明,答案位置还是在题目后面,需要鼠标选中才能看见(操作如下图),同时为了手机端的小伙伴(手机端也可以长按选中查看),我还会把所有答案放到文章最下面,希望给每天进步一点点的小伙伴更好的体验。 每天进步一点点! 1、有关多线程,多进程的描述错误的是 正确答案:D A 子进程获得父进程的数据空间,堆和栈的复制品 B 线程可以与同进程的其他线程共享数据,但是它拥有自己的栈空间且拥有独立的执行序列 C 线程执行开销小,但是不利于资源管理和保护 D 进

『愚』的博客 2212

【TiktokAPI】Tiktok直播API与实时互动功能开发完全指南

Tiktok直播API允许开发者创建、管理直播,并实现各种互动功能。/*** 获取Tiktok直播API访问令牌* @param {string} client_id - 应用ID* @param {string} client_secret - 应用密钥* @param {string} code - 授权码* @param {string} redirect_uri - 重定向URI* @returns {Promise<object>} 访问令牌响应*/try {}),

Mageia的专栏 3198

2015.1.29试题笔记

设在内存中有P1,P2,P3三道程序,并按照P1,P2,P3的优先级次序运行,其中内部计算和IO操作时间由下表给出(CPU计算和IO资源都只能同时由一个程序占用):P1:计算60ms---》IO 80ms---》计算20ms P2:计算120ms---》IO 40ms---》计算40ms P3:计算40ms---》IO 80ms---》计算40ms 并行完成三道程序比单道运行节省的时间是(160m

zeb_perfect的专栏 1851

Dify 从入门到精通:第一篇 - 基础介绍与快速上手

Dify是一个开源的低代码平台,旨在简化大型语言模型(LLM)应用的开发流程。本文作为"Dify从入门到精通"系列的首篇,全面介绍了Dify的核心概念、安装步骤和基本使用方法。文章首先解析了Dify的多模型支持、低代码开发等特点,然后详细讲解了基于Docker的安装配置过程,包括系统要求、环境变量设置等。通过创建一个邮件助手应用的实际示例,展示了Dify的可视化工作流设计功能。最后简要介绍了高级特性和最佳实践,为后续深入学习奠定基础。本文为开发者提供了从零开始使用Dify构建AI应用的完

IT深耕十余载,大道之简 1147

我每天如何使用 ChatGPT

我偶尔会用这个功能作为开始。我本人非常喜欢阅读,让 ChatGPT 来概括所有文章,感觉就像身处于但丁描述的地狱的某个层次那样痛苦。然而,有时一些文章实在是太啰嗦、无聊,或者写得让人不愉快(比如一个无趣记者对一个让人讨厌的人进行的漫无焦点的采访)。我需要获取这些文章中的一些信息,以便保持信息的更新和了解。在晚期资本主义的广告经济下,很多文章只在一个段落里提供新信息,其余都是无聊的填充内容,只是为了展示糟糕的广告,这实在是对人们的时间和生命的一种浪费。我有几次利用 ChatGPT 来。

KevinDai007的博客 3784

阿里巴巴暑期实习生笔试题

1.KMP算法 //长度为n的主串T中匹配长度为m的子串P (n>=m)。 //匹配成功:存在P的每个字符依次和T中的一个连续字符序列相等 //输出主串中匹配串起始位置,匹配失败输出-1 //思路: //首先用O(m)的时间对子串进行预处理,可通过子串本身的特性判断出需要右移几位才是可能匹配的 //然后用O(n)的时间去完成匹配 //时间复杂度: O(m+n) #include #inc

u010733810的专栏 692

SillyTavern与Claude Code API集成:从零搭建AI聊天酒馆的完整指南

本文提供了一份从零搭建SillyTavern AI聊天前端的完整指南,重点讲解如何将其与Claude Code API集成。内容涵盖Node.js环境准备、SillyTavern部署、OpenAI兼容格式的API配置、模型选择与参数调校,以及角色扮演、扩展功能等高级玩法,帮助用户打造本地化、可定制的专属AI聊天体验。

assembly8low的博客 2612

操作系统 复习--文字题

当一个设备需要处理任务时,它会向cpu发送中断请求,这样cpu就可以暂停当前正在运行的进程,执行中断服务程序,从而完成设备管理的相关操作。信号量的值与相应资源的使用情况有关。根据轮转调度算法,每个进程被分配一个时间片,因此在第一次调度中,P1会被分配10ms的时间片,P2和P3也会被分配10ms的时间片。(1)通过fd可以访问进程打开文件表中的相应表项,如文件的当前位置,并由此可访问系统打开文件表中的相应表项,即该文件的FCB,由此可知文件的各个逻辑块在外存上的存储位置(把数据从用户空间拷贝到内核空间);

没事发发博客 4434

CC2340R5-OAD升级实战:从配置到调试的全流程解析

本文详细解析CC2340R5芯片的OAD(空中升级)全流程,涵盖环境配置、MCU-BOOT、OAD-BL和OAD-APP程序开发,以及内存布局和调试技巧。通过实战案例展示如何实现蓝牙设备的远程固件升级,提升开发效率和产品可维护性。

silver的专栏 1063

Mybatis面试题(基础篇)

(1)mybatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。(2)mybatis避免了几乎所有的JDBC代码(说明了mybatis底层用的就是JDBC,只不过是封装了)和手动设置参数以及获取结果集。(3)mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的pojo映射成数据库中的记录。

qq_38196449的博客 1687

笔试题

设在内存中有P1、P2、P3三道程序,并按照P1、P2、P3的优先次序运行,其内部计算和I/O操作时间由下图给出: P1:计算 60ms----------------I/O 80ms-----------------计算 20ms P2:计算 120ms--------------I/O 40ms-----------------计算 40ms P3:计算 40ms---------

liu44235的专栏 1763

PCL 循环体素滤波

本文提出了一种自动循环体素滤波算法,用于解决点云配准中分辨率差异大、参数设置复杂的问题。算法通过计算点云分辨率(公式1),采用迭代方式调整体素尺寸(公式2),逐步逼近目标分辨率。该方法在保留几何特征的同时有效精简数据量,实现了均匀分辨率的自动调整。实验通过PCL库实现,展示了原始点云与滤波结果的对比效果,验证了算法在减少数据规模方面的有效性。该方法为点云配准提供了预处理解决方案,相关成果已发表于SCI期刊。

点云侠的博客 282

【job】2013年5-5阿里巴巴暑期实习招聘笔试题目及部分答案

网上各种标为2013年,实际上都是2012年或者更早的,下面的才是真正的2013年5月5日考试的卷子。 答题说明: 1.答题时间90分钟,请注意把握时间; 2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分); 3.其他一些乱七八糟的考试说明。 一、单项选择题 1.下列说法正确的是: A.S...

weixin_34025051的博客 153

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

2013年5-5阿里巴巴暑期实习招聘笔试题目及部分答案

网上各种标为2013年,实际上都是2012年或者更早的,下面的才是真正的2013年5月5日考试的卷子。 答题说明: 1.答题时间90分钟,请注意把握时间; 2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分); 3.其他一些乱七八糟的考试说明。 一、单项选择题 1.下列

修真专栏 926

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

2013年阿里巴巴暑期实习招聘笔试题目(转)

网上各种标为2013年,实际上都是2012年或者更早的,下面的才是真正的2013年5月5日考试的卷子。 答题说明: 1.答题时间90分钟,请注意把握时间; 2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分); 3.其他一些乱七八糟的考试说明。 一、单项选择题 1.下列说法不正确的是: A.SATA...

weixin_34130269的博客 87

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

华为直招 不限岗位 c c++ Java Js Python

深信服今年开的早呀,c➕➕,python,go,java 都给hc 了,这个月笔试,下个月面试,有兄。友友们,现在还有哪些公司有岗位,我双飞本,211硕,电子信息偏软件,秋招签了一个长沙的国企,今天突然。友友们,现在还有哪些公司有岗位,我双飞本,211硕,电子信息偏软件,秋招签了一个长沙的国企,今天突然。23年毕业,去年工作三个月,年前公司大面积裁员被裁,现在想找剪辑、运营、摄影,新媒体方向的工作,有无。找后端,前端,Unity,测试,数分,策划,产品,hr 的看过来,差人,业务还在扩张,走过路过不要错。

华鑫的专栏 784

整型溢出 & sleep() wait() 的区别 & Java 堆排序 快速排序 计数排序

预热:2014年5月13日 第一天:2014年5月14日

kringpin_lin的专栏 790

牛客刷题笔记--并发

1 下面关于并行和并发的区别,说法错误的是?(C) 并发计算是一种程序计算的形式,在系统中,至少有两个以上的计算在同时运作,计算结果可能同时发生 并行计算指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部份,之后以并发方式来加以解决 并行是同时发生的多个并发事件,并发事件之间一定要同一时刻发生 并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生 答: 并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。

想握住此生辽阔 6202

2013.9.2 校招准备 tips + 各种数据结构

x&(x-1)表达式的意义 求下面函数的返回值(微软) -- 统计1的个数 ------------------------------------- int func(int x) {     int countx = 0;     while(x)     {         countx++;         x = x&(x-1);     }     return

moubenmao的专栏 1532
上一篇: Http协议详解(稍加整理)
下一篇: 阿里巴巴20121009 研发/算法工程师 笔试试题
和道一文字JC
博客等级 码龄19年 24粉丝 178原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值