主頁 > 軟體設計 > 面試位元組跳動Java一面問題基本都答對了,郵件通知被刷了,hr回復原因竟然是...

面試位元組跳動Java一面問題基本都答對了,郵件通知被刷了,hr回復原因竟然是...

2020-12-03 10:19:22 軟體設計

簡介

面試是上海的Java崗位,周日一輪面試,自我感覺答的都還不錯,

結果收到郵件面試結束了,說什么"你優秀的學識和能力給我們留下了深刻的印象!經過對你綜合情況的仔細評估,并經過與崗位需求進行謹慎匹配和權衡之后, 非常遺憾,我們這次沒有和你達成合作,但你的資訊已經被錄入到公司人才庫",意思就是掛了唄,

后來打電話問hr,說是我擅長的技術不是他們所需要的,???(黑人問號),然后面試程序中,有一點奇怪的地方,面試前面試官跟我說我面的而這個崗位有點奇怪,他也沒跟我說哪奇怪,
在這里插入圖片描述

本文分享給需要面試刷題的朋友,另外本人也整理了一份資料包含了Java基礎,資料結構,jvm,Redis,并發多執行緒,分布式,資料庫等等,由于篇幅有限,以下只展示小部分面試題,有需要的朋友可以點擊進群795983544領取,暗號CSDN

在這里插入圖片描述

面試官的問題:

在這里插入圖片描述

1.自我介紹

2.介紹印象深刻的專案,我介紹的是最新在做的專案,用到的技術,自己做的哪些模塊?

  • 回答:講了用到的設計模式——模版方法,然后講了模式方法的實作

3.因為最新的專案用到了,問了Spring Boot,Spring的區別?

  • 回答:去配置化話,然后其他的基本一樣,順便說了一下Spring MVC的原理

4.Spring 的 bean是什么?我說了IOC、DI、Bean之間的關系

5.Hibernate 和 Mybatis的區別?

6.因為專案中用到了webservice,問了創建的方式,怎么訪問?

  • 回答:通過SOAP協議訪問,創建的方式我忘記了…(我用的是EndPoint發布的)

7.因為簡歷中講到了我個人的電商秒殺系統(個人喜好寫的,提升自己的技術堆疊)問我怎么實作一個高并發系統?
回答:
橫向擴展(用nginx實作負載均衡,提高服務器性能等等)
縱向擴展

  • MQ佇列實作異步下單,減輕服務器的壓力
  • redis快取減輕資料庫的壓力,redis的演算法原理,常用的hash演算法、以及一致性hash演算法的原理,然后就說具體的做法了,SSO單點登錄的時候用redis中存放用戶資訊
  • 快取秒殺串列界面的方式
  • 前后端分離的開發模式

其實還有很多個,不過我沒有用到,比如說服務降級(天貓雙11的時候經常會關閉一下評價或者說不怎么常使用的模塊)、資料庫分庫分表

8.執行緒的創建方式?怎么實作執行緒安全?
回答:通過多個執行緒對static的變數進行++操作,
(1)利用A.Q.S的相關類比如說AtomicInteger的執行緒安全的類,順便說了一波實作原理CAS演算法(看過相關
的博客,略懂),Java的記憶體模型等等
(2)利用執行緒封閉的方式,
(3)利用synchronized、Lock的方式,順便說了一下兩者的區別,
(4)我還說了一些執行緒不安全的類,比如說HashMap(大概說了一下原始碼實作),可以使用concurrenthashmap (說了分段鎖,其實也是利用CAS演算法)…
(5) volatile關鍵字實作執行緒安全的用法以及場景,因為volatile保證了執行緒的可見性、禁止指令重排序,可以用來做來狀態變數,如果比如說

//執行緒1
boolean stop = false;
while(!stop){
    doSomething();
}
 
//執行緒2
stop = true;

因為volatile不具備原子性操作,不適合用來作為原子性操作的場景
9. 只有static的變數是不安全的嗎?還有別的嗎?
回答:堆、方法區都是執行緒共享的,堆疊是執行緒獨有的,比如說類變數、靜態變數都是放在堆、方法區中的,會有執行緒不安全的情況,堆疊中的內容是執行緒獨有的,然后再說了下Java的記憶體模型,從主記憶體到執行緒的堆疊記憶體
10. 敏捷開發懂不懂?
回答:舉例了平時的專案(類似敏捷開發):每周出一次build,然后客戶不滿意,改,繼續出build;改bug,QA測驗有問題,繼續改…
11. 個人電商專案的訪問數量級?有沒有并發的數量要求?
回答:我說因為是個人專案沒有統計具體說是什么,會使用Jmeter工具測驗優化前后的QPS變化量
12. 怎么保證代碼質量?
13. 公司專案的數量級,資料庫的量級?

好了,一個小時多的面試就結束了

面試中的細節

