zoukankan      html  css  js  c++  java
  • 阿里巴巴2015研发

    1 0~999999之间的所有数字中,任何一位都不包括数字1的数字总数为多少
    99999
    262144
    381041
    524288
    531441
    900000

    9的6次方 因为是0-999999 排列组合计算

    2 以下关于STL的描述中,____是错的。
    STL容器是线程不安全的
    当容量不够时,vector内部内存扩展方式是翻倍
    std::sort是稳定排序
    std::bitset不是一个STL容器
    std::stack默认是用deque实现的
    std::string中可以存储多个’’字符

    3 一台刚刚接入互联网的WEB服务器第一次被访问到时,不同协议的发生顺序是下面中的____。
    ARP -> DNS -> HTTP
    ARP -> HTTP -> DNS
    DNS -> HTTP -> ARP
    DNS -> ARP -> HTTP
    HTTP -> ARP -> DNS
    HTTP -> DNS -> ARP
    1、当你给WEB服务器接上网线的时候,它会自动发送一条ARP信息,使得接入网关能找的到它;
    网关上会形成一条类似:2c 96 1e 3c 3e 9b - 192.168.1.123的MAC地址到IP地址的映射记录。

    2、当第一个用户使用域名访问WEB服务器的时候,首先要进行一次DNS查询,以确定该域名的IP地址,

    3、用户通过IP地址,经过多个网络节点,访问到目标的服务器。

    4 设定数列{an}的前n项和为Sn,现在已知此数列满足an+Sn=10-7/2^n,那么an的通项公式是____。
    2^n/4 + 4
    -0.75n + 4
    (2.5n+3)/ 2^n
    (3n+2)/ 2^n
    (3.5n+3)/ 2^n
    -5/2^n + 4

    5 以下程序输出是____。

    [cpp] view plain copy
     
    1. #include <iostream>   
    2. using namespace std;   
    3. int main(void)   
    4. {   
    5.     const int a = 10;   
    6.     int * p = (int *)(&a);   
    7.     *p = 20;   
    8.     cout<<"a = "<<a<<", *p = "<<*p<<endl;   
    9.     return 0;   
    10. }   

    编译阶段报错运行阶段报错
    a = 10, *p = 10
    a = 20, *p = 20
    a = 10, *p = 20
    a = 20, *p = 10

    因为a 和p都指向相同的内存地址,所以输出的前两个结果是相同的,但为啥相同的内存里的结果不相同么?--这就是常量折叠.

    这个"常量折叠"是 就是在编译器进行语法分析的时候,将常量表达式计算求值,并用求得的值来替换表达式,放入常量表。可以算作一种编译优化。

    因为编译器在优化的过程中,会把碰见的const全部以内容替换掉(跟宏似的: #define pi 3.1415,用到pi时就用3.1415代替),
    这个出现在预编译阶段;但是在运行阶段,它的内存里存的东西确实改变了!!!
    简单的说就是,当编译器处理const的时候,编译器会将其变成一个立即数。


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


    7 给定一个整数sum,从有N个有序元素的数组中寻找元素a、b,使得 a+b 的结果最接近sum,最快的平均时间复杂度是____。
    O(N^2)
    O(log N)
    O(N)
    O(N^3)
    O(NLogN)
    不确定

    8 一个具有513个节点的二叉树,有___种可能的层高。
    513
    512
    504
    503
    2
    1

    设根节点高度为0,当为完全二叉树的时候,此时树的高度最小为log513=9,

    而非完全二叉树的最大高度为512,因此可能的高度为512-9+1=504;


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

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

    11 假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找5。下面____不可能是键的检查序列。
    10,9,8,7,6,5
    2,8,6,3,7,4,5
    1,2,9,3,8,7,4,6,5
    2,3,10,4,8,5
    4,9,8,7,5
    以上均正确

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


    13 作为特使,你需要组织A/B两国元首相约在杭州萧山机场交换一份重要文件(假设交换文件不需要时间)。约定两国飞机在晚上的20点至24点这4个小时会面,A国的飞机如果到了,会等待1个小时,B国的飞机如果到了,会等待2个小时,如果假设两架飞机在这段时间内降落机场的概率是均匀分布的,那么能顺利完成交换的概率是____。
    19/32
    7/16
    9/16
    5/16
    5/12
    5/8

     20<x<24
       20<y<24
       0<x-y<1
       0<y-x<2


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

    15 对于下面的说法,正确的是____。
    对于 struct X { short s; int i; char c; },sizeof(X) 的值等于 sizeof(s) + sizeof(i) + sizeof(c)
    对于某个double变量 a,可以使用 a == 0.0 来判断其是否为零
    初始化方式 char a[14] = "Hello, world!"; 和初始化方式 char a[14]; a = "Hello, world!"; 的效果相同
    在gcc编译器下,对于 int i = 3; printf("%d %d", ++i, ++i),运行输出为:4 5
    选项A、B、C、D中至少有两个是正确的
    以上选项均不正确

    16 一张1024×640分辨率的图片,假定每个像素用16位色彩表示,用位图文件(bitmap)格式存储,则这张图片文件需要占用多大的存储空间____。
    40KB
    640KB
    1280KB
    2560KB
    5120KB
    10240KB

    17 在64位系统下,分别定义如下两个变量:char *p[10]; char(*p1)[10];请问,sizeof(p)和sizeof (p1)分别值为____。
    4,40
    80,8
    10,10
    8,80
    40,4
    4,4
    char *p[10]是指针数组,即这个数组中有10个元素,里面放的都是指针. 这样写可能更容易分辨  char* p[10];这个数组中存放10个 char* 类型的指针,p是数组名 sizeof(p) = 8*10=80
    char(*p1)[10] 这个是 数组指针,即一个指针p1 指向char[10]这个数组,所以sizeof(p1) = 8;

    18 某程序员开发出了一款超级智能机器人,能对任何提问给出“是”或者“不是”的答案。现有3个这种机器人,其中有数量不定的(0到3个)机器人发生了故障。如果正常机器人总是给出正确的答案,而故障机器人总是给出错误的答案。每一回合只能问任意一个机器人任意一个问题,那么至少需要____回合才能确保区分出哪些机器人是正常,哪些是故障。
    1
    2
    3
    4
    5
    6

    19
    如下SQL语句中,____可能返回null值。
    (1) select count(*) from t1;
    (2) select max(col1) from t1;
    (3) select concat('max=',max(col1)) from t1;
    (1)可能,(2)和(3)不可能
    (2)可能,(1)和(3)不可能
    (2)可能,(1)和(3)不可能
    (1)不可能,(2)和(3)可能
    都不可能
    都可能

    20 以下使用了贪心算法的是____。
    KMP算法
    希尔排序算法
    冒泡排序算法
    Dijkstra算法
    快速排序算法
    Floyd算法

  • 相关阅读:
    从数据到代码—通过代码生成机制实现强类型编程
    .NET中oledb访问access含子查询的语句的参数置换顺序
    Android开发入门学习
    Shell脚本初步学习鸟哥Linux私房菜基础学习篇
    rpm打包学习
    关于计算机工作方向的几点想法
    source insight中文注释乱码问题的解决方案
    makefilerpm编译软件,输出依赖软件包的编译顺序
    在android中资源文件夹中添加一个新的图片资源
    Linux批量替换某种类型文件中的字符串sed和grep命令使用
  • 原文地址:https://www.cnblogs.com/xiaoyingying/p/7508942.html
Copyright © 2011-2022 走看看