當前位置:學問谷 >

職場範例 >面試 >

java面試題3

java面試題3

九、C++部分:(共14題:基礎10道,中等1道,較難3道)

java面試題3

188、以下三條輸出語句分別輸出什麼?【基礎】

char str1[] = "abc";

char str2[] = "abc";

const char str3[] = "abc";

const char str4[] = "abc";

const char* str5 = "abc";

const char* str6 = "abc";

cout << boolalpha << (str1==str2) << endl; //輸出什麼?

cout << boolalpha << (str3==str4) << endl; //輸出什麼?

cout << boolalpha << (str5==str6) << endl; //輸出什麼?

答:輸出為:false、false、true。

189、以下反向遍歷array數組的方法有什麼錯誤?【基礎】

vectorarray;

_back(1);

_back(2);

_back(3);

//反向遍歷array數組:

for(vector::size_type i=()-1; i>=0; --i){

cout << array[i] << endl;

}

答:for循環中的變量i的類型不應定義為vector::size_type,

因為該類型為無符號數值類型,故循環條件將恆成立,為死循環,應將其類型定義為有符號的int類型。

190、以下代碼有什麼問題?【基礎】

cout << (true ? 1 : "1") << endl;

答:運算符中兩個可選值的類型不同。

191、以下代碼有什麼問題?【基礎】

typedef vectorIntArray;

IntArray array;

_back(1);

_back(2);

_back(2);

_back(3);

//刪除array數組中所有的2

for(IntArray::iterator itor=n(); itor!=();

++itor){

if(2==*itor) {

e(itor);

}

}

答:for循環中的if語句後的e(itor)語句,它將迭代器itor所指向的元素刪除後會自動下移一位,故應在其後加上語句:itor--;

192、以下代碼中的兩個sizeof用法有問題嗎?【基礎】

void upperCase(char str[]){ //將str中的小寫字母轉換成大寫字母

for(int i=0; i

if(a<=str[i] && str[i]<=z)

str[i] -= (a-A);

}

}

int main(){

char str[] = "aBcDe";

cout << "str 字符串長度為:" << sizeof(str)/sizeof(str[0]);

cout << endl;

upperCase(str);

cout << str << endl;

return 0;

}

答:在upperCase方法中,for循環的sizeof(str)的值將總是4,所以該方法只能將參數中的字符串的前四個字符轉換成大寫字母。

193、以下代碼能夠編譯通過嗎?為什麼?【基礎】

unsigned int const size1 = 2;

char str1[size1];

unsigned int temp = 0;

cin >> temp;

unsigned int const size2 = temp;

char str2[size2];

答:能;

194、以下代碼有什麼問題?【基礎】

struct Test{

Test(int){}

Test(){}

void fun(){}

};

void main(void){

Test a(1);

();

Test b();

();

}

答:main函數的返回類型應為int;不能對b調用fun()方法。

195、以下代碼中的輸出語句輸出0嗎?為什麼?【基礎】

struct CLS{

int m_i;

CLS(int i):m_i(i){ }

CLS(){ CLS(0);}

};

int main(){

CLS obj;

cout <

}

答:輸出不是0;

196、C++中的空類,默認產生哪些類成員函數?【基礎】

答:空類中默認包含的成員函數如下:

class Empty{

public:

Empty(); //缺省構造函數

Empty( const Empty& ); //拷貝構造函數

~Empty(); //析構函數

Empty& operator=( const Empty& ); //賦值運算符

Empty* operator&(); //取址運算符

const Empty* operator&() const; //取址運算符const

};

197、統計一篇文章中單詞個數。【基礎】

答:代碼如下:

include

#include

using namespace std;

int main(){

ifstream fin("");

if(!fin){

cout<<"can open file"<

return -1;

}

int count = 0;

char buf[256];

memset(buf, 0, 256);

while(1){

fin2>>buf;

if(())

break;

count++;

}

cout<<"The number of the words is : "<

e();

return 0;

}

