前言
只有光頭才能變強javascript
這陣子跑去面試Java實習生啦~~~我來簡單介紹一下背景吧。html
廣州三本大三在讀,在廣州找實習。大學開始接觸編程,一個很是平庸的人。java
在學習編程時,跟我相似的人應該會有一個疑問:究竟學到什麼程度才能找到一份實習/工做呢?mysql
我是在6月1號開始投的簡歷找Java實習:程序員
實習憎投了17份:web

在前程無憂投了69份(沒有算今天剛投的):面試

在boss直聘溝通51個,能夠發送8份簡歷出去:正則表達式

下面是個人簡歷(我不會寫簡歷,須要修改的地方還請你們不吝在評論區留言)redis

可能投遞的公司是有重複的,可能我投遞的意向更多偏向於離家裏比較近的,並非所有投應屆/實習(其中1-3年的也投了)。算法
這篇文章其實主要是記錄一下本身的面試經歷,但願你們看完以後能有所瞭解:進入中小公司究竟須要什麼水平。
- 看面試題和實際面試時被問到的感受是完徹底全不同的(可能會沒聽明白麪試官所想問的,也頗有可能大腦就短路啦,就忘記啦)
1、公司A
1.1面試
- 簡單介紹一下你的項目,說一下項目有什麼模塊
- 剛纔我進去註冊了一下你寫的網站,發現註冊失敗了。你的網站是作了郵箱校驗嗎?ps:後來查了一下,是個人郵箱驗證碼失效了,在後臺拋出異常,因此註冊失敗了
- 項目中的在線聊天功能是怎麼實現的?有沒有去測試瀏覽器的兼容性問題?
- 我看你有用過ssm/Springboot,你的項目部署在哪裏?ssm的項目打的什麼包?springBoot打的什麼包(指的是jar和war)
- Java集合簡單說一下,HashMap是怎麼實現key是惟一的
- 簡單說說nio是什麼,是哪一個版本開始有的?
- aio是什麼?瞭解過嗎?是哪一個版本開始有的?與nio的區別知道嗎?
- 有了解過netty嗎?
- 我看你用過RESTful,你能簡單說說RESTful有什麼特色嗎?使用RESTful的好處是什麼?RESTful有什麼缺點嗎?
- 電子移動商城和納稅服務系統是你作的嗎?
- 簡單說一下你是怎麼理解AOP,方法攔截和AOP有什麼區別?xxxx功能是否能用AOP實現
1.2公司A總結
公司A是我第一家面試的,面了20多分鐘就完事了...沒有hr,自我介紹都沒說就直接開始了。固然了,面試官仍是很nice的。
- 面試官都是針對簡歷寫的東西來提問,問的東西並無超出簡歷的範圍
通過這家面試,我知道我本身得多引導引導面試官。由於面試的時間過短了,基本都是一問一答,應該主動說出一些本身知道的東西,答得太少了。
最後拿到了offer
2、公司B
2.1筆試單選題
關注Java3y公衆號的機率是5%,收藏Java3y的文章機率是20%,收藏Java3y的文章後會關注Java3y的公衆號的機率是20%,已知某開發者看到Java3y公衆號以後關注了。那麼該開發者收藏過Java3y的文章機率是多少?
通俗解析:
- 一、關注機率=5%。
- 二、關注有兩種狀況,收藏關注,不收藏關注 。
- 三、收藏關注機率=0.2*0.2=0.04,那麼不收藏關注的概論是0.01
- 四、在已知用戶購買的狀況下:收藏的機率是0.04/(0.01+0.04)=80%
公式解析:
- 設A爲關注,B爲收藏。 已知
P(A)=5%, P(B)=20%, P(A|B) = 20%。
,因此P(B|A)=P(AB)/P(A) = P(A|B)P(B)/P(A) = 80%
.
假設基準值爲數組首元素的快速排序,要使得數組知足非降序排列,下列數據分佈致使快排算法效率最低的是____。
- 2-6-3-7-5-1-4
- 6-2-3-5-4-1-7
- 7-5-3-2-4-1-6
- 1-5-7-2-4-6-3
- 1-2-3-4-5-6-7
- 4-1-3-7-5-6-2
解析:基本有序的狀況下:快排最慢。因此選擇的是1-2-3-4-5-6-7
下列程序運行結果:

