首页 > 剑指offer > 网新恒天-2013年校园招聘笔试
2014
01-28

网新恒天-2013年校园招聘笔试

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11194703
一、英语
1、请将以下短文翻译成英文
电子商务是基于计算机技术、网络技术和远程通信技术,实现买卖双方不谋面地进行各种商贸活动,比如产品和服务的买卖。电子商务的蓬勃发展离不开当今人们的网购热情,根据一项网购习惯的调查显示,84%的中国内陆调查对象表示他们上网的主要目的就是网购。网上购物有很多优点,购物者足不出户就可以货比三家,买到心仪的商品。

二、基础知识(选择题)
1、下面程序的输出是:()
char s[] = "Welcometohengtian";    printf("%s%d",s+7,sizeof(s));
A、Welcometohengtian17
B、tohengtian18
C、tohengtian17
D、Welcometohengtian18
2、在操作系统中最常用来被作为存储文件关系的数据结构是()
A、链表       B、数组        C、堆栈       D、树
3、下列哪一项不属于应用程序在操作系统中的内存分配方式()
A、队列上分配     B、静态存储区分配    C、栈上分配      D、堆上分配
4、下列的排序算法中,初始数据集的排列顺序对算法的性能无影响的是()
A、插入排序    B、堆排序    C、冒泡排序    D、快速排序
5、下列关于一个类的静态成员的描述中,不正确的是()
A、该类的对象共享其静态成员变量的值
B、静态成员变量可被该类的所有方法访问
C、该类的静态方法只能访问该类的静态成员变量
D、该类的静态数据成员变量的值不可修改
6、操作系统中,以下哪种方式无法实现进程同步?    
A、Ctitical Section    B、Mutex    C、Semaphore   D、Event
7、在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。
A、N    B、N-1    C、N+1     D、N/2
8、下面哪一种操作不是 stack 的基本操作?()
A、入栈    B、出栈    C、检查是否为空    D、排序栈中元素
9、在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行()
A、p->next = HL->next ; HL->next = p ; 
B、p->next = HL ; HL = p ; 
C、p->next = HL ; p = HL ;
D、HL = p ; p->next = HL ;
10、对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K) = K%9 作为散列函数,则散列地址为1的元素有()个。
A、4      B、5       C、2       D、3
11、下列代码运行后,result的值是多少()
List<int> ints = new List<int>(){1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
var query = from i in ints
            where i%2 == 0 || i%3 == 0
            select i;
ints.RemoveAt(1);
int result = query.Count();
A、7           B、8             C、9          D、10
12、下面这段代码,当T分别是引用类型和值类型的时候,分别产生了多少个T对象()
T t = new T();
Func(t);
Func定义如下:
public void Func(T t)
{
}
A、1  1       B、2  1      C、2  2       D、1  2
13、在.NET中,char类型占几个字节()
A、1      B、2     C、4     D、运行时根据平台确定
14、下列哪个是C#中运行时常量的定义方法()
A、public static readonly int Port = 47896
B、public const int Port = 47896
C、public static const int Port = 47896
D、public static sealed int Port = 47896
15、在C#中类的默认访问级别是什么(该类不是内部类)()
A、internal       B、public     C、protected internal      D、private
16、下面的代码发生了多少次装箱操作()
String.Format("{0}:{1} , {2} , {3}}" , 2012 , 1.ToString() , "2" , DateTime.Now);
A、1       B、2       C、3       D、4
17、下面代码的输出结果是()

try
{
	try
	{
		int i = 0;
		object value = 1/i;
	}
	catch(NullReferenceException Exception)
	{
		Console.Write("Null Re Ex");
	}
	finally
	{
		Console.Write("Cleanup ");
	}
}
catch
{
	Console.Write("Generic catch ");
}

A、Null Re Ex Cleanup Generic catch
B、Null Re Ex Cleanup
C、Cleanup Generic catch
D、Generic catch Cleanup

18、下面这段代码的输出结果是()
B b = new B();
类定义如下:

class B : A
{
	static B()
	{
		Console.Write("B static ");
	}
	public B()
	{
		Console.Write("B base ");
	}
};
class A
{
	static A()
	{
		Console.Write("A static ");
	}
	public A()
	{
		Console.Write("A base ");
	}
};

A、A static A base B static B base 
B、B static B base A static A base
C、B static A static A base B base
D、A static B static B base A base

19、下面代码的输出结果是()
object obj = "2.0";
Console.Write(string.Format("{0:0.00}",obj));
A、2      B、2.00       C、2.0      D、空(无输出)

20、下面代码运行后,对象c的items列表有几个值()

class C
{
	static void Main()
	{
		C c = new C();
		c.Func(c.items);
	}
	private List<int> items = new List<int>();
	private void Func(List<int> items)
	{
		items.Add(1);
		this.items.Add(2);
		items = new List<int>();
		items.Add(1);
		this.items.Add(2);
	}
};

A、1          B、2           C、3          D、4

21、以下哪个表达式是不合法的()
A、 String x="Hello" ; int y = 9; x+=y;
B、String x="Hello" ; int y = 9; if(x==y)  {  }
C、String x="Hello" ; int y = 9; x=x+y;
D、String x3=null ; boolean y3=(x3!=null) && (x3.length()>0);
22、下面程序的运行结果是()

public class MathTest
{
	int add(int a , int b)
	{
		int result;
		result = a + b;
		return result;
	}
	public static void main(String[] args)
	{
		MathTest mathTest = new MathTest();
		int i = 2;
		int j = 3;
		System.out.println(mathTest.add(i++,++j));
	}
}

A、5       B、6      C、7      D、局部变量没有初始化,程序有错

23、下面关于new关键字的表述错误的是()
A、new关键字在生成一个对象时会为对象开辟内存空间
B、new关键字在生成一个对象时会调用类的构造方法
C、new关键字在生成一个对象时会将生成的对象的地址返回
D、Java中只能通过new关键字来生成一个对象

24、下面程序的运行结果是()

public class Person
{
	boolean flag;
	int age = 25;
	static String name = "zhangsan";
	public static void main(String[] args)
	{
		Person person1 = new Person();
		Person person2 = new Person();
		person1.age = 26;
		person1.name = "lisi";
		if(person1.flag)
		{
			person2 = person1;
			System.out.println(person1.name + " : " + person1.age);
			System.out.println(person2.name + " : " + person2.age);
		}
		else
		{
			System.out.println(person1.name + " : " + person1.age);
			System.out.println(person2.name + " : " + person2.age);
		}
	}
}

A、lisi : 26
    lisi : 25
B、lisi : 26
    zhangsan : 25
C、zhangsan : 26
     lisi : 25
D、程序有错误
25、下面程序编译时生成几个class文件?程序的运行结果是()

public class Persons
{
	public void changePersonInformation(Person person)
	{
		person = new Person();
		person.name = "ZhangSan";
		person.age = 25;
	}
	public static void main(String[] args)
	{
		Persons persons = new Persons();
		Person person = new Person();
		persons.changePersonInformation(person);

		System.out.println(person.name);
		System.out.println(person.age);
;	}
}
class Person
{
	String name = "LiSi";
	int age = 26;
};

A、2个 LiSi   26     B、1个 LiSi    26      C、2个 ZhangSan     25         D、1个 ZhangSan    25
26、下面程序的运行结果是()

public class ConstructorTest
{
	public ConstructorTest()
	{
		this(6);
		System.out.println("this is a constructor.");
	}
	public ConstructorTest(int i)
	{
		this(i-1 , --i);
		System.out.println(i);
	}
	public ConstructorTest(int i , int j)
	{
		System.out.println(i+j);
	}
	public static void main(String[] args)
	{
		ConstructorTest col = new ConstructorTest();
	}
};

A、6 this is a constructor. 9
B、10 5 this is a constructor.
C、5 9 this is a constructor.
D、5 10 this is a constructor.
27、下面程序的运行结果是()

public class Father
{
	public Father()
	{
		System.out.println("i am father.");
	}
	public void read()
	{
		System.out.println("Father is reading.");
	}
	public static void main(String[] args)
	{
		Father father = new Son();
		father.read();
	}
};
class Son extends Father
{
	public Son()
	{
		System.out.println("i am Son.");
	}
	public void read()
	{
		System.out.println("Son is reading.");
	}
};

A、 i am father.
     Father is reading.
B、 i am Son.
     Son is reading.
C、 i am father.
     i am Son.
     Son is reading.
D、 i am Son.
      i am father.
      Son is reading.
28、下面程序的运行结果是()

public class Father
{
	public Father()
	{
		System.out.println("i am father.");
	}
	public void read()
	{
		System.out.println("Father is reading.");
	}
	public static void main(String[] args)
	{
		Father father = new Son();
		father.write();
	}
};
class Son extends Father
{
	public Son()
	{
		System.out.println("i am Son.");
	}
	public void write()
	{
		System.out.println("Son is writting.");
	}
	public void read()
	{
		System.out.println("Son is reading.");
	}
};

A、 i am father.
    i am Son.
    Son is writting.
B、 i am Son.
    Son is writting.
C、 i am father.
    Son is writting.
D、 程序有错误,无法运行
29、下面程序的运行结果是()

public class OuterClass
{
	private class InterClass()
	{
		public InterClass()
		{
			System.out.println("InterClass Create");
		}
	}
	public OuterClass()
	{
		InterClass ic = new InterClass();
		System.out.println("OuterClass Create");
	}
	public static void main(String[] args)
	{
		OuterClass oc = new OuterClass();
	}
};

A、 OuterClass Create
B、 InterClass Create
C、 InterClass Create
     OuterClass Create
D、OuterClass Create
     InterClass Create
30、下面程序的运行结果是()

public class StringTest
{
	public static void main(String[] args)
	{
		String hello = "hello";
		String hel = "hel";
		String lo = "lo";
		System.out.println(hello == "hel" + "lo");
		System.out.println(hello == "hel" + lo);
	}
};

A、true
      true
B、false
      false
C、true
       false
D、false
       true

三、编程题
1、已知memcpy的函数为: void* memcpy(void *dest , const void* src , size_t count)其中dest是目的指针,src是源指针。不调用c++/c的memcpy库函数,请编写memcpy。

void* memcpy(void *dest , const void* src , size_t count)
{
	assert( (dest != NULL) && (src != NULL));     //安全检查
	assert(count > 0);
	char* psrc = (char *)src;
	char* pdest = (char *)dest;
	while(count--)
	{
		*pdest++ = *psrc++;
	}
	return dest;
}

四、附加题
1、用适当的方法统计出下面字符串中出现次数最多的字符,已知字符串为:
Welcome to our company Software Engineer Recruitment Examination.

char MostTimes(char* str)
{
	int i , max ,  hash[256];
	char ch;
	for(i = 0 ; i < 256 ; ++i)
		hash[i] = 0;
	for(i = 0 ; str[i] != '\0' ; ++i)
	{
		if((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
			++hash[str[i]];
	}
	for(i = 0 , max = 0; i < 256 ; ++i)
	{
		if(hash[i] > max)
		{
			max = hash[i];
			ch = i;
		}
	}
	return ch;
}

2、已知有一个object类型的输入obj,我们不清楚他到底是什么内容,请使用C#写一个函数将其转化为int类型。基本的函数签名可以是 int ParseInt(object obj),但不仅限于此。

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11194703

转自:http://blog.csdn.net/hackbuteer1/article/details/11194703