198、寫一個函數,完成內存之間的拷貝。【中等難度】

答:代碼如下:

void* mymemcpy(void* dest, const void* src, size_t count){

char* pdest = static_cast(dest);

const char* psrc = static_cast(src);

if(pdest>psrc && pdest

for(size_t i=count-1; i!=-1; --i){

pdest[i] = psrc[i];

}

}else{

for(size_t i=0; i

pdest[i] = psrc[i];

}

}

return dest;

}

int main(){

char str[] = "0123456789";

mymemcpy(str+1, str+0, 9);

cout << str << endl; //將輸出"0012345678"

return 0;

}

199、非C++內建類型A和B,在哪幾種情況下B能隱式轉化為A?【較難】

答:a)class B : public A{……}//B公有繼承自A,可以是間接繼承的

b)class B{operator A();}//B實現了隱式轉化為A的轉化

c)class A{ A(const B&);}//A實現了non-explicit的參數為B構造函數

(可以有其他帶帶默認值的'參數)

d)A& operator= (const A&);//賦值操作,雖不是正宗的隱式類型轉換,

但也可以勉強算一個

200、以下代碼有什麼問題?【較難】

void char2Hex(char c){ //將字符以16進制顯示

char ch = c/0x10 + ;

if(ch>9) ch += (A-9-1);

char cl = c%0x10 + ;

if(cl>9) cl += (A-9-1);

cout << ch << cl << ;

}

int main(){

char str[] = "I love 中國";

for(size_t i=0; i

char2Hex(str[i]);

cout << endl;

return 0;

}

答:

201、以下兩條輸出語句分別輸出什麼?【較難】

float a = 1.0f;

cout << (int)a << endl;

cout << (int&)a << endl;

cout << boolalpha << ((int)a==(int&)a) << endl; //輸出什麼

float b = 0.0f;

cout << (int)b << endl;

cout << (int&)b << endl;

cout << boolalpha << ((int)b==(int&)b) << endl;//輸出什麼

答:第一處輸出false,第二處輸出true。

十、WebLogic及其它:(共13題:附加部分,超出授課範圍)

202、如何給weblogic指定大小的內存?

答:在啟動Weblogic的腳本中(位於所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小內存為32M,最大200M。

203、如何設定的weblogic的熱啟動模式(開發模式)與產品發佈模式?

答:可以在管理控制枱中修改對應服務器的啟動模式為開發或產品模式之一,或者修改服務的啟動文件或者commenv文件,增加set pRODUCTION_MODE=true。

204、如何啟動時不需輸入用户名與密碼?

答:修改服務啟動文件,增加 WLS_USER和WLS_pW項;也可以在erties文件中增加加密過的用户名和密碼。

205、在weblogic管理控制枱中對一個應用域(或者説是一個網站,Domain)進行jms及ejb或連接池等相關信息進行配置後,實際保存在什麼文件中?

答:保存在此Domain的文件中,它是服務器的核心配置文件。

206、説説weblogic中一個Domain的缺省目錄結構?比如要將一個簡單的放入何目錄下,然後在瀏覽器上打入http://主機:端口號//就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?

答:Domain目錄服務器目錄applications,將應用目錄放在此目錄下將可以作為應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp文件可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設置服務器的缺省應用將可以實現在瀏覽器上無需輸入應用名。

207、在weblogic中發佈ejb需涉及到哪些配置文件?

答:不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括,,CMp實體Bean一般還需要

208、如何在weblogic中進行ssl配置與客户端的認證配置或説説j2ee(標準)進行ssl的配置?

答:缺省安裝中使用和 KeyStore實現SSL,需要配置服務器使用Enable SSL,配置其端口,在產品模式下需要從CA獲取私有密鑰和數字證書,創建identity和trust keystore,裝載獲得的密鑰和數字證書。可以配置此SSL連接是單向還是雙向的。

209、如何查看在weblogic中已經發布的EJB?

標籤: 面試題 java
  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flzc/mianshi/jl7j1.html