学习啦 > 创业指南 > 职场 > 面试题 > 亚信科技java面试题及答案

亚信科技java面试题及答案

时间: 如英753 分享

亚信科技java面试题及答案

  亚信科技集团是在美国纳斯达克成功上市的第一家中国高科技企业,亚信科技java的职位面试自然少不了要回答面试题,以下是小编为大家收集到的亚信科技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 String

  {

  public:

  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; //A

  pc[3] = ’g’; //B

  pc = p; //C

  char * const cp = s;

  cp[3] = ‘a’; //D

  }

  A.const char * pc =s;

  B.pc[3] = ’g’;

  C.pc = p;

  D.cp[3] = ‘a’

  *2、下列关于函数指针的初始化哪些是错误的?( )

  A. void reset(int *);

  void (*pf) (void *) = reset;

  B. int calc(int ,int );

  int (*pf1)(int ,int ) =calc;

  C. extern “c” int compute(int * ,int);

  int (*pf3)(int *,int) = compute;

  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 StdCdr

  {

  char switch[3];

  int number;

  StdCdr * next;

  }

  B. struct StdCdr

  {

  char switch[3];

  int number;

  StdCdr next;

  }

  C. struct StdCdr

  {

  char switch[3];

  int number;

  StdCdr * next;

  };

  D. StdCdr pStd = new StdCdr;

  pStd. number = 10;

  5、对于如下程序

  #include

  class A

  { public:

  A() {std::cout<<"A"<

  };

  int main()

  { A a[4], b,*p; }

  会输出多少个A?( C )

  A.2

  B.3

  C.5

  D.6

  6、派生类的对象对它的基类成员中哪些是可以访问的?(

  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::eval()const; 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_APPEND

  B. O_CREAT

  C. O_EXCL

  D. O_TRUNC

  亚信科技java面试题篇3

  (共38分)

  1、(5分)头文件中的 ifndef/define/endif 有什么作用?

  避免重定义

  2、(6分)const 有什么用途?(请至少说明两种)

  防止传递的函数参数不被修改 提高程序健壮性

  创建数组常量、指针常量、指向常量的指针

  3、(8分)如下的字符串函数,用于生存一个字符串 ”连接号码异常” ,并返回它的指针 char* strfun()

  {

  char str[20];

  strcpy(str, “连接号码异常”);

  printf(“%s \n”, str); //printf语句1

  return str;

  }

  main()

  {

  char *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;

  }

  main()

  {

  double 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函数少了一个参数也能实现相同的功能


猜你感兴趣:

1.最新的亚信面试题目及参考答案

2.亚信科技面试题及参考答案

3.2017亚信java面试题目整理

4.亚信科技java面试题及答案

5.2017无领导小组面试题目整理

1699551