2010 的笔试,没有去年的43页,也就21页,除去了不同语言(java、c/c++、C#)的题,真正要做的也就16页左右,时间是够的。

 

基本上当了炮灰,所以在这里列出来,和大家分享一下。其实有很多都不是很难得问题,但是多了起来就很难发挥好。

 

session 1(必做)

有点变态,因为无论你什么语言,都必须答——我常用java,很久没有其他的,都忘了那些语言的特性了。

 

1 一只蜗牛,在一根10feet的杆上,每天向上3feet,晚上休息,下降1feet,问第几天什么时候到杆顶?(应该是考虑最后一天的情况)

2 考了java,对于类的static synchronized ,问:能不能编译通过,能不能锁住对象?

3 考了c#,问一下代码输出的是什么?主要有个printer2,搞了个new virtual在搞搞阵。

 1 IPrint{
 2   void print(); 
 3 
 4  
 5 class Printer1:IPrint {
 6    public void print(){ Console.WriteLine("Printer1.")} }
 7  
 8 class Printer2:Printer1
 9 {
10   public new virtual void print() { Console.WriteLine("Printer2.")} }
11 
12  
13  class Printer3:Printer2
14 {
15   public override void print() { Console.WriteLine("Printer3.")} }
16 
17  
18  class Printer4:Printer3
19 {
20   public override void print() { Console.WriteLine("Printer4.")} }
21 }  
22 
23 IPrinter ip = new Printer4();
24 ip.print(); 

 

4 考了java的一个分析wait/sleep/notifyAll 的题目,问有无死锁。

5 考了一个C++版的继承与派生的问题

 1 class Base
 2 {
 3 int val;
 4 public Base():val(5);
 5 public virtual void print(){printf("%d",val);}
 6 }
 7 
 8 class Child
 9 {
10 int _j;
11 public Child():_j(8);
12 public void print(){printf("%d",_j);}
13 }
14 
15 

 

问以下情况什么时候会输出88888


 Child[
5] c;
 Base
* p = (Base*)c;
  
for(int i=0;i<5;++i)
 {
 p
->print();
 
++p;
 }
 
B...
 
 C
 Base[
5] c;
 Child
* p = (Child*)c;
 
for(int i=0;i<5;++i)
 {
 p
->print();
 
++p;
 }
 
 D
 Base[
5] c;
 Child
* p = //用dynamicCast
 for(int i=0;i<5;++i)
 {
 p
->print();
 
++p;
 }

相关文章:

  • 2021-11-29
  • 2021-06-20
  • 2021-11-17
  • 2021-12-12
  • 2022-01-15
  • 2021-11-18
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
  • 2021-08-22
  • 2021-10-26
  • 2022-12-23
  • 2022-01-02
相关资源
相似解决方案