之所以是細節雜談,說實話,是因為真的不知道可以寫什么,網上關于面試的文章很多,大概看了幾篇之后,更不知道寫什么了,而根據自己的面試經驗來看,發現其實有很多細節,在面試的時候都沒有被好好重視起來,所以,這里針對這些細節做個總結,細節決定成敗,也希望可以對你們有所幫助,
在這里插入圖片描述

1. 準備一個良好的開場白

首先筆者理解的自我介紹的作用是緩解初次交談的尷尬以及過渡開場,然后才是擴展為對候選人的口才、邏輯以及表達能力的判斷,

如果你實在不知道怎么說,即便是把你簡歷上的姓名、年齡、愛好、作業經驗復述一遍,至少也是起到了暖場的作用,當然要是能基于此,表現出一定出彩的地方,那自然是再好不過,多花點心思準備是值得的,

最近看到一個有趣的分享,唐僧每次介紹自己:貧僧唐三藏,從東土大唐而來,去往西天拜佛取經,其實這幾句話包涵了每人都要問自己的三個問題:我是誰?我從哪里來?我要到哪里去?在面試中也可以總結為三個問題:我是誰,我的學習和作業經歷?我有什么技術亮點?

2. 謙虛是必要的,因為這是禮節

很大程度上,面試官還有一個身份就是以后可能要一起共事的同事或者老板,所以切忌不要表現的心高氣傲,尤其在電話面試中,很難在短時間就能了解一個人,你所表現出的態度就顯得非常重要,如果和面試官產生了爭論,要注意談話技巧,可以在你的觀點前加上我理解的是什么什么…

就連牛頓說他不過是站到了巨人的肩膀上了,所以永遠不要覺得自己有多牛,真正牛的人只會更謙虛,
3. 大招放的好,作業何愁找
何謂大招,首先對于候選人來說,技術面試所涉及的深度和廣度是很難全部顧及的,加之每個面試官的問題又會多種多樣,所以與其擔心被問到自己不熟悉的領域,不如挑幾個自己的熟悉的技術點深挖下去,總結和形成自己的一套理論

之前看到一句話說的很好,面試的本質不是一問一答,而是亮點展示(放大招),所以要學會掌握面試的主動權,把話題盡量往自己擅長的地方引,當然陳述的時候記得一定要簡潔扼要,

4. 演算法題 — 知之為知之,不知為不知
面試中問到演算法題,如果不知道就明確表示不知道,切記不要裝做知道,然后不知所云的說了一大推,這樣反而會給面試官留下比較差的印象,面試評價上也會比較難看,很有可能也會影響你后續的面試,

不用擔心回答不知道,就感覺沒戲了,這里一般有兩種情況:一種確實是對演算法要求高的職位,那沒辦法了,只能回去好好加強一下,來日再戰,還有一種情況主要是考察你的綜合能力,你其他方面的能力表現的非常好,可以彌補,不會有影響的,嗯,筆者當時就屬于第二種(強行炫耀),

5. 還有一些小細節

  • 簡歷遵循 STAR 法則,內容才是王道,對于某些大廠來說,都會有自己的招聘系統,而你精心打造的酷炫簡歷在匯入到后臺后,會變得面目全非,你的簡歷樣式做的再好看也沒用,少在樣式上下功夫,多在內容上下功夫,

  • 聽到面試官的問題后,先不要急于回答,給自己幾秒的思考時間,多站在面試官的角度去思考這個問題應該怎么答,比如當問到你覺得你最大的優勢是什么?有些同學會直接回答熱愛技術……然后…然后就沒有了,這樣顯然毫無說服力,如果加上一句,經常瀏覽國外優秀的技術博客、在 GitHub 參與和貢獻自己的開源力量,是不是就好很多了,

  • 面試結束后,不要覺得不好意思,或者覺得沒有必要,對面試官說一聲:“謝謝,辛苦您了”,就我個人經驗來說,畢竟大部分負責的面試官都會和你聊比較長的時間,也會盡可能挖掘你的技術亮點,結尾給面試官留個好印象,如果沒有通過,至少對你的面試評價上也不會太難看,

最后

如果你覺得自己學習效率低,缺乏正確的指導,可以加入資源豐富,學習氛圍濃厚的技術圈一起學習交流吧!

群內有許多來自一線的技術大牛,也有在小廠或外包公司奮斗的碼農,不一定能短期就讓每個人的技術突飛猛進,但從長遠來說,眼光,格局,長遠發展的方向才是最重要的,

在這里插入圖片描述

35歲中年危機大多是因為被短期的利益牽著走,過早壓榨掉了價值,如果能一開始就樹立一個正確的長遠的職業規劃,35歲后的你只會比周圍的人更值錢,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/229254.html

標籤:其他

上一篇:虛驚一場,差點掛在美團三面,罪魁禍首居然竟是“Redis”?

下一篇:資料結構:線段樹實作詳解

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more