解析:false,由於==
默認比較的是地址,引用a和引用b所引用的地址是不同的。
String a = "hello";
在常量池中建立了對象
String b = "he" + new String("llo");
在常量池中建立了he
,在堆中建立了llo"
關注線程和進行,描述正確的是(多選):
- A:同一個進程的線程之間共享內存,包括堆和棧
- B:線程在資源消耗上一般要比進程輕量
- C:進程的隔離性要好於線程
- D:進程間有途徑共享大量內存中的數據
解析:選擇BCD
- A選項:棧數據是線程自有的
- B選項:引出線程就是由於(管理/切換/建立/銷燬進程)進程消耗資源太多了
- C選項:進程之間的資源是獨立的,子進程使用
copy_on_write
技術複製父進程的資源;而同一個進程中的線程共享資源,每一個線程擁有本身的棧和相應的寄存器;
- D選項:用於進程間通信(IPC)的四種不一樣技術:
- 1、 消息傳遞(管道,FIFO,posix和system v消息隊列)
- 2、 同步(互斥鎖,條件變量,讀寫鎖,文件和記錄鎖,Posix和System V信號燈)
- 3、共享內存區(匿名共享內存區,有名Posix共享內存區,有名System V共享內存區)
- 4、 過程調用(Solaris門,Sun RPC)
在一個的程序中有A,B,C三個線程同時對一個文件進行讀寫操做,其中的A,B是寫進程只負責往裏面寫數據,C是讀線程,同時把讀取的數據從文件中刪除,A線程單獨寫滿文件須要10小時,B線程單獨寫程序須要6小時,C線程須要15小時才能讀取完整個文件,不考慮三個線程之間的相互影響的狀況下,如今_____小時才能寫滿文件。
- A. 5
- B. 6
- C. 5.5
- D. 4.5
- E. 4.8
- F. 5.3
解析:選擇A
- 不考慮三個線程之間的相互影響,忽然回到了小學數學題:「兩個水龍頭注水,一個放水,問什麼時候注滿水池」的感受。這樣問題就簡單了:
- 總任務是單位1,A的寫工做效率是
1/10
,B的寫工做效率是1/6
,C的讀工做效率是1/15
,那麼總工做效率是1/10 + 1/6 - 1/15
結果是1/5
。因而,寫滿的總時間是:用單位1除以總工做效率五分之一,就是5小時。
mysql 數據庫有選課表 learn(student_id int,course_id int),字段分別表示學號和課程編號, 如今想獲取每一個學生所選課程的個數信息,請問以下的 sql 語句正確的是:
select student_id,sum(course_id)from learn
select student_id,count(course_id)from learn group by student_id
select student_id,count(course_id)from learn
select student_id,sum(course_id)from learn group by student_id
解析:選擇B
- 獲取每一個學生所選課程就按照學生分組,統計個數就用count
下列結果正確的是:
class Person {
String name = "do1";
public Person(String name) {
this.name = name;
}
}
class Employee extends Person {
String empId = "0001";
public Employee(String name) {
empId = id;
}
}
class Test{
public static void main(String[] args) {
Employee e = new Employee("test");
System.out.println(e.empId);
}
}
- A. 輸出do1
- B. 編譯出錯
- C. 輸出test
- D. 輸出0001
解析:選擇B
- 這題主要考察對象建立的過程。若是子類的構造函數中沒有顯式調用父類的構造器,那麼默認會調用父類無參的構造函數。可是代碼中沒有給出父類的無參構造函數,因此編譯時不經過的。
IDEA的提示也很準確:

以下javascript代碼y最終輸出的結果是:
var x= 1;
var y = 0;
function add(n){
n = n+1;
}
y = add(x);
- A. 1
- B. 2
- C. 3
- D. undefined
解析:選擇D
- 沒有明確的return,返回的是undefined

