一年多前曾經去過UC面試,那時候沒有通過面試,這次又去UC試試,做了一年半的電商平臺開發,想看看這些大型的互聯網公司的要求有多高。
下面詳細列一下UC的JAVA筆試題和麪試題。
一、JAVA筆試題
1. 簡要描述String、StringBuffer、StringBuilder的區別
2. 描述一下JVM加載CLASS文件的原理機制
3. Char型變量能否存儲一箇中文字?爲什麼?
在C語言中,char類型佔1一個字節,而漢子佔2個字節,所以不能存儲。
在Java中,char類型佔2個字節,而且Java默認採用Unicode編碼,以個Unicode碼是16位,所以一個Unicode碼佔兩個字節,Java中無論漢子還是英文字母都是用Unicode編碼來表示的。所以,在Java中,char類型變量可以存儲一箇中文漢字。
4. JAVA中實現多態有哪些方式?
5. 寫出你所知道的java.util.concurrent包中的類,並簡述它們的用途和應用場景
6. 簡述synchronized和java.util.concurent.locks.Lock的異同點
7. 編程題:設有N個人依次圍成一圈,從第1個人開始報數,第M個人出列,然後從出列的下一個人開始報數,數到第M個人又出列,...,如此反覆到所有的人全部出列爲止,設N個人的編號分別爲1,2,...,N,打印出出列的順序,要求用java實現。
8. 說說你所知道的查找消耗比較大的SQL方法
9. 一張用戶表有1000萬條記錄,主鍵爲自增ID,從中取10條隨機記錄,如何實現?簡述你的解決方案,可以用僞代碼描述。
10. 一個大型網站用一張LOG表來記錄用戶的操作行爲,每天會產生上百萬條記錄。另有一個調試程序定時清除三天前的數據(比如每天凌晨4點執行),以保障LOG表的數據量不會無限增長,要求寫出調度程序的僞代碼。
11. 寫出LINUX裏查看進程的命令
12. 在LINUX裏,如何查看一個監聽端口爲8060的進程?
13. 分析日誌文件,要求統計出響應時間超過100ms的請求及其個數,寫出相應的shell命令,文件內容如下,有三個字段,分別表示請求產生的時間戳、請求、響應時間
1. JAVA內存模型
2. 如何分析JVM的異常
3. 如何設計一個高併發的秒殺活動?
隔了一個多星期,其他的題目忘記了...三、HR面試題
1. 說說 個人的五大缺點和五大優點
2. 如果讓你用一大優點來彌補一大缺點,你會分別選擇哪一個優點和哪一個缺點?
感覺跟HR在面試就會在不斷受虐一樣,不斷摧殘自己,深坑自己人性的缺點,唉,徹底無語。四、面試總結
這次UC的面試沒有通過,估計個人的技術水平還有待提高,跟HR的談話也太過坦誠,沒有做些保留和變通。
不管怎樣就當是一場鍛鍊,通過筆試和麪試來查漏補缺,以便進一步提高自己。
面試的道路很漫長,不知何時是盡頭,不知何處纔是我的歸宿...