好程式設計師大資料培訓分享大資料面試寶典六
1、 資料型別之間的轉換:
1)如何將數值型字元轉換為數字?
2)如何將數字轉換為字元?
3)如何取小數點前兩位並四捨五入? 【基礎】
答:
1)呼叫數值型別相應包裝類中的方法parse***(String)或valueOf(String)即可返回相應基本型別或包裝型別數值;
2)將數字與空字串相加即可獲得其所對應的字串;另外對於基本型別數字還可呼叫String 類中的valueOf(…)方法返回相應字串,而對於包裝型別數字則可呼叫其toString()方法獲得相應字串;
3)可用該數字構造一java.math.BigDecimal 物件,再利用其round()方法進行四捨五入到保留小數點後兩位,再將其轉換為字串擷取最後兩位。
1、 You need to insert an inner class declaration at line 3 , Which two inner class declarations are valid?(Choose two.)
public class OuterClass {
private double d1 = 1.0;
//insert code here
}
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}
答:答案為C、E;說明如下:
1)靜態內部類可以有靜態成員,而非靜態內部類則不能有靜態成員;故A、B錯;
2)靜態內部類的非靜態成員可以訪問外部類的靜態變數,而不可訪問外部類的非靜態變數;故D 錯;
3)非靜態內部類的非靜態成員可以訪問外部類的非靜態變數;故C 正確。
2、 字串操作:如何實現字串的反轉及替換?【基礎】
答:可用字串構造一StringBuffer 物件,然後呼叫StringBuffer 中的reverse方法即可實現字串的反轉,呼叫replace 方法即可實現字串的替換。
3、 編碼轉換:怎樣將GB2312 編碼的字串轉換為 ISO-8859-1 編碼的字串?【基礎】
答:示例程式碼如下:
String s1 = "你好";
String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");
4、 寫一個函式,要求輸入一個字串和一個字元長度,對該字串進行分隔。【基礎】
答:函式程式碼如下:
public String[] split(String str, int chars){
int n = (str.length()+ chars - 1)/chars;
String ret[] = new String[n];
for(int i=0; i<n; i++){
if(i < n-1){
ret[i] = str.substring(i*chars , (i+1)*chars);
}else{
ret[i] = str.substring(i*chars);
}
}
return ret;
}
5、 字串操作:如何實現字串的反轉及替換?【基礎】
答:可用字串構造一StringBuffer 物件,然後呼叫StringBuffer 中的reverse方法即可實現字串的反轉,呼叫replace 方法即可實現字串的替換。
6、 日期和時間:
1)如何取得年月日、小時分秒?
2)如何取得從1970 年到現在的毫秒數?
3)如何取得某個日期是當月的最後一天?
4)如何格式化日期?【基礎】
答:
1)建立java.util.Calendar 例項(Calendar.getInstance()),呼叫其get()方法傳入不同的引數即可獲得引數所對應的值,如:calendar.get(Calendar.YEAR);//獲得年
2)以下方法均可獲得該毫秒數:
Calendar.getInstance().getTimeInMillis();System.currentTimeMillis();
3)示例程式碼如下:
Calendar time = Calendar.getInstance();
time.set(Calendar.DAY_OF_MONTH,
time.getActualMaximum(Calendar.DAY_OF_MONTH));
7、 什麼時候用assert ?【中等難度】
答:assertion(斷言)在軟體開發中是一種常用的除錯方式,很多開發語言中都支援這種機制。一般來說,assertion 用於保證程式最基本、關鍵的正確性。assertion 檢查通常在開發和測試時開啟。為了提高效能,在軟體釋出後, assertion 檢查通常是關閉的。在實現中,斷言是一個包含布林表示式的語句,在執行這個語句時假定該表示式為true;如果表示式計算為false,那麼系統會報告一個Assertionerror。
斷言用於除錯目的:
assert(a > 0); // throws an Assertionerror if a <= 0
斷言可以有兩種形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 應該總是產生一個布林值。
Expression2 可以是得出一個值的任意表示式;這個值用於生成顯示更多除錯資訊的String 訊息。
斷言在預設情況下是禁用的,要在編譯時啟用斷言,需使用source 1.4 標記:
javac -source 1.4 Test.java
要在執行時啟用斷言,可使用-enableassertions 或者-ea 標記。
要在執行時選擇禁用斷言,可使用-da 或者-disableassertions 標記。
要在系統類中啟用斷言,可使用-esa 或者-dsa 標記。還可以在包的基礎上啟用或者禁用斷言。可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用於驗證傳遞給私有方法的引數。不過,斷言不應該用於驗證傳遞給公有方法的引數,因為不管是否啟用了斷言,公有方法都必須檢查其引數。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試後置條件。另外,斷言不應該以任何方式改變程式的狀態。
8、 Java 中的異常處理機制的簡單原理和應用?【基礎】
答:當JAVA 程式違反了JAVA 的語義規則時,JAVA 虛擬機器就會將發生的錯誤表示為一個異常。違反語義規則包括2 種情況。一種是JAVA 類庫內建的語義檢查。例如陣列下標越界,會引發IndexOutOfBoundsException;訪問null 的物件時會引發NullPointerException。另一種情況就是JAVA 允許程式設計師擴充套件這種語義檢查,程式設計師可以建立自己的異常,並自由選擇在何時用throw 關鍵字引發異常。所有的異常都是java.lang.Thowable 的子類。
9、 error 和 exception 有什麼區別 ? 【基礎】
答:error 表示系統級的錯誤和程式不必處理的異常,是恢復不是不可能但很困難的情況下的一種嚴重問題;比如記憶體溢位,不可能指望程式能處理這樣的情況;exception 表示需要捕捉或者需要程式進行處理的異常,是一種設計或實現問題;也就是說,它表示如果程式執行正常,從不會發生的情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2692369/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料培訓分享大資料面試寶典三程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典四程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典一程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料面試寶典二程式設計師大資料面試
- 好程式設計師大資料培訓分享大資料的應用程式設計師大資料
- 好程式設計師大資料培訓分享大資料還學嗎?程式設計師大資料
- 好程式設計師大資料培訓分享MapReduce理解程式設計師大資料
- 好程式設計師大資料培訓分享大資料兩大核心技術程式設計師大資料
- 好程式設計師大資料培訓分享大資料的影響一程式設計師大資料
- 好程式設計師大資料培訓分享mysql資料型別程式設計師大資料MySql資料型別
- 好程式設計師大資料培訓分享HDFS讀流程程式設計師大資料
- 好程式設計師大資料培訓分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料培訓分享大資料就業方向有哪些?程式設計師大資料就業
- 好程式設計師大資料培訓分享:Hadoop叢集同步程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享Hadoop怎樣處理資料?程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享之MySQL資料庫SQL簡介程式設計師大資料MySql資料庫
- 好程式設計師大資料培訓分享Spark技術總結程式設計師大資料Spark
- 好程式設計師大資料培訓分享Hadoop的shuffle過程程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享Hadoop分散式叢集程式設計師大資料Hadoop分散式
- 好程式設計師大資料培訓分享MySQL8.0新特性程式設計師大資料MySql
- 好程式設計師大資料培訓分享Hadoop入門進階程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享怎樣進行大資料入門學習程式設計師大資料
- 好程式設計師大資料培訓分享之《MySQL資料庫》常用函式整理程式設計師大資料MySql資料庫函式
- 好程式設計師大資料培訓分享MySQL資料庫儲存引擎簡介程式設計師大資料MySql資料庫儲存引擎
- 好程式設計師大資料培訓分享之Ambari和ClouderaManager對比程式設計師大資料Cloud
- 好程式設計師大資料培訓分享之hive儲存過程程式設計師大資料Hive儲存過程
- 好程式設計師大資料培訓分享HBase Filter過濾器概述程式設計師大資料Filter過濾器
- 好程式設計師大資料培訓分享如何區分Hive與HBase程式設計師大資料Hive
- 好程式設計師大資料培訓分享Hadoop技術優缺點程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享Spark需要什麼基礎?程式設計師大資料Spark
- 好程式設計師大資料培訓分享settings和mapping的意義程式設計師大資料APP
- 好程式設計師Python培訓分享Python面試寶典之基礎篇-03程式設計師Python面試
- 好程式設計師大資料培訓分享之hive常用內部函式程式設計師大資料Hive函式
- 好程式設計師大資料培訓分享Hive基礎知識講解程式設計師大資料Hive
- 大資料面試題整理-好程式設計師大資料面試題程式設計師
- 好程式設計師大資料培訓教你快速學習MapReduce程式設計師大資料
- 好程式設計師大資料培訓分享Hadoop入門學習線路圖程式設計師大資料Hadoop
- 好程式設計師大資料培訓分享之hive常見自定義函式程式設計師大資料Hive函式