亚信科技java面试题【亚信科技java面试题及答案】.doc
亚信科技java面试题【亚信科技java面试题及答案】亚信科技集团是在美国纳斯达克成功上市的第一家中国高科技企业,亚信科技java的职位面试自然少不了要回答面试题,以下是WTT为大家收集到的亚信科技java面试题,希望对大家有帮助!亚信科技java面试题篇1 (共30分)1、(14分)在计费系统的预处理程序中,对话单进行格式转换时,需要使用strcpy函数已知strcpy,此函数的原型是char *strcpy(char *strDest, const char *strSrc);其中strDest是目的字符串,strSrc是源字符串。编写strcpy函数(1)不调用C+/C的字符串库函数,请编写函数 strcpy(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?2、(16分)在电信业务的后台处理程序中,经常会涉及到处理字符串,除了用char *处理字符串之外,C+还为我们提供了封装了的字符串类string,其本质也是用一个动态数组来保存字符串,类String的原型为:class Stringpublic:String(const char *str = NULL); / 普通构造函数String(const String &other); / 拷贝构造函数 String(void); / 析构函数String & operate =(const String &other); / 赋值函数private:char *m_data; / 用于保存字符串;请编写String的上述4个函数普通构造函数、拷贝构造函数、析构函数和赋值函数。亚信科技java面试题篇2 (单选题3分,多选题4分,共32分)在每小题列出的四个备选项中只有1个或2个是符合题目要求的,多选题已用*标识出来,请将其答案填写在题后的括号内,错选或未选均无分。1、下面这段关于指针和常量的关系的程序哪些是错误的( D ) void f(char * p)char s = “HW5,V,0,13821801333”;const char * pc =s; /Apc3 = g; /Bpc = p; /Cchar * const cp = s;cp3 = ‘a; /DA.const char * pc =s;B.pc3 = g;C.pc = p;D.cp3 = ‘a*2、下列关于函数指针的初始化哪些是错误的?( )A. void reset(int *);void (*pf) (void *) = reset;B. int calc(int ,int );int (*pf1)(int ,int ) =calc;C. extern “c” int pute(int * ,int);int (*pf3)(int *,int) = pute;D. void (*pf4)(const matrix &)=0;3、在计费预处理程序中,取话单函数GetNextCdr的原形类似于int GetNextCdr(StdCdr *pd, int &ri),变量x和y的定义是 StdCdr x; int y,把x和y分别作为第一参数和第二参数来调用函数GetNextCdr,正确的调用语句是( B )A.GetNextCdr (x,&y);B.GetNextCdr (&x,y);C.GetNextCdr (&x,&y);D.GetNextCdr (x,y);4、下列关于结构体的使用哪些是正确的?(C )A. struct StdCdrchar switch3;int number;StdCdr * next;B. struct StdCdrchar switch3;int number;StdCdr next;C. struct StdCdrchar switch3;int number;StdCdr * next;D. StdCdr pStd = new StdCdr;pStd. number = 10;5、对于如下程序#include class A public:A std:cout<<“A”< ;int main A a4, b,*p; 会输出多少个A?( C )A.2B.3C.5D.66、派生类的对象对它的基类成员中哪些是可以访问的?(A.公有继承的成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员E.私有继承的公有成员7、下面派生类的虚函数的重新声明哪些是良好的?( )A.Base * Base:copy(Base *);Base * Derived:copy(Derived * );B.Base * Base:copy(Base *);Base * Derived:copy(Base * );C.ostream & Base:print(int,ostream&= cout);ostream & Derived:print(int,ostream&);D.void Base:evalconst; D E )void Derived:eval;* 8、已知下列类层次结构,他们都定义了缺省的构造函数( C D )class X ;class A ;class B: public A ;class C: private B ;class D:public X,public C ;D * pd = new D;对于下列哪些转换是不允许的?A. X * px = pd;B. B * pb = pd;C. A * pa = pd;D. C * pc = pd;9、在对语音话单文件进行取话单字段信息操作时,需要用刀lseek函数,在lseek函数的 (int filedes, off_t offset, int whence)参数中,若whence参数为SEEK_CUR,则offset参数代表下列的哪个含义( B )A.将该文件的位移量设置为距文件开始处offset个字节。B.将该文件的位移量设置为其当前值加offset, offset可为正或负。C.将该文件的位移量设置为文件长度加offset, offset可为正或负。D.将该文件的位移量设置文件起始位置。10、在打开一个ASCII文本格式的语音清单文件时,需要用到open函数,在open函数的oflag参数中,下面的哪个选项代表“若此文件不存在则创建它”的含义( B )A. O_APPENDB. O_CREATC. O_EXCLD. O_TRUNC亚信科技java面试题篇3 (共38分)1、(5分)头文件中的 ifndef/define/endif 有什么作用?避免重定义2、(6分)const 有什么用途?(请至少说明两种)防止传递的函数参数不被修改 提高程序健壮性创建数组常量、指针常量、指向常量的指针3、(8分)如下的字符串函数,用于生存一个字符串 ”连接号码异常” ,并返回它的指针 char* strfunchar str20;strcpy(str, “连接号码异常”);printf(“%s n”, str); /printf语句1return str;mainchar *pstr = strfun ;printf(“%s n”, pstr); /printf语句2问题1 : printf语句1和printf语句2哪个能在屏幕上正在打印出来?问题2 : 如果不能正常在屏幕上打印出字符串,请说明原因。问题3 : 如果不修改strfun的声明,请问该如何修改上述程序的错误。4、(7分)下面是交换两个double型数据的函数,swap( double* p1, double* p2 )double *p;*p = *p1;*p1 = *p2;*p2 = *p;maindouble a = 0.1;double b = 0.2;swap( &a, &b );请找出上述代码的错误,指出错误的原因,并改正。5、(7分)如果Win32程序的消息处理函数的定义由LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)修改为LRESULT CALLBACK WndProc(MSG msg)/MSG结构体中的成员变量包含有hWnd、message、wParam 和lParam等这种修改可行吗?为什么?6、(5分)MFC中,CWnd类作为所有窗体封装类的根类,它定义的一些成员函数名称与Win32 API函数名称完全相同,且功能也完全相同,如ShowWindow、UpdateWindow等。但函数参数却不同,如:CWnd类 BOOL ShowWindow( int nCmdShow );Win32 API BOOL ShowWindow(HWND hWnd, int nCmdShow);问题:为什么CWnd: ShowWindow函数少了一个参数也能实现相同的功能第 11 页 共 11 页