下列哪些是JSON格式結構(多選)
- A.
{id:'1',name:'do1'}
- B.
['java','javascript']
- C.
{'java','javascript'}
- D.
[id:'1',name:'do1']
解析:選擇AB
- JSON建構於兩種結構:
- 「名稱/值」對的集合(A collection of name/value pairs)。不一樣的語言中,它被理解爲對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分語言中,它被理解爲數組(array)。
- 參考資料:http://www.json.org/json-zh.html

話說{'java','javascript'}
這個在JavaScript算什麼?會的麻煩在評論區告訴我一下哈~~
對類成員訪問權限的控制,是經過設置成員的訪問控制屬性實現的,下列屬於訪問控制屬性的是:
- A. public
- B. private
- C. protected
- D. volatile
解析:選擇ABC
- 這題Java基礎題,就很簡單了。volatile是一種輕量級的同步機制。
如下集合對象不是線程安全的:
- A. ArrayList
- B. Vector
- C. Hashtable
- D. Stack
解析:選擇A
下面描述正確的是(多選):
- A. session是表明與用於某個web應用程序相關的對象和屬性
- B. request表明與Web客戶機發出的多個請求相關的對象和屬性
- C. page表明與web客戶機的一次請求
- D. application表明與整個Web應用程序相關的對象和屬性
解析:選擇AD
- request表明與Web客戶機發出的一個請求相關的對象和屬性
- page表明與一個頁面相關的對象和屬性
下列對正則表達式描述正確的是:
- A.
\D
匹配一個數字字符
- B.
\s
匹配任何不可見字符,包括空格,製表符,換頁符等等
- C.
\t
匹配一個換頁符
- D.
\n
匹配回車換行符
解析:選擇B
\D
匹配一個非數字字符。
\s
匹配任何不可見字符,包括空格、製表符、換頁符等等
\t
匹配一個製表符。
\n
匹配一個換行符。
Linux解壓的命令(多選)
- A. tar zxvf filename.tar
- B. gzip -d filename.gz
- C. gzip filename
- D. tar czxf filename.tar
解析:選擇AB
2.2筆試簡答題
已知一個包含10個隨機數字的數組,數字不重複,給定其中的兩個隨機數,獲取這兩個數在隨機數組從小到大排序後在數據中的座標值。時間複雜度儘可能低一些
使用快排的partition,將給出的隨機數作基準值返回的座標就是了。兩個隨機數就調用兩次快排的partition。
// 支點左邊都比支點小,支點右邊都比支點大
public int partition(Integer[] nums, int target) {
int lt = -1;//[0,lt]<target
int gt = nums.length;//[gt,nums.length-1]>target
int i = 0;
while (i < gt) {
if (nums[i] == target)
i++;
else if (nums[i] < target) {
lt++;
swap(nums, i, lt);
i++;
} else {
gt--;
swap(nums, gt, i);
}
}
// 返回支點的座標
return gt - 1;
}
private void swap(Integer[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
上邊代碼由HoldGone友情提供!
Error,Exception,RuntimeException區別
這部分的資料就不少了,我這裏就不詳細答了。參考一下吧:
有一億條記錄,每條記錄有id,ip,時間組成。設計一個系統可以快速查詢如下內容:給定ip和時間段(精確到分鐘)統計ip的訪問次數,請寫出建立SQL的語句
答:首先,1000億條記錄所有放到內存確定不夠,那就是分紅小文件了,而後整合;
公共的時間段,由於精確到分鐘,咱們把這每一分鐘建成一個小文件,每一個小文件確定會有許多重複的ip,url;
如今統計每一個小的文件中url的訪問量和ip的訪問次數,方法就是創建索引;
(創建索引的目的是爲了減小查詢次數,可是隨着索引級數增多也會形成花更多的時間在創建索引上);
創建url的索引,假如是www.nowcoder.com/question,能夠分別給www.nowcoder.com和question創建索引,那麼來了一條url,先看一級索引是否是匹配,匹配再看二級索引,相同的話就是咱們要的url目標;
ip的索引也是同樣,ip分紅4段創建索引;
因此這裏影響效率的就是在索引創建這塊,索引創建好那就是查詢的事了的,就會變得很是快。
假定給定了某個時間段,找出url的訪問量,那麼先找到給定的時間段,對應着剛開始分割的小的文件(每個分鐘)中搜索,經過索引找到相同的url以後,開始統計,直到搜索完全部的給定時間段內的全部的小的文件;
求ip的訪問次數也是同樣,按照給定的時間段,找到對應的小的文件,經過索引找到相同的ip後統計,直到搜索完了給定時間段內的全部的小的文件。
連接:https://www.nowcoder.com/questionTerminal/5b47d462f04c4e43960fd9e52da93ab7?orderByHotValue=1&pos=4&tagId=0
來源:牛客網
2.3初面
- 簡單介紹一下你本身
- 面向對象有什麼特性?你如何理解面向對象的
- 面向對象與面向過程哪一個更好寫?
- 談談AOP,AOP在實際項目/實際能作什麼?
- 若是讓你實現Spring的緩存@Cacheable,你會怎麼實現?(面試官想問的是AOP,我把他帶到Map那邊了)後來才說到了AOP。
- 索引是怎麼提升查詢的性能的?具體來講說索引。
- 既然說String是不可變的,那麼
String s = "aaa"
,爲何一樣能夠執行a = "bbb"
?
- String是怎麼作到不可變的?final修飾的類中的成員變量是否可變?肯定嗎?String何時被銷燬?
- 看你使用過Nginx,講講Nginx。正向代理與反向代理有什麼區別?
- 看你使用過RESTful,講講PUT/GET/POST/DELETE分別的含義,使用RESTful和非RESTful的URL有什麼區別?
- 看你用過Elasticsearch,你知道bool是什麼嗎?Elasticsearch能使用root用戶執行嗎(我回答的是能夠)?爲何?用root用戶執行和其餘用戶執行有什麼區別?
- 你項目是部署到Linux的,你記得Linux修改權限的命令是什麼嗎?讀寫執行分別表明的是什麼?777,每一個7的表明什麼。
- 密碼是用md5加密的,那md5是可逆的嗎?那若是如今想實現一個功能:用戶想要找回本身的密碼(不是修改密碼,單純找回密碼),那如今md5是不可逆的,那你怎麼設計呢?
- 瞭解過多線程嗎?你知道線程池默認有哪幾種實現嗎?若是線程池滿了,那其他的線程怎麼辦?工做隊列是怎麼實現的?工做隊列是先進先出的嗎?能夠優先執行工做隊列的某線程嗎?
- 你用過Redis嗎?,後面又問了一些Redis安全性的東西。
- 你知道什麼是分佈式和集羣嗎?
- 在集羣的環境下,Session通常怎麼解決?
- 在集羣中若是redis down掉了怎麼辦?第二臺redis又down掉了怎麼辦?
2.4複試
- 簡單介紹一下你本身
- 面向對象有什麼特性?你如何理解面向對象的
- 瞭解String常量池嗎?
String s = "aaa";
和String b = "aaa";
相比,它倆會相等嗎?
- 簡單介紹一下你寫過的項目。
- 我看你用到了Shiro,Shiro是什麼東西呢?簡單說說你在項目中是如何使用Shiro的
- Elasticsearch又是什麼東西呢?簡單說說你在項目中是如何使用Elasticsearch的
- 你通常用的數據庫是什麼?Mysql的索引瞭解過嗎?能夠簡單說說嘛?
- Mysql有沒有比int類型還要小的整型類型?
- 來講說你項目還有什麼功能。(我談了我的備忘錄,使用了Quartz任務調度框架-->cron表達式-->發郵件提醒)
- 如今有這麼一個需求:一個用戶能夠填寫多張調查問卷。調查問卷的數據是不肯定的,能夠是性別啊,工做年薪呀,等等等。如今你數據庫怎麼設計呢?
2.5公司B面試總結
通過上一家面試的總結,我帶了一個本子和筆去面試,面試官提問的時候我會在本子上寫寫,畫畫圖來告訴面試官表現個人思路。
公司B是我面的第二家公司:總的來講此次面試遇到了我一大堆不懂的東西,能夠說被面試官虐了。面的題目都是相對開放的,問我某個功能如何設計、如何實現、是否可使用某項技術實現這個功能。
對Redis/數據庫設計/數據庫SQL編寫/Elasticsearch知識點儲備仍是不夠啊~~這些知識點得多加把勁了.
2018年6月21日12:52:05,今天早上拿到offer
3、公司C
3.1筆試選擇題
下列關於註釋語句的描述中,正確的一項是。
- A.以/開始,/結束的是單行註釋語句
- B.以//開始的是多行註釋語句
- C.以/**開始,*/結束的是能夠用於生成幫助文檔的註釋語句
- D.以/**開始,*/結束的是單行註釋語句
解析:選擇C
爲了區分重栽多態中同名的不一樣方法,要求
- A. 形式參數個數或者類型不一樣
- B. 返回值類型不一樣
- C. 調用時用類名或對象名作前綴
- D. 形式參數名稱不一樣
解析:選擇A
下列哪個說法是正確的
- A. Java程序通過編譯後會產生機器碼
- B. Java程序通過編譯後會產生字節碼
- C. Java程序通過編譯後會產生DLL文件
- D. 以上都不正確
解析:選擇B
在Java中,下列運算符合法的是
解析:選擇A
下面定義數組的格式中不正確的是
- A. int a[10]
- B. int a = new int[10]
- C. int a[]
- D. int[] a = new int[]{10}
解析:選擇B
下列哪個說法是正確的:
- A. 實例方法能夠直接調用超類的實例方法
- B. 實例方法能夠直接調用超類的類方法
- C. 實例方法能夠直接調用其餘類的實例方法
- D. 實例方法能夠直接調用本類的類方法
解析:選擇A

能夠用來修飾interface的是
- A. private
- B. public
- C. static
- D. protected
解析:選擇B
如下哪一個表達式是不合法的。
- A.String x="hello";int y=9;x+=y;
- B.String x="hello";int y=9;if(x=y){}
- C.String x="hello";int y=9;x=x+y;
- D.String x=null;int y=(x!=null)&&(x.length()>0)?x.length():0;
解析:選擇B

線性表採用鏈式存儲時,其地址:
- A.必須是連續的
- B.部分地址必須是連續的
- C.必定是不連續的
- D.連續與否都可以
解析:選擇D
關係數據庫中的「關係」是指:
- A.各條記錄彼此都有必定關係
- B.各字段數據被此都有-定關係
- C.數據模型是一個知足必定條件的二維表
- D.表文件之間存在必定關係
解析:選擇C
如下對抽象類的描述正確的是:
- A.抽象類沒有構造方法
- B.抽象類必須提供抽象方法
- C.有抽象方法的類必定是抽象類
- D.抽象類能夠經過new關鍵字直接實例化
解析:選擇C
- A:抽象類是有構造方法的
- B:抽象類未必須要提供抽象方法
- D:抽象類既然是抽象的,怎麼能夠直接new實例化呢
如下對接口描述錯誤的有:
- A.接口沒有提供構造方法
- B.接口中的方法默認使用public、abstract修飾
- C.接口中的屬性默認使用public、static、final修飾
- D.接口不容許多繼承
解析:選擇D
如下對異常的描述不正確的有
- A. 異常分爲 Error 和 Exceptipn
- B. Throwable是全部異常類的父類
- C. Exception是全部異常類父類
- D. Exception 包括 RuntimeException 和 RuntimeException 以外的異常
解析:選擇C
在try-catch-finally語句塊中,如下能夠單獨與finally —起使用的是
- A. catch
- B. try
- C. throws
- D. throw
解析:選擇B
下列關於for循環和while循環的說法中哪一個正確的?
- A.while循環能實現的操做,for循環也都能實現
- B.while循環判斷條件通常是程序結果,for循環判斷條件通常是非程序結采
- C.兩種循環任什麼時候候均可替換
- D.兩種循環結構中都必須有循環體,循環體不能爲空
解析:選擇A
- B:判斷條件和結果無關係
- C:for(init;test;;increment) ,while(test) 因而可知,當for語句的初始化及自增部分爲空時才能替換
- D:雖然空循環體沒意義,不過都是可用的.
下列關於構造方法的敘述中,錯誤的是:
- A. Java語言規定構造方法名與類名必須相同
- B. Java語言規定構造方法沒有返回值,但不用void聲明
- C. Java語言規定構造方法不能夠重載
- D. Java語言規定構造方法只能經過new自動調用
解析:選擇C
下列哪些語句關於Java內存回收的說明是正確的?
- A、 程序員必須建立一個線程來釋放內存
- B、 內存回收程序負責釋放無用內存
- C、 內存回收程序容許程序員直接釋放內存
- D、 內存回收程序能夠在指定的時間釋放內存對象
解析:選擇B
結構化程序設計所規定的三種基本控制結構是
- A. 輸入、處理、輸出
- B. 樹形、網形、環形
- C. 順序、選擇、循環
- D. 主程序、子程序、函數
解析:選擇C
給出如下代碼,請問該程序的運行結果是什麼?
class Example{
public static void main (String args[]){
boolean b=true;
System.out.println(b);
}
}
- A.打印輸出true
- B.打印輸出1。
- C.編譯錯誤,由於sout的參數只能爲整數 ..
- D.編譯錯誤,若是把true改變爲TRUE,則可以使代碼編譯經過。
解析:選擇A

3.2筆試題不定選
下列屬於關係型數據庫的是:
- A. Oracle
- B. MySqL
- C. IMS
- D. MongoDb
解析:選擇AB
如下屬於面向對象的特徵的是()。
解析:選擇CD
在使用super和this關鍵字時,如下描述正確的是:
- A. 在子類構造方法中使用super ()顯示調用父類的過早方法,super ()必須寫在子類構造方法的第一行,不然編譯不經過
- B. super ()和this ()不必定要放在構造方法內第—行
- C. this ()和super()能夠同時出如今—個構造函數中
- D. this ()和super()能夠在static環境中使用,包括static方法和static 語句塊
解析:選擇A
- 1)調用super()必須寫在子類構造方法的第一行,不然編譯不經過。每一個子類構造方法的第一條語句,都是隱含地調用super(),若是父類沒有這種形式的構造函數,那麼在編譯的時候就會報錯。
- 2)super()和this()相似,區別是,super從子類中調用父類的構造方法,this()在同一類內調用其它方法。
- 3)super()和this()均需放在構造方法內第一行。
- 4)儘管能夠用this調用一個構造器,但卻不能調用兩個。
- 5)this和super不能同時出如今一個構造函數裏面,由於this必然會調用其它的構造函數,其它的構造函數必然也會有super語句的存在,因此在同一個構造函數裏面有相同的語句,就失去了語句的意義,編譯器也不會經過。
- 6)this()和super()都指的是對象,因此,均不能夠在static環境中使用。包括:static變量,static方法,static語句塊。
- 7)從本質上講,this是一個指向本對象的指針, 然而super是一個Java關鍵字。
如下關於final關鍵字說法錯誤的是:
- A. final是java中的修飾符,能夠修飾類、接口、袖象類、方法和屬性
- B. final修飾的類確定不能被繼承
- C. final修飾的方法不能被重載;
- D. final修飾的變量不容許被再次賦值
解析:選擇AC
- final修飾類、方法、屬性!不能修飾抽象類,由於抽象類通常都是須要被繼承的,final修飾後就不能繼承了。
- final修飾的方法不能被重寫而不是重載!
- final修飾屬性,此屬性就是一個常量,不能被再次賦值!
訪問修飾符做用範圍由大到小是:
- A. private-default-protected-public
- B. public-default-protected-private
- C. private-protected-default-public
- D. public-protected-default-private
解析:選擇D
根據下面的代碼,String s = null;
會拋出 NullPointerException 異常的有:
- A. if( (s!=null) & (s. length()>0))
- B. if( (sl=null) && (s. length()>0))
- C. if( (s==null) | (s. length()=0))
- D. if( (s=null) || (s. length()==0))
解析:選擇AC
- 出現異常主要是由於執行了s.length()這句話,因此A、B、C、D選項中只要沒有執行到這句話的都是不會報空指針異常的。而後考查的第二點是短路邏輯運算符和非短路邏輯運算符。&和|爲非短路邏輯運算符,不管兩個語句爲何,必定會執行完畢,因此A、C兩個是會報出異常的。
Java中,哪一個接口以鍵值的方式存儲對象
- A. Collection
- B. Map
- C. List
- D. Set
解析:選擇B
Java接口的修飾符能夠爲:
- A. private
- B. protected
- C. final
- D. abstract
解析:選擇CD
- 這裏的題目應該是Java接口能夠出現的修飾符有哪些,因此我將C選上了。就看我的的理解吧~
如下哪些代碼片段正確:
- A. private final int theNumber = 017;
- B. public int theNumber = 017;
- C. public int theNumber = (octal)17;
- D. public int THE_NUMBER = 017;
解析:選擇ABD

如下哪些代碼片段正確:
- A. public transient static final int_FRAMEX =850;
- B. private transient static final int_FRAMEX2 =850;
- C. boolean b = 0;
- D. this("a","b");
解析:選擇D

3.3筆試簡答題
JRE/JDK/JVM分別指什麼?他們的關係是怎麼樣的?
接口和抽象類的區別是什麼?
Java中有幾種方法能夠實現一個線程?用什麼關鍵字修飾同步方法?stop()和suspend()方法爲什麼不推薦使用了?
簡述Java的接口和C++的虛類的相同和不一樣處
JSP和Servlet有哪些相同和不通點,他們之間的聯繫是什麼?
什麼是流,流常常按照哪幾種方式分類,每種方式又將流各分爲哪幾類?他們之間的區別是什麼?
其實這些簡答題每一個人寫出來可能都會不同,按本身的理解大膽寫就能夠了!
3.4面試
此次面試問的技術並非不少,主要問的平常的東西~~~
- Shiro你當時是用來幹嗎的?有建立用戶與角色/權限的表來維護嗎?
- 你會使用Linux嗎?能搭建環境嗎?
- 簡單介紹一下你寫過的項目
3.5公司C總結
作的筆試題都是Java基礎,挺合我胃口的(hahaha)
拿到了offer
4、公司D
4.1筆試題
在拿到試題的時候,前臺告訴我限時40分鐘作完,我覺得就她說說。後來40分鐘過去了,我剩下一題選擇題還沒作出來,卷子就收走了。我憑記憶簡單說一下題型吧。
選擇題:
- 給出先序和中序的遍歷結果,問後序的遍歷結果是什麼
- 連續幾道關於
|
,||
,&
,&&
的選擇題,寫程序結果是什麼
- 一道是outer,inner的多循環判斷,其中一個地方break掉outer循環,問其中的變量值等於多少
String s = "a1";String s2 = "a"+1
,連續幾道相似的題目,問結果
- 還有一些流程控制,問程序結果的題。
- ...其餘的忘了...
SQL題:
- 根據名字模糊查詢,寫出sql
- 多表查詢(這題如今想起來,我還忘記作了......)
程序題/簡答題:
- 刪除某個文件目錄下的全部文件,包括目錄
- 如今有一個線程A寫N個數據進隊列,有兩個線程往隊列取數據。
- 類的加載過程
- 類加載的過程包括了加載、驗證、準備、解析、初始化五個階段
- 如今機子是2G內存,如今我有10G數據,如今我想對這些數據排序,如何設計呢?
4.2初面
- 簡單介紹一下你本身
- 你以爲你在學校學習比較好的課程是什麼?
- 你說你自學Java,你以爲自學和老師上課的方式這種有什麼區別?
- 你以爲哪些是你自學沒學到,在老師那裏學到的。還有就是哪些是你自學學到的,在老師那裏沒學到的。
- 你以爲你擅長什麼?能夠簡單說說嘛?(我選了Java集合)
- 那你簡單說說ArrayList和LinkedList的東西吧(我就說我看過源碼,以及說了底層的一些東西)
- 爲何說ArrayList增刪慢呢?爲何說LinkedList查詢慢呢?
- 你說你知道ArrayList在增刪改的時候用的arraycopy()方法,你知道它是怎麼實現的嗎?
- 看你用過Cookie,簡單說說Cookie是什麼吧,爲何須要Cookie
- Cookie必定是服務端發送過去的嗎?是怎麼發送的?
- 使用的時候Cookie有什麼弊端(須要注意些什麼)?
- get和post有什麼區別?
- 使用post方式的時候,在url上能夠拼接參數嗎?
- 來講說http的狀態碼有哪些
- 分別談談這些狀態碼都表明什麼意思
- 上面已經說了get和post了,那你還知道http有其餘的原語嗎
- 來講說https吧,https是什麼東西
- 你知道https的工做流程嗎?
- SSL???忘記問什麼了,這個我不會。
4.3公司D總結
筆試題大多都是考Java基礎,也不算難。就是題量有點多,就給40分鐘可能有點緊。
總的來講初面考HTTP的知識比較多,這方面還得深刻增強一下。
2018年6月21日12:52:25,今天早上收到郵件,一面不過。
5、公司E
5.1面試
這家也主要圍繞着簡從來問:
- 簡單介紹一下你本身
- 你在學校時間有沒有作過什麼課程設計?簡單說說
- 我看你作過商城項目,你當時是怎麼作的呢?
- 你認爲這個商城項目最難的地方是在哪?你實現了以後,能運行嗎?
- 那個商城項目有多少人在使用呢?
- 簡單講講Hibernate和Mybatis的區別
- 你學過Struts2啊,簡單說說與SpringMVC的區別
- 經常使用的NIO框架有哪些?除了netty你還知道有哪一個嗎?
- 你的技術文章是寫在哪裏的?
- 簡單介紹一下Java集合吧
- 短信驗證你是怎麼實現的?
- 說說你是怎麼理解SpringBoot的
- Redis瞭解過嗎
5.2公司E總結
主要問某項技術是如何理解的,看你是否理解了這項技術。
拿到offer
6、總結
花了半個月時間吧,寫簡歷-->投簡歷-->收到面試邀請-->約面試時間-->面試-->(中公司有二面,大公司可能更多)-->拿到offer(或者拒絕)
最後的成績:面了5家公司,拿到4個offer。
至於在Java實習生廣州的薪酬方面,不一樣公司給出的薪酬都不同。有的公司按天數算(上班天數),也有按月算。呃,就我我的認爲在廣州大部分給出的薪酬在2500-3500。
- 有的工資給得比較低,但中午是有餐補的,有提供住宿的。
- 有的工資給得比較高,但沒有餐補,沒有住宿。
經過此次面試,仍是發現本身薄弱的地方有不少啊,得多補補才行,面試也沒想象中那麼刁難。
下一篇我就整理點我在面試前找到的,或者以爲比較好的資料吧~~
很久沒寫過文章啦~~~實習了之後應該就不會像在學校的時候更新那麼頻繁了,可能一個星期一篇?這我也不肯定,反正文章總結我仍是會寫的。還有好多好多想學的,想寫的呢。
若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠關注微信公衆號:Java3y。爲了你們方便,剛新建了一下qq羣:742919422,你們也能夠去交流交流。謝謝支持了!但願能多介紹給其餘有須要的朋友
文章的目錄導航:https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang