`
wangleide414
  • 浏览: 606944 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

名企笔试题

 
阅读更多

腾讯2011.10.15校园招聘会笔试题

1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B

A、插入排序                      B、堆排序                    C、冒泡排序                     D、快速排序

2、以下关于Cache的叙述中,正确的是(B

A、CPU中的Cache容量应大于CPU之外的Cache容量

B、Cache的设计思想是在合理成本下提高命中率

C、Cache的设计目标是容量尽可能与主存容量相等

D、在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素

3、数据存储在磁盘上的排列方式会影响I/O服务的性能,一个圆环的磁道上有10个物理块,10个数据记录R1------R10存放在这个磁道上,记录的安排顺序如下表所示:

 

物理块

1

2

3

4

5

6

7

8

9

10

逻辑记录

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

 

假设磁盘的旋转速度为20ms/周,磁盘当前处在R1的开头处,若系统顺序扫描后将数据放入单缓冲区内,处理数据的时间为4ms(然后再读取下个记录),则处理这10个记录的最长时间为(C

A、180ms                           B、200ms                          C、204ms                             D、220ms

4、随着IP网络的发展,为了节省可分配的注册IP地址,有一些地址被拿出来用于私有IP地址,以下不属于私有IP地址范围的是(C)(私网IP地址:10.0.0.0- 10.255.255.255 ;172.16.0.0 -   172.31.255.255;192.168.0.0-192.168.255.255。故选C)

A、10.6.207.84                              B、172.23.30.28                      C、172.32.50.80               D、192.168.1.100

5、下列关于一个类的静态成员的描述中,不正确的是(D

A、该类的对象共享其静态成员变量的值                              B、静态成员变量可被该类的所有方法访问                 

C、该类的静态方法只能访问该类的静态成员变量                 D、该类的静态数据成员变量的值不可修改

6、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7计算散列地址,并散列存储在散列表A【0....6】中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(C

A、1.5                  B、1.7                           C、2.0                       D、2.3

依次进行取模运算求出哈希地址:

 

A

0

1

2

3

4

5

6

记录

63

48

 

38

25

74

52

查找次数

1

3

 

1

1

2

4

 

74应该放在下标为4的位置,由于25已经放在这个地方,所以74往后移动,放在了下标为5的位置上了。

由于是等概率查找,所以结果为:1/6*(1+3+1+1+2+4)= 2.0

7、表达式“X=A+B*(C--D)/E”的后缀表示形式可以为(C

A、XAB+CDE/-*=                     B、XA+BC-DE/*=                      C、XABCD-*E/+=                         D、XABCDE+*/=

8、(B)设计模式将抽象部分与它的实现部分相分离。

A、Singleton(单例)                   B、 Bridge(桥接)                     

C、 Composite(组合)                                   D、 Facade(外观)

9、下面程序的输出结果为多少?

  1. void Func(char str_arg[100])  
  2. {  
  3.     printf("%d\n",sizeof(str_arg));  
  4. }  
  5.   
  6. int main(void)  
  7. {  
  8.     char str[]="Hello";  
  9.     printf("%d\n",sizeof(str));  
  10.     printf("%d\n",strlen(str));  
  11.     char *p = str;  
  12.     printf("%d\n",sizeof(p));  
  13.     Func(str);  
  14. }  

输出结果为:6   5     4      4

对字符串进行sizeof操作的时候,会把字符串的结束符“\0”计算进去的,进行strlen操作求字符串的长度的时候,不计算\0的。

数组作为函数参数传递的时候,已经退化为指针了,Func函数的参数str_arg只是表示一个指针,那个100不起任何作用的。

10、下面程序的输出结果为多少?

  1. void Func(char str_arg[2])  
  2. {  
  3.     int m = sizeof(str_arg);     //指针的大小为4  
  4.     int n = strlen(str_arg);     //对数组求长度,str_arg后面的那个2没有任何意义,数组已经退化为指针了  
  5.     printf("%d\n",m);  
  6.     printf("%d\n",n);  
  7. }  
  8. int main(void)  
  9. {  
  10.     char str[]="Hello";  
  11.     Func(str);  
  12. }  

输出结果为:      4         5

strlen只是对传递给Func函数的那个字符串求长度,跟str_arg中的那个2是没有任何关系的,即使把2改为200也是不影响输出结果的。。

11、到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

算法编程题

1、给定一个字符串,求出其最长的重复子串。
思路:使用后缀数组,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两个字符串的开头公共部分。
这样的时间复杂度为:

生成后缀数组 O(N)
排序 O(NlogN*N) 最后面的 N 是因为字符串比较也是 O(N)
依次检测相邻的两个字符串 O(N * N)
总的时间复杂度是 O(N^2*logN), 

网易游戏2011.10.15校园招聘会笔试题

 

1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。

2、如果X大于0并小于65536,用移位法计算X乘以255的值为:-X+X<<8

X<<8-X是不对的,X<<8,已经把X的值改变了(订正:X<<8是个临时变量,不会改变X的值,就像a+1不会改变a一样)。

3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有   3n+1   个空指针。

4、以下两个语句的区别是:

  1. int *p1 = new int[10];  
  2. int *p2 = new int[10]();  

5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0X12           小端模式:0X56           X86结构的计算机使用  小端    模式。

一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。

6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:

int (*fun)(int *)

7、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:

(1)恰好第K次(1=<K<=N)打开宝箱的概率是多少。

(2)平均需要尝试多少次。

百度2011.10.16校园招聘会笔试题

 

 一、算法设计
1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。

2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。

3、C++ STL中vector的相关问题:
    (1)、调用push_back时,其内部的内存分配是如何进行的?
    (2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作?

二、系统设计
正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。

三、求一个全排列函数:
如p([1,2,3])输出:
[123]、[132]、[213]、[231]、[321]、[323]
 求一个组合函数
如p([1,2,3])输出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]
这两问可以用伪代码。
 

迅雷2011.10.21笔试题

1、下面的程序可以从1....n中随机输出m个不重复的数。请填空

knuth(int n, int m)

{

         srand((unsigned int)time(0));

       for (int i=0; i<n; i++)

          {

                 if (            )

                  {

                                cout<<i<<endl;

                                                         ;

                   }

          }

}

分别为:rand()%(n-i)<m  和 m--;

2、以下prim函数的功能是分解质因数。请填空

void prim(int m, int n)

{

    if (m>n)

    {

        while (            ) n++;

                                       ;

       prim(m,n);

       cout<<n<<endl;

    }

}

分别为:m%n  和 m/=n

3、下面程序的功能是输出数组的全排列。请填空

void perm(int list[], int k, int m)

{

    if (            )

    {

        copy(list,list+m,ostream_iterator<int>(cout," "));

        cout<<endl;

        return;

    }

    for (int i=k; i<=m; i++)

    {

        swap(&list[k],&list[i]);

                                         ;

        swap(&list[k],&list[i]);

    }

}

分别为:k==m 和 perm(list,k+1,m)

二、主观题:

1、(40分)用户启动迅雷时,服务器会以uid,login_time,logout_time的形式记录用户的在线时间;用户在使用迅雷下载时,服务器会以taskid,start_time,finish_time的形式记录任务的开始时间和结束时间。有效下载时间是指用户在开始时间和结束时间之间的在线时间,由于用户可能在下载的时候退出迅雷,因此有效下载时间并非finish_time 和 start_time之差。假设登录记录保存在login.txt中,每一行代表用户的上下线记录;下载记录保存在task.txt中,每一行代表一个任务记录,记录的字段之间以空格分开。计算每个用户的有效下载时间和总在线时间的比例。注意:请尽量使用STL的数据结构和算法
2、(60分)在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会,且n个人走的总步数最少,先到聚会地点的骑士可以不再移动等待其他的骑士。
 从键盘输入n(0<n<=64),然后一次输入n个骑士的初始位置xi,yi(0<=xi,yi<=7)。屏幕输出以空格分隔的三个数,分别为聚会点(x,y)以及走的天数。


 

盛大游戏2011.10.22校园招聘会笔试题

1、下列代码的输出为:

  1. #include "iostream"  
  2. #include "vector"  
  3. using namespace std;  
  4.   
  5. int main(void)  
  6. {  
  7.     vector<int>array;  
  8.     array.push_back(100);  
  9.     array.push_back(300);  
  10.     array.push_back(300);  
  11.     array.push_back(500);  
  12.     vector<int>::iterator itor;  
  13.     for(itor=array.begin();itor!=array.end();itor++)  
  14.     {  
  15.         if(*itor==300)  
  16.         {  
  17.             itor = array.erase(itor);  
  18.         }  
  19.     }  
  20.     for(itor=array.begin();itor!=array.end();itor++)  
  21.     {  
  22.         cout<<*itor<<" ";  
  23.     }  
  24.     return 0;  
  25. }  

A、100   300   300   500      B、100    300     500       C、100    500      D、程序错误

vector在erase之后,指向下一个元素的位置,其实进行erase操作时将后面所有元素都向前移动,迭代器位置没有移动。itor=array.erase(itor)  erase返回下一个元素的地址,相当于给itor一个新值。

2、下列代码的输出为:

  1. class CParent  
  2. {  
  3. public:  
  4.     virtual void Intro()  
  5.     {  
  6.         printf("I'm a Parent, ");  
  7.         Hobby();  
  8.     }  
  9.     virtual void Hobby()  
  10.     {  
  11.         printf("I like football!");  
  12.     }  
  13. };  
  14. class CChild:public CParent  
  15. {  
  16. public:  
  17.     virtual void Intro()  
  18.     {  
  19.         printf("I'm a Child, ");  
  20.         Hobby();  
  21.     }  
  22.     virtual void Hobby()  
  23.     {  
  24.         printf("I like basketball!\n");  
  25.     }  
  26. };  
  27. int main(void)  
  28. {  
  29.     CChild *pChild = new CChild();  
  30.     CParent *pParent = (CParent*)pChild;  
  31.     pParent->Intro();  
  32.     return 0;  
  33. }  

A、I'm a Child,I like football!                            B、I'm a Child,I like basketball!  

C、I'm a Parent,I like football!                         D、I'm a Parent,I like basketball! 

3、在win32平台下,以下哪种方式无法实现进程同步?

A、Critical Section      B、Event      C、Mutex         D、Semaphore

4、以下哪句的说法是正确的
A、在页式存储管理中,用户应将自己的程序划分为若干个相等的页
B、所有的进程都挂起时,系统将陷入死锁
C、执行系统调用可以被中断
D、进程优先数是进程调度的重要依据,必须根据进程运行情况动态改变

5、以下描述正确的是
A、虚函数是可以内联的,可以减少函数调用的开销提高效率
B、类里面可以同时存在函数名和参数都一样的虚函数和静态函数
C、父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类对象指针会调用父类的析构函数
D、以上都不对

简答题:快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么?请结合本例说明你对递归程序的理解。
算法题:用你熟悉的编程语言,设计如下功能的函数:输入一个字符串,输出该字符串中所有字母的全排列。程序请适当添加注释。
C++函数原型: void Print(const char *str)
输入样例: abc
输出结果: abc、acb、bca、bac、cab、cba

(以上部分整理自此君博客:http://blog.csdn.net/Hackbuteer1。十分感谢。有何不妥之处,还望海涵海涵。)
 

后续整理

  1. 12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂 ? 
  2.  

    hash冲突时候的解决方法?
     1)、开放地址法
     2)、再哈希法
     3)、链地址法
     4)、建立一个公共溢出区
  3. int main()
    {
      if()
      {   
        printf("Hello ");
      }
      else
      {
        printf("World !!!");
      }
      return 0;
    }
    在if里面请写入语句 使得打印出  hello  world。
  4. 今天10.19西山居笔试题:
    分别写一个宏和函数来获取元素个数 如count(a) 会得到a数组元素个数 。
  5. 平均要取多少个(0,1)中的随机数才能让和超过1。(答案: e 次,  其中e是自然对数的底数)
  6. 今天支付宝10.20笔试题:汉诺塔一共为 2*N,2个一样大小,有编号顺序 每次只能移动一个 大的不能叠在小得上面 移动完之后,相同大小的编号必须和原来一样 问最小要移动多少次? 如 A1 A2  B1 B2 C1 C2 ...... 这样叠,A<B<C....   B不能放A上面,C不能放B A上面,移动到另外一个柱子后,还必须是 A1 A2  B1 B2 C1 C2 ....
  7. socket编程的问题
    TCP连接建立后,调用send 5次,每次发100字节,问recv最少要几次,最多要几次?
  8. 迅雷笔试题:
    下面的程序可以从1....n中随机输出m个不重复的数。请填空
    knuth(int n, int m) 
    {
        srand((unsigned int)time(0));
        for (int i=0; i<n; i++)
            if (            )
            {
               cout<<i<<endl;
                (                 );
            }
    }
  9. 四个线程t1,t2,t3,t4,向4个文件中写入数据,t1只能写入1,t2只能写入2,t3只能写入3,t4只能写入4,对4个文件A,B,C,D写入如下内容
    A:123412341234.....
    B:234123412341....
    C:341234123412....
    D:412341234123....
    怎么实现同步可以让线程并行工作?
  10. 比如一个数组[1,2,3,4,6,8,9,4,8,11,18,19,100]
    前半部分是是一个递增数组,后面一个还是递增数组,但整个数组不是递增数组,那么怎么最快的找出其中一个数?
  11. 今日10.21迅雷笔试题:
  12.   1、一棵二叉树节点的定义(和平时我们定义的一样的) 它给出了一棵二叉树的根节点 说现在怀疑这棵二叉树有问题 其中可能存在某些节点不只有一个父亲节点 现要你编写一个函数判断给定的二叉树是否存在这样的节点  存在则打印出其父亲节点返回true 否则返回false
    打印节点形式:
    [当前节点][父亲节点1][父亲节点的父亲节点][。。。]
    [当前节点][父亲节点2][父亲节点的父亲节点][。。。]
      2、有一亿个整数,请找出最大的1000个,要求时间越短越好,空间占用越少越好
  13. 在频繁使用小内存时,通常会先申请一块大的内存,每次使用小内存时都从大内存里取,最后大内存使用完后一次性释放,用算法实现。
  14. 今天亚马逊A卷校招笔试题:
    输入一个字符串,如何求最大重复出现的字符串呢?比如输入ttabcftrgabcd,输出结果为abc,canffcancd,输出结果为can。
  15. 今天10.22盛大:删除模式串中出现的字符,如“welcome to asted”,模式串为“aeiou”那么得到的字符串为“wlcm t std",要求性能最优。
  16. 数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小 
    数组中的数的取值范围是0<x<100,元素个数也是大于0, 小于100 
    比如a[]={2,4,5,6,7},得出的两组数{2,4,6}和{5,7},abs(sum(a1)-sum(a2))=0;
    比如{2,5,6,10},abs(sum(2,10)-sum(5,6))=1,所以得出的两组数分别为{2,10}和{5,6}。
  17. 百度北京研发一道系统设计题,如何快速访问ipv6地址呢?ipv6地址如何存放?
  18. 百度2012校招北京站笔试题系统设计:正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。 
  19. #include <iostream>
    using namespace std;
    class A
    {
    public:
    A(){cout<<"A"<<endl;}
    ~A(){cout<<"~A"<<endl;}
    };
    class B
    {
    public:
    B(A &a):_a(a)
    {
    cout<<"B"<<endl;
    }
    ~B(){cout<<"~B"<<endl;}
    private:
    A _a;
    };
    int main()
    {
    A a; 
    B b(a); 
    return 0;
    //  构造次序和析构次序是对称的,这种题解答都是有技巧的.
    //  拷贝构造就不说了,构造过程是:
    //  A A B ,那么析构必然是对称的:B A A。
    }
....
分享到:
评论

相关推荐

    名企笔试真题精选

    ### 名企笔试真题精选知识点解析 #### 一、名企笔试面试的特点及目的 - **特点**:大型企业和跨国公司在招聘过程中会设置各种类型的笔试和面试题目,其中包括智力题、数学题、图形题等非常规题目。这些题目通常...

    2019年工作面试真题之最新名企笔试题

    2019年工作面试真题之最新名企笔试题:1000亿条记录中查询内容(腾讯笔试题),华为校招笔试题(字符集合),京东校园招聘笔试真题(快速排序),类似跳表数据结构,查找元素的复杂度(腾讯笔试题),连通图的最大...

    华为等名企笔试题

    不过,我可以基于您提供的标题“华为等名企笔试题”来介绍一些IT行业笔试中常见的知识点和题型。 在IT行业的笔试中,应届大学生及求职者通常会被考察以下几个方面的知识点: 1. 编程语言基础知识: - 语言语法:...

    名企求职笔试大礼包(几十套名企笔试试题)

    1. **逻辑推理**:许多公司的笔试题都会包含逻辑推理部分,如图形推理、数字序列分析、条件推理等,这些都是考察求职者的逻辑思维能力和问题解决能力。 2. **数学应用**:数学应用题通常会涉及到基础数学知识,如...

    牛客网_名企校招笔试真题精选技术篇

    操作系统作为计算机科学的基础,其内存管理、进程通信、线程调度、磁盘I/O等内容也可能出现在笔试题中。你需要了解操作系统的工作原理,理解虚拟内存、死锁、同步与通信等概念。 计算机网络是另一个重要的领域,TCP...

    2017-18年名企笔试题(百度,淘宝等)

    淘宝,百度等名企的笔试题,作为开发人员,掌握这些是很有必要的

    java各名企笔试题汇总

    从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出多个与Java相关的知识点,以下是对这些知识点的详细解析: ### Java基础知识 1. **类加载机制**:Java类加载器负责在运行时查找并加载类的字节码文件...

    IT名企2016笔试真题+答案

    “2016奇虎360C++研发工程师内推笔试题.pdf”和“2016奇虎360JAVA研发工程师内推笔试题.pdf”展示了360公司对于安全和性能的要求。360作为网络安全领域的领头羊,其笔试题目可能会涉及到C++或Java的内存管理、多线程...

    华为、联想等名企笔试题

    根据给定文件的信息,我们可以总结出以下相关的IT知识点: ### IT知识点分析 #### OSI模型与TCP/IP模型 1. **OSI模型与TCP/IP模型**: - **OSI(Open Systems Interconnection)模型**:这是一个由国际标准化组织...

    名企笔试题及答案,有用哦

    ### 一、名企笔试的重要性与目的 名企在招聘过程中往往采用笔试的方式筛选候选人。这种方式旨在评估应聘者的基础知识、逻辑思维能力、解决问题的能力以及个人特质等方面。对于求职者而言,通过准备名企笔试不仅能...

    100家IT名企笔试面试题

    100家IT名企笔试面试题 百度笔试题,中兴笔试题,腾讯笔试题,华为笔试题,联想笔试题

    各大IT名企笔试题(不断更新中)

    总的来说,准备这些名企的笔试题,需要全面且深入地学习IT基础知识,并通过实际编程练习提升解决问题的能力。不断更新自己的知识库,紧跟技术发展潮流,是成功应聘的关键。同时,参与实习也是积累经验、提升自我竞争...

    2018名企校招笔试真题精选技术篇.pdf.zip

    这份名为“2018名企校招笔试真题精选技术篇.pdf.zip”的压缩包文件,内含一个名为“2018名企校招笔试真题精选技术篇.pdf”的文档,是博主在春招期间购买于牛客网并经过个人复习标注的资源。这个文档主要针对的是算法...

    名企笔试(题库) .

    【名企笔试题库解析与知识点详解】 在求职过程中,尤其是应聘知名企业的职位时,笔试环节往往是必不可少的一环。这份“名企笔试(题库)”涵盖了民企笔试中常见的各类题目,旨在帮助求职者了解并熟悉笔试流程,提高...

    16-17年it名企技术岗笔试题汇总

    总的来说,"16-2017年名企笔试题汇总"是一个宝贵的资源,它反映了IT行业在过去几年的技术趋势和企业需求,对于想要进入IT行业的求职者来说,这是一个不可多得的学习和自我评估的机会。通过深入研究这些题目,不仅...

Global site tag (gtag.js) - Google Analytics