非常可贺吧 关注:125贴子:1,268
  • 2回复贴,共1

百度招聘工程师的笔试题

取消只看楼主收藏回复

 
 想去百度当工程师吗?来做一下百度的笔试题吧! 

一、选择题:15分 共10题  
1. 在排序方法中,关键码比较次数与记录地初始排列无关的是 .  
A. Shell排序 B. 归并排序 C. 直接插入排序 D. 选择排序  

2. 以下多线程对int型变量x的操作,哪几个需要进行同步:  
A. x=y; B. x++; C. ++x; D. x=1;  

3. 代码  
void func() {  
static int val;  
…  
}  
中,变量val的内存地址位于:  
A. 已初始化数据段 B.未初始化数据段 C.堆 D.栈  

4. 同一进程下的线程可以共享以下  
A. stack B. data section  
C. register set D. thread ID  

5. TCP和IP分别对应了 OSI中的哪几层?  
A. Application layer  
B. Data link layer  
C. Presentation layer  
D. Physical layer  
E. Transport layer  
F. Session layer  
G. Network layer  

6. short a[100],sizeof(a)返回?  
A 2 B 4 C 100 D 200 E 400  

7. 以下哪种不是基于组件的开发技术_____。  
A XPCOM B XP C COM D CORBA  

8. 以下代码打印的结果是(假设运行在i386系列计算机上):  
struct st_t  
{  
int status;  
short* pdata;  
char errstr[32];  
};  

st_t st[16];  
char* p = (char*)(st[2].errstr + 32);  
printf("%d", (p - (char*)(st)));  

A 32 B 114  
C 120 D 1112  

9. STL中的哪种结构是连续形式的存储  
A map B set C list D vector  

10. 一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是( )  
A、EDCBA; B、DECBA; C、DCEAB; D、ABCDE  
 
 
 



IP属地:山东1楼2007-07-10 14:52回复
    二、简答题:20分,共2题 

    1. (5分)重复多次fclose一个打开过一次的FILE *fp指针会有什么结果,并请解释。 
    考察点:导致文件描述符结构中指针指向的内存被重复释放,进而导致一些不可预期的异常。 

    2. (15分)下面一段代码,想在调用f2(1)时打印err1,调用f2(2)时打印err4,但是代码中有一些问题,请做尽可能少的修改使之正确。 

    1 static int f1(const char *errstr, unsigned int flag) { 
    2 int copy, index, len; 
    3 const static char **__err = {“err1”, “err2”, “err3”, “err4”}; 

    5 if(flag & 0x10000) 
    6 copy = 1; 
    7 index = (flag & 0x300000) >> 20; 

    9 if(copy) { 
    10 len = flag & 0xF; 
    11 errstr = malloc(len); 
    12 if(errstr = NULL) 
    13 return -1; 
    14 strncpy(errstr, __err[index], sizeof(errstr)); 
    15 } else 
    16 errstr = __err + index; 
    17 } 
    18 
    19 void f2(int c) { 
    20 char *err; 
    21 
    22 swtch© { 
    23 case 1: 
    24 if(f1(err, 0x110004) != -1) 
    25 printf(err); 
    26 case 2: 
    27 if(f2(err, 0x30000D) != -1) 
    28 printf(err); 
    29 } 
    30 }


    IP属地:山东2楼2007-07-10 14:52
    回复
      三、编程题:30分 共1题 
      注意:要求提供完整代码,如果可以编译运行酌情加分。 

      1. 求符合指定规则的数。 
      给定函数d(n) = n + n的各位之和,n为正整数,如 d(78) = 78+7+8=93。 这样这个函数可以看成一个生成器,如93可以看成由78生成。 
      定义数A:数A找不到一个数B可以由d(B)=A,即A不能由其他数生成。现在要写程序,找出1至10000里的所有符合数A定义的数。 
      输出: 


      …


      IP属地:山东3楼2007-07-10 14:53
      回复