百世集团2016校园招聘开发工程师笔试试卷

来源:互联网 发布:sql存储过程输出参数 编辑:程序博客网 时间:2024/04/19 01:25

1、从按下pc的电源键开始,到屏幕上出现windows的欢迎界面为止,请尝试从计算机软硬件的角度来描述一下这期间分别发生了什么事情?


     

      启动bios检测硬件,正常以后读取硬盘系统盘,启动操作系统,看到页面。
 


2、udp、IP、ftp、tcp、http这五个协议如果从网络分层的角度看的话,哪些协议在上层,哪些协议在下层,哪些协议在同一层?


    http、ftp在同一层,应用层,udp、tcp在同一层,传输层,ip在网络层


    


3、有如下表记录:


   LOGIN:  

IDUSER_IDLastLoginTime10 10022011/11/25 16:31:261310002012/1/22   16:27:071910002011/10/25 14:13:464210002011/11/20 14:20:104510012012/4/25  14:17:394910012012/5/25   14:22:36

用一句sql查询出登陆次数超过1次的user_id.


  select  user_id from LOGIN group by user_id having count(user_id)>1;


4、什么是死锁,举一个例子


 死锁: 死锁就是两个或两个以上线程在执行的过程中因争夺资源而处于相互等待的状态。

  

  例子:中国人吃饭用两只筷子,美国人吃饭用一把刀和一把叉子,在中国人有一只筷子和一把刀,美国人有一只筷子和一把叉子,

     中国人要美国人给他一只筷子,美国人要中国人给他一把刀互相等待,谁也没吃成饭。


5、虚拟内存的容量只受(D)的限制

A、物理内存的大小   B、磁盘空间的大小    C、数据存放的实际地址      D、计算机地址位数


6、以下程序输出的结果是什么?

public class MyClass{String str=new String("hello");char [] ch={'a','b','c'};public static void main(String[] args) {MyClass cs=new MyClass();cs.change(cs.str, cs.ch);System.out.print(cs.str+" and ");System.out.println(cs.ch);}public void change(String str,char ch[]){str="test";ch[0]='s';}}
输出结果:hello and sbc



7、对于一个二叉树,其程序遍历次序是ecdfbagb,中序遍历是dfceabbg,后序遍历次序是什么?



前序遍历:根节点->左子树->右子树

中序遍历:左子树->根节点->右子树

后序遍历:左子树->右子树->根节点


前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。


8、查找单向链表的中间节点,请先用文字描述你的思路,再编程实现。


设立两个指针,一个单步走,一个两步走,当大步指针到达链表尾部的时候,小步指针也正好位于链表中间位置。


Node *findMiddleList(Node *head){if(null=head||null=head->next){return head;}Node *p1=*p2=head;while(null!=p1->next&&null!=p2->next->next){p2=p2->next->next;p1=p1->next;}return p1;}



9、一个数组有2N+1个1万以内的自然数,其中2N个是两两相等的,还有一个是和其他都不等的。问把那个不同的数求出来,请用文字描述你的思路。


10、已知有甲乙两个人,甲一次性要发很多个数据给乙(都是自然数,比如12,200,7这样),然而甲乙两人之间的通信线路只能发送0到9这十个字符,不能发送其他字符,并且只能发送一次(字符串长度不限),请设计出一个协议,当甲乙都遵守这个协议的时候,乙可以从收到的数据中分析出甲发的原始信息。


0 0