亞信科技java面試題及答案
亞信科技java面試題及答案
亞信科技集團(tuán)是在美國納斯達(dá)克成功上市的第一家中國高科技企業(yè),亞信科技java的職位面試自然少不了要回答面試題,以下是小編為大家收集到的亞信科技java面試題,希望對(duì)大家有幫助!
亞信科技java面試題篇1
(共30分)
1、(14分)在計(jì)費(fèi)系統(tǒng)的預(yù)處理程序中,對(duì)話單進(jìn)行格式轉(zhuǎn)換時(shí),需要使用strcpy函數(shù)已知strcpy,此函數(shù)的原型是
char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串。編寫strcpy函數(shù)
(1)不調(diào)用C++/C的字符串庫函數(shù),請(qǐng)編寫函數(shù) strcpy
(2)strcpy能把strSrc的內(nèi)容復(fù)制到strDest,為什么還要char * 類型的返回值?
2、(16分)在電信業(yè)務(wù)的后臺(tái)處理程序中,經(jīng)常會(huì)涉及到處理字符串,除了用char *處理字符串之外,C++還為我們提供了封裝了的字符串類string,其本質(zhì)也是用一個(gè)動(dòng)態(tài)數(shù)組來保存字符串,類String的原型為:
class String
{
public:
String(const char *str = NULL); // 普通構(gòu)造函數(shù)
String(const String &other); // 拷貝構(gòu)造函數(shù)
~ String(void); // 析構(gòu)函數(shù)
String & operate =(const String &other); // 賦值函數(shù)
private:
char *m_data; // 用于保存字符串
};
請(qǐng)編寫String的上述4個(gè)函數(shù)普通構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù)。
亞信科技java面試題篇2
(單選題3分,多選題4分,共32分)
在每小題列出的四個(gè)備選項(xiàng)中只有1個(gè)或2個(gè)是符合題目要求的,多選題已用*標(biāo)識(shí)出來,請(qǐng)將其答案填寫在題后的括號(hào)內(nèi),錯(cuò)選或未選均無分。
1、下面這段關(guān)于指針和常量的關(guān)系的程序哪些是錯(cuò)誤的( 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、下列關(guān)于函數(shù)指針的初始化哪些是錯(cuò)誤的?( )
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、在計(jì)費(fèi)預(yù)處理程序中,取話單函數(shù)GetNextCdr的原形類似于
int GetNextCdr(StdCdr *pd, int &ri),變量x和y的定義是 StdCdr x; int y,把x和y分別作為第一參數(shù)和第二參數(shù)來調(diào)用函數(shù)GetNextCdr,正確的調(diào)用語句是( B )
A.GetNextCdr (x,&y);
B.GetNextCdr (&x,y);
C.GetNextCdr (&x,&y);
D.GetNextCdr (x,y);
4、下列關(guān)于結(jié)構(gòu)體的使用哪些是正確的?(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、對(duì)于如下程序
#include
class A
{ public:
A() {std::cout<<"A"<
};
int main()
{ A a[4], b,*p; }
會(huì)輸出多少個(gè)A?( C )
A.2
B.3
C.5
D.6
6、派生類的對(duì)象對(duì)它的基類成員中哪些是可以訪問的?(
A.公有繼承的成員
B.公有繼承的私有成員
C.公有繼承的保護(hù)成員
D.公有繼承的公有成員
E.私有繼承的公有成員
7、下面派生類的虛函數(shù)的重新聲明哪些是良好的?( )
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、已知下列類層次結(jié)構(gòu),他們都定義了缺省的構(gòu)造函數(shù)( C D )
class X{ };
class A{ };
class B: public A{ };
class C: private B{ };
class D:public X,public C{ };
D * pd = new D;
對(duì)于下列哪些轉(zhuǎn)換是不允許的?
A. X * px = pd;
B. B * pb = pd;
C. A * pa = pd;
D. C * pc = pd;
9、在對(duì)語音話單文件進(jìn)行取話單字段信息操作時(shí),需要用刀lseek函數(shù),在lseek函數(shù)的 (int filedes, off_t offset, int whence)參數(shù)中,若whence參數(shù)為SEEK_CUR,則offset參數(shù)代表下列的哪個(gè)含義( B )
A.將該文件的位移量設(shè)置為距文件開始處offset個(gè)字節(jié)。
B.將該文件的位移量設(shè)置為其當(dāng)前值加offset, offset可為正或負(fù)。
C.將該文件的位移量設(shè)置為文件長度加offset, offset可為正或負(fù)。
D.將該文件的位移量設(shè)置文件起始位置。
10、在打開一個(gè)ASCII文本格式的語音清單文件時(shí),需要用到open函數(shù),在open函數(shù)的oflag參數(shù)中,下面的哪個(gè)選項(xiàng)代表“若此文件不存在則創(chuàng)建它”的含義( B )
A. O_APPEND
B. O_CREAT
C. O_EXCL
D. O_TRUNC
亞信科技java面試題篇3
(共38分)
1、(5分)頭文件中的 ifndef/define/endif 有什么作用?
避免重定義
2、(6分)const 有什么用途?(請(qǐng)至少說明兩種)
防止傳遞的函數(shù)參數(shù)不被修改 提高程序健壯性
創(chuàng)建數(shù)組常量、指針常量、指向常量的指針
3、(8分)如下的字符串函數(shù),用于生存一個(gè)字符串 ”連接號(hào)碼異常” ,并返回它的指針 char* strfun()
{
char str[20];
strcpy(str, “連接號(hào)碼異常”);
printf(“%s \n”, str); //printf語句1
return str;
}
main()
{
char *pstr = strfun() ;
printf(“%s \n”, pstr); //printf語句2
}
問題1 : printf語句1和printf語句2哪個(gè)能在屏幕上正在打印出來?
問題2 : 如果不能正常在屏幕上打印出字符串,請(qǐng)說明原因。
問題3 : 如果不修改strfun的聲明,請(qǐng)問該如何修改上述程序的錯(cuò)誤。
4、(7分)下面是交換兩個(gè)double型數(shù)據(jù)的函數(shù),
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 );
}
請(qǐng)找出上述代碼的錯(cuò)誤,指出錯(cuò)誤的原因,并改正。
5、(7分)如果Win32程序的消息處理函數(shù)的定義由
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)修改為
LRESULT CALLBACK WndProc(MSG msg)
//MSG結(jié)構(gòu)體中的成員變量包含有hWnd、message、wParam 和lParam等
這種修改可行嗎?為什么?
6、(5分)MFC中,CWnd類作為所有窗體封裝類的根類,它定義的一些成員函數(shù)名稱與Win32 API函數(shù)名稱完全相同,且功能也完全相同,如ShowWindow、UpdateWindow等。但函數(shù)參數(shù)卻不同,如:
CWnd類 —— BOOL ShowWindow( int nCmdShow );
Win32 API —— BOOL ShowWindow(HWND hWnd, int nCmdShow);
問題:為什么CWnd:: ShowWindow函數(shù)少了一個(gè)參數(shù)也能實(shí)現(xiàn)相同的功能
猜你感興趣: