只有光頭才能變強
這陣子跑去面試Java實習生啦~~~我來簡單介紹一下背景吧。javascript
廣州三本大三在讀,在廣州找實習。大學開始接觸編程,一個很是平庸的人。
在學習編程時,跟我相似的人應該會有一個疑問:究竟學到什麼程度才能找到一份實習/工做呢?html
我是在6月1號開始投的簡歷找Java實習:java
實習憎投了17份:mysql
在前程無憂投了69份(沒有算今天剛投的):程序員
在boss直聘溝通51個,能夠發送8份簡歷出去:web
下面是個人簡歷(我不會寫簡歷,須要修改的地方還請你們不吝在評論區留言)面試
可能投遞的公司是有重複的,可能我投遞的意向更多偏向於離家裏比較近的,並非所有投應屆/實習(其中1-3年的也投了)。正則表達式
這篇文章其實主要是記錄一下本身的面試經歷,但願你們看完以後能有所瞭解:進入中小公司究竟須要什麼水平。redis
公司A是我第一家面試的,面了20多分鐘就完事了...沒有hr,自我介紹都沒說就直接開始了。固然了,面試官仍是很nice的。算法
通過這家面試,我知道我本身得多引導引導面試官。由於面試的時間過短了,基本都是一問一答,應該主動說出一些本身知道的東西,答得太少了。
最後拿到了offer
關注Java3y公衆號的機率是5%,收藏Java3y的文章機率是20%,收藏Java3y的文章後會關注Java3y的公衆號的機率是20%,已知某開發者看到Java3y公衆號以後關注了。那麼該開發者收藏過Java3y的文章機率是多少?
通俗解析:
公式解析:
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%
.假設基準值爲數組首元素的快速排序,要使得數組知足非降序排列,下列數據分佈致使快排算法效率最低的是____。
解析:基本有序的狀況下:快排最慢。因此選擇的是1-2-3-4-5-6-7
下列程序運行結果:
解析:false,由於==
默認比較的是地址,引用a和引用b所引用的地址是不同的。
String a = "hello";
在常量池中建立了對象String b = "he" + new String("llo");
在常量池中建立了he
,在堆中建立了llo"
關注線程和進行,描述正確的是(多選):
解析:選擇BCD
copy_on_write
技術複製父進程的資源;而同一個進程中的線程共享資源,每一個線程擁有本身的棧和相應的寄存器;D選項:用於進程間通信(IPC)的四種不一樣技術:
在一個的程序中有A,B,C三個線程同時對一個文件進行讀寫操做,其中的A,B是寫進程只負責往裏面寫數據,C是讀線程,同時把讀取的數據從文件中刪除,A線程單獨寫滿文件須要10小時,B線程單獨寫程序須要6小時,C線程須要15小時才能讀取完整個文件,不考慮三個線程之間的相互影響的狀況下,如今_____小時才能寫滿文件。
解析:選擇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
下列結果正確的是:
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); } }
解析:選擇B
IDEA的提示也很準確:
以下javascript代碼y最終輸出的結果是:
var x= 1; var y = 0; function add(n){ n = n+1; } y = add(x);
解析:選擇D
下列哪些是JSON格式結構(多選)
{id:'1',name:'do1'}
['java','javascript']
{'java','javascript'}
[id:'1',name:'do1']
解析:選擇AB
經提示:在JSON的規範中,上面的都不能稱之爲標準的JSON格式(解釋可看評論區)。
資料:http://www.ecma-international...
話說{'java','javascript'}
這個在JavaScript算什麼?會的麻煩在評論區告訴我一下哈~~
對類成員訪問權限的控制,是經過設置成員的訪問控制屬性實現的,下列屬於訪問控制屬性的是:
解析:選擇ABC
如下集合對象不是線程安全的:
解析:選擇A
下面描述正確的是(多選):
解析:選擇AD
下列對正則表達式描述正確的是:
\D
匹配一個數字字符\s
匹配任何不可見字符,包括空格,製表符,換頁符等等\t
匹配一個換頁符\n
匹配回車換行符解析:選擇B
\D
匹配一個非數字字符。\s
匹配任何不可見字符,包括空格、製表符、換頁符等等\t
匹配一個製表符。\n
匹配一個換行符。
\r
匹配一個回車符Linux解壓的命令(多選)
解析:選擇AB
已知一個包含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/ques...
來源:牛客網
String s = "aaa"
,爲何一樣能夠執行 s = "bbb"
?String s = "aaa";
和String b = "aaa";
相比,它倆會相等嗎?通過上一家面試的總結,我帶了一個本子和筆去面試,面試官提問的時候我會在本子上寫寫,畫畫圖來告訴面試官表現個人思路。
公司B是我面的第二家公司:總的來講此次面試遇到了我一大堆不懂的東西,能夠說被面試官虐了。面的題目都是相對開放的,問我某個功能如何設計、如何實現、是否可使用某項技術實現這個功能。
對Redis/數據庫設計/數據庫SQL編寫/Elasticsearch知識點儲備仍是不夠啊~~這些知識點得多加把勁了.
2018年6月21日12:52:05,今天早上拿到offer
下列關於註釋語句的描述中,正確的一項是。
解析:選擇C
爲了區分重栽多態中同名的不一樣方法,要求
解析:選擇A
下列哪個說法是正確的
解析:選擇B
在Java中,下列運算符合法的是
解析:選擇A
下面定義數組的格式中不正確的是
解析:選擇B
下列哪個說法是正確的:
解析:選擇D
能夠用來修飾interface的是
解析:選擇B
如下哪一個表達式是不合法的。
解析:選擇B
線性表採用鏈式存儲時,其地址:
解析:選擇D
關係數據庫中的「關係」是指:
解析:選擇C
如下對抽象類的描述正確的是:
解析:選擇C
如下對接口描述錯誤的有:
解析:選擇D
如下對異常的描述不正確的有
解析:選擇C
在try-catch-finally語句塊中,如下能夠單獨與finally —起使用的是
解析:選擇B
下列關於for循環和while循環的說法中哪一個正確的?
解析:選擇A
下列關於構造方法的敘述中,錯誤的是:
解析:選擇C
下列哪些語句關於Java內存回收的說明是正確的?
解析:選擇B
結構化程序設計所規定的三種基本控制結構是
解析:選擇C
給出如下代碼,請問該程序的運行結果是什麼?
class Example{ public static void main (String args[]){ boolean b=true; System.out.println(b); } }
解析:選擇A
下列屬於關係型數據庫的是:
解析:選擇AB
如下屬於面向對象的特徵的是()。
解析:選擇CD
在使用super和this關鍵字時,如下描述正確的是:
解析:選擇A
如下關於final關鍵字說法錯誤的是:
解析:選擇AC
訪問修飾符做用範圍由大到小是:
解析:選擇D
根據下面的代碼,
String s = null;
會拋出 NullPointerException 異常的有:
解析:選擇AC
Java中,哪一個接口以鍵值的方式存儲對象
解析:選擇B
Java接口的修飾符能夠爲:
解析:選擇CD
如下哪些代碼片段正確:
解析:選擇ABD
如下哪些代碼片段正確:
解析:選擇D
JRE/JDK/JVM分別指什麼?他們的關係是怎麼樣的?
接口和抽象類的區別是什麼?
Java中有幾種方法能夠實現一個線程?用什麼關鍵字修飾同步方法?stop()和suspend()方法爲什麼不推薦使用了?
簡述Java的接口和C++的虛類的相同和不一樣處
JSP和Servlet有哪些相同和不通點,他們之間的聯繫是什麼?
什麼是流,流常常按照哪幾種方式分類,每種方式又將流各分爲哪幾類?他們之間的區別是什麼?
其實這些簡答題每一個人寫出來可能都會不同,按本身的理解大膽寫就能夠了!
此次面試問的技術並非不少,主要問的平常的東西~~~
作的筆試題都是Java基礎,挺合我胃口的(hahaha)
拿到了offer
在拿到試題的時候,前臺告訴我限時40分鐘作完,我覺得就她說說。後來40分鐘過去了,我剩下一題選擇題還沒作出來,卷子就收走了。我憑記憶簡單說一下題型吧。
選擇題:
|
,||
,&
,&&
的選擇題,寫程序結果是什麼String s = "a1";String s2 = "a"+1
,連續幾道相似的題目,問結果SQL題:
程序題/簡答題:
刪除某個文件目錄下的全部文件,包括目錄
如今有一個線程A寫N個數據進隊列,有兩個線程往隊列取數據。
類的加載過程
如今機子是2G內存,如今我有10G數據,如今我想對這些數據排序,如何設計呢?
筆試題大多都是考Java基礎,也不算難。就是題量有點多,就給40分鐘可能有點緊。
總的來講初面考HTTP的知識比較多,這方面還得深刻增強一下。
2018年6月21日12:52:25,今天早上收到郵件,一面不過。
這家也主要圍繞着簡從來問:
主要問某項技術是如何理解的,看你是否理解了這項技術。
拿到offer
花了半個月時間吧,寫簡歷-->投簡歷-->收到面試邀請-->約面試時間-->面試-->(中公司有二面,大公司可能更多)-->拿到offer(或者拒絕)
最後的成績:面了5家公司,拿到4個offer。
至於在Java實習生廣州的薪酬方面,不一樣公司給出的薪酬都不同。有的公司按天數算(上班天數),也有按月算。呃,就我我的認爲在廣州大部分給出的薪酬在2500-3500。
經過此次面試,仍是發現本身薄弱的地方有不少啊,得多補補才行,面試也沒想象中那麼刁難。
下一篇我就整理點我在面試前找到的,或者以爲比較好的資料吧~~
很久沒寫過文章啦~~~實習了之後應該就不會像在學校的時候更新那麼頻繁了,可能一個星期一篇?這我也不肯定,反正文章總結我仍是會寫的。還有好多好多想學的,想寫的呢。
若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗, 能夠關注微信公衆號:Java3y。爲了你們方便,剛新建了一下qq羣:742919422,你們也能夠去交流交流。謝謝支持了!但願能多介紹給其餘有須要的朋友
文章的目錄導航:https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang