雙非怎么進大廠?

https://www.nowcoder.com/share/jump/2764630231719583704126

大家好,我是白露啊。

今天我們要分享一個非常勵志的故事,它證明了雙非背景的畢業生也可以通過努力和堅持,進入夢想中的大廠。

img

下面是這位網友的真實經歷,希望能為正在找工作的你提供一些激勵和參考。


背景介紹

這位網友的背景并不特殊,他是一名雙非本科畢業生。實習經歷包括順豐和貨拉拉。

在秋招時,他只有一個秋招期間爛大街的博客項目,而在春招期間,他換成了一個短鏈接項目。

秋招和春招的面試與Offer

秋招: 他參加了多個面試,但能拿到的中大廠后端面試僅有貨拉拉(零星的一兩個小廠就不提了)。

春招: 春招期間情況有所好轉,他陸續拿到了汽車之家、樹美科技、小黑盒和美團的面試機會。

相比秋招,春招確實多了很多機會,感覺一部分是因為項目更具吸引力了,而且他也積累了更多的經歷。

秋招和春招的感悟

學歷重要,但不是決定因素
對于校招生來說,學歷、實習經歷、優秀的項目或開源經歷確實是非常重要的。

但是,他自己的經歷證明了,學歷低并不完全意味著無法進入中大廠

在秋招時,他看著周圍的人不斷拿到面試機會,而自己卻機會渺茫,這讓他極度焦慮。

然而,他沒有放棄。

不斷完善自己,抓住每個機會
他在實習的同時,一邊投遞秋招的簡歷,一邊學習八股算法,還忙著尋找耗時短但亮眼的項目。這一切都是因為他深知自身簡歷的劣勢,無論是學歷還是項目經歷,均不占優勢。

因此,他不斷尋找機會去完善自己。

貨拉拉給了他一個機會,他抓住了。

盡管那時候他的簡歷還很一般,使用的項目也是爛大街的博客項目,但他憑借毅力和勤奮成功獲得了這次難得的機會。

提升自我,增加面試機會
轉到春招時,由于他完善了個人項目并且提前去貨拉拉實習,豐富了履歷,他的面試機會顯著增加。

他拿到了美團和快手的面試機會,并最終選擇了美團的offer。不得不說,馬哥的短鏈項目在短時間內快速掌握并且有很多亮點,非常適合用來充實簡歷

給24屆校招生的建議

把握機會,提升自我
雖然學歷無法改變,但我們可以把握住各種機會。

沒有面試機會不可怕,最可怕的是,當機會來臨時沒有好好把握。如果他在秋招時沒有把握住貨拉拉的機會,沒有提前去實習增加履歷,春招的機會可能也會少很多。

不斷增加履歷,提升自我
我們要做的就是不斷豐富自己的履歷,不斷提升自己。

當機會來臨時,一定要抓住。這個網友的經歷告訴我們,雙非背景確實有可能進入大廠。關鍵在于如何利用每一個機會,如何通過不懈的努力去追求自己的目標。


總結一下,這個網友的分享證明,學歷背景并不是決定你能否進入大廠的唯一因素。

通過努力、堅持和不斷自我提升,每個人都有機會實現自己的職業夢想。

希望他的經驗和建議能激勵更多的24屆校招生,讓大家在求職路上更加堅定和自信。

如果你有任何問題或想法,歡迎在評論區和我討論分享。

美團一面面經

面試官: 你好,先簡單介紹一下你在實習經歷中覺得最有價值的一個case吧。

求職者: 當然。我在實習期間參與了一個對CompletableFuture多線程接口進行優化的項目。這個項目的背景是我們在處理大量并發任務時,發現現有的多線程實現存在性能瓶頸和資源浪費的問題。我們希望通過使用CompletableFuture來優化多線程處理。

面試官: 那么,你們為什么選擇使用CompletableFuture進行優化?它解決了哪些關鍵問題?

求職者:

  • 背景:我們原先的多線程實現采用的是傳統的ThreadExecutorService,在處理大量并發任務時,出現了線程資源浪費和性能瓶頸的問題。

  • 關鍵問題

  • 線程管理復雜:傳統的線程管理需要手動控制線程的創建和銷毀,容易導致資源浪費。

  • 任務依賴:處理任務依賴關系復雜,手動管理任務之間的依賴關系容易出錯。

  • 阻塞:傳統的多線程方法容易出現阻塞,降低了整體性能。

面試官: 使用CompletableFuture進行優化后,帶來了哪些問題?使用它時需要注意哪些點?

求職者:

  • 帶來的問題

  • 調試難度增加:由于異步執行,調試和排查問題變得更加復雜。

  • 異常處理復雜:異步任務中的異常處理需要特別注意,容易遺漏。

  • 注意點

  • 線程池選擇:需要合理選擇和配置線程池,以避免線程資源的浪費和性能瓶頸。

  • 任務依賴管理:需要特別注意任務之間的依賴關系,確保任務能夠正確執行。

  • 異常處理:需要在每個異步任務中進行適當的異常處理,避免異常傳播影響整體流程。

面試官: 你們在使用CompletableFuture時,線程池是怎么考慮的?

求職者: 我們選擇了ForkJoinPool作為默認的線程池,因為它能夠更好地利用多核CPU資源。同時,我們也根據任務的具體需求,創建了自定義的ThreadPoolExecutor,用于處理一些特定的任務。

進程間通信

面試官: 看你是科班出身,我們聊聊進程間通信(IPC)吧。你能介紹一下進程間通信的方式嗎?

求職者: 當然。進程間通信的方式主要有以下幾種:

  • 管道(Pipe):用于父子進程之間的通信,單向傳輸。
  • 命名管道(Named Pipe):用于任意進程之間的通信,雙向傳輸。
  • 消息隊列(Message Queue):用于不同進程之間通過消息傳遞數據。
  • 共享內存(Shared Memory):多個進程共享同一塊內存區域,速度快,但需要同步機制。
  • 信號量(Semaphore):用于進程間的同步,控制對共享資源的訪問。
  • 套接字(Socket):用于不同主機之間的通信,也可以用于本地主機的進程間通信。

面試官: 那么從操作系統設計者的角度考慮,為什么需要設計這么多種進程間通信的方式?

求職者:

  • 不同的應用場景:不同的通信方式適用于不同的應用場景。例如,管道適用于簡單的父子進程通信,而共享內存適用于需要高效數據傳輸的場景。
  • 性能需求:不同的通信方式在性能上有差異,共享內存速度快但復雜,而消息隊列和信號量則相對簡單但速度慢。
  • 同步需求:有些通信方式如信號量和消息隊列提供了同步機制,適用于需要嚴格同步的場景,而共享內存則需要額外的同步機制。
  • 網絡通信:套接字不僅適用于本地通信,還可以用于網絡通信,具有廣泛的應用范圍。

TCP和UDP

面試官: 好的,我們再聊聊網絡協議。TCP和UDP主要有什么差別?

求職者:

  • TCP(Transmission Control Protocol)

  • 連接型協議:在傳輸數據之前需要建立連接。

  • 可靠性:提供可靠的數據傳輸,確保數據包按順序到達,并且沒有丟失。

  • 流控制和擁塞控制:TCP具有流控制和擁塞控制機制。

  • 應用場景:適用于需要可靠傳輸的應用,如HTTP、FTP、郵件等。

  • UDP(User Datagram Protocol)

  • 無連接協議:無需建立連接,直接傳輸數據包。

  • 不可靠:不保證數據包的順序和完整性,可能會丟失或重復。

  • 低開銷:由于沒有連接建立和維護,傳輸效率高。

  • 應用場景:適用于對實時性要求高但不要求可靠傳輸的應用,如視頻流、在線游戲、DNS等。

面試官: 那么,怎么基于UDP實現一個可靠的通信協議?

求職者: 可以基于UDP實現一個可靠的通信協議,以下是一些關鍵點:

  • 序列號:為每個數據包分配一個序列號,接收方可以根據序列號重組數據包,并檢測丟失的數據包。
  • 確認機制:接收方在接收到數據包后發送確認(ACK)給發送方,發送方在超時未收到確認時重新發送數據包。
  • 重傳機制:發送方在超時未收到確認時,重新發送數據包。
  • 流控制:根據接收方的處理能力,調整發送數據包的速率,避免接收方過載。
  • 擁塞控制:通過檢測網絡擁塞情況,動態調整發送速率,避免網絡擁塞。

線程安全的單例模式

面試官: 請寫一個線程安全的單例模式,需要使用finalprivate構造函數、volatile和雙重檢查。

求職者: 這是一個使用Java實現的線程安全單例模式示例:

public class Singleton {private static volatile Singleton instance;private Singleton() {// 私有構造函數,防止外部實例化}public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
}

解釋

  • volatile:確保多線程環境下的可見性,防止指令重排序。
  • private構造函數:防止外部實例化。
  • 雙重檢查:在同步代碼塊內外都進行檢查,以提高性能。

數據庫隔離級別

面試官: 你了解數據庫隔離級別嗎?

求職者: 了解。數據庫的隔離級別決定了事務之間的隔離程度,共有四種常見的隔離級別:

  1. 讀未提交(Read Uncommitted):最低的隔離級別,允許讀取未提交的數據,可能會導致臟讀。
  2. 讀已提交(Read Committed):只允許讀取已提交的數據,避免臟讀,但可能會出現不可重復讀。
  3. 可重復讀(Repeatable Read):在一個事務內多次讀取相同數據時,結果是一樣的,避免不可重復讀,但可能會出現幻讀。
  4. 可序列化(Serializable):最高的隔離級別,完全隔離事務,避免幻讀,但性能開銷最大。

聯合索引

面試官: 聯合索引在不滿足最左匹配原則時為什么會失效?

求職者: 聯合索引在不滿足最左匹配原則時會失效,這是因為數據庫在創建聯合索引時,是按照索引列的順序進行排序的。只有按照最左前綴順序查詢時,才能有效利用索引。如果查詢條件不包含最左邊的列,數據庫無法利用索引的排序信息,導致索引失效,退化為全表掃描。

算法題

面試官: 最后我們來做一道算法題。一個變形的二分查找,做法是根據mid所處的下標奇數偶數決定是去mid-1還是mid+1。你可以試著寫一下代碼嗎?

求職者:當然,我們繼續。

求職者: 好的,我來寫一下這個變形的二分查找的代碼。假設我們有一個已經部分排序的數組,并且我們需要根據mid的位置是奇數還是偶數來決定下一步的搜索方向。

public class Solution {public int modifiedBinarySearch(int[] nums, int target) {int left = 0;int right = nums.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (nums[mid] == target) {return mid;}if (mid % 2 == 0) {  // 如果mid是偶數if (nums[mid] < target) {left = mid + 1;} else {right = mid - 1;}} else {  // 如果mid是奇數if (nums[mid] < target) {right = mid - 1;} else {left = mid + 1;}}}return -1;  // 如果沒找到,返回-1}
}

解釋

  • 初始化左右指針left指向數組的左端,right指向數組的右端。

  • 計算中間位置mid = left + (right - left) / 2,避免直接相加可能導致的整數溢出。

  • 比較中間值和目標值

  • 如果nums[mid] == target,返回mid

  • 如果mid是偶數且nums[mid] < target,則目標值在右半部分,移動left指針。

  • 如果mid是偶數且nums[mid] >= target,則目標值在左半部分,移動right指針。

  • 如果mid是奇數且nums[mid] < target,則目標值在左半部分,移動right指針。

  • 如果mid是奇數且nums[mid] >= target,則目標值在右半部分,移動left指針。

  • 循環終止條件:當left > right時,停止循環,如果沒有找到目標值,返回-1

面試官: 很好,今天的面試就到這里了,感謝你的回答。我們會盡快通知你結果。祝你好運!


參考原文:https://offernow.cn

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40305.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40305.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40305.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

泰安再見,泰山OFFICE還會再見

路過泰安&#xff0c;遇見彩虹。懷念和感恩在泰山信息科技的萬丈豪情。 泰山OFFICE&#xff0c;還是要復活。

JavaScript Set新增7個方法操作集合

intersection() intersection () 它返回一個包含此集合和給定集合中所有元素的新集合。 const odds new Set([1, 3, 5, 7, 9]);const squares new Set([1, 4, 9]);console.log(odds.intersection(squares)); // Set(2) { 1, 9 }union() union () 它返回一個包含此集合中所有元…

提升Android Studio開發體驗:使用Kelp插件實現顏色和圖標預覽

提升Android Studio開發體驗&#xff1a;使用Kelp插件實現顏色和圖標預覽 在Android開發中&#xff0c;自動補全功能對于提高開發效率至關重要。然而&#xff0c;默認的Android Studio并不能預覽顏色和圖標&#xff0c;這使得開發者在選擇資源時常常感到困惑。本文將介紹如何使…

【C語言小知識】備選拼寫:iso646.h頭文件

備選拼寫&#xff1a;iso646.h頭文件 C語言中有3種邏輯運算符&#xff1a; 邏輯運算符含義&&與||或!非 假設exp1和exp2是倆個簡單的關系表達式&#xff0c;那么 當且僅當exp1和exp2都為真時&#xff0c;exp1 && exp2才為真。如果exp1或exp2為真&#xff0c;…

【學習筆記】Fréchet距離的 C 語言實現

Frchet 距離 Frchet 距離&#xff0c;又稱為弗雷歇距離&#xff0c;是一種衡量兩條曲線&#xff08;或兩個路徑&#xff09;之間相似性的度量方法。這個概念最初在度量空間理論中被定義&#xff0c;后來被廣泛應用于計算機科學、地理信息系統、圖像處理、生物信息學等多個領域…

使用Python實現深度學習模型:遷移學習與領域自適應教程

引言 遷移學習和領域自適應是深度學習中的兩個重要概念。遷移學習旨在將已在某個任務上訓練好的模型應用于新的任務&#xff0c;而領域自適應則是調整模型以適應不同的數據分布。本文將通過一個詳細的教程&#xff0c;介紹如何使用Python實現遷移學習和領域自適應。 環境準備…

Visual Studio常見問題

VS的文件路徑為什么要用雙斜杠(\)? 答:在編程時,寫入文件的路徑如image = cvLoadImage("C:\Users\lyb\Documents),這種寫法在編譯時不會報錯,但在運行時會報錯,報錯圖像讀入為空,這是因為Windows的路徑雖然用的是單斜杠,但在編程時的意義是不同的,單斜杠“\”…

Go語言中的可變參數:靈活而強大的函數參數

Go語言中的可變參數:靈活而強大的函數參數 在Go語言中,可變參數是一種非常有用的特性,它允許函數接受任意數量的參數。這種靈活性使得函數可以更加通用和可復用。本文將深入探討Go語言中可變參數的用法、原理和最佳實踐。 什么是可變參數? 可變參數允許你傳遞零個或多個值給…

LNMP架構搭建Discuz論壇

LNMP架構是一種用于搭建Web服務器環境的常用架構&#xff0c;由Linux、Nginx、MySQL和PHP組成 組成功能Linux作為操作系統的基礎&#xff0c;提供穩定的環境Nginx作為反向代理服務器&#xff0c;處理客戶端的請求并將他們轉發給后端的應用服務器MySQL作為關系型數據庫管理系統…

7.2 數據結構

作業 #include <stdio.h> #include <string.h> #include <stdlib.h> struct student {char name[32];int age;double score; }s[3];void stu_input(struct student *s,int n) {printf("請輸入%d個學生的信息&#xff08;姓名&#xff0c;年齡&#xff0…

【服裝識別系統】圖像識別+Python+人工智能+深度學習+算法模型+TensorFlow

一、介紹 服裝識別系統&#xff0c;本系統作為圖像識別方面的一個典型應用&#xff0c;使用Python作為主要編程語言&#xff0c;并通過TensorFlow搭建ResNet50卷積神經算法網絡模型&#xff0c;通過對18種不同的服裝&#xff08;‘黑色連衣裙’, ‘黑色襯衫’, ‘黑色鞋子’, …

Python機器學習實戰:利用決策樹算法預測鳶尾花種類

引言 在人工智能領域&#xff0c;機器學習作為一種強大的工具正在改變我們對數據的認知和處理方式。Python因其豐富的機器學習庫和直觀易用的特性&#xff0c;成為了眾多開發者首選的語言。本篇文章將帶領大家深入了解如何運用Python中的scikit-learn庫來構建決策樹模型&#…

關系型數據庫和矢量數據庫分別適用于哪些領域?

關系型數據庫和矢量數據庫分別適用于哪些領域&#xff1f; 李升偉 關系型數據庫適用于以下領域&#xff1a; 1. 金融行業&#xff1a;如銀行的交易處理、賬戶管理等&#xff0c;對數據的一致性和事務處理要求極高。 2. 企業資源規劃&#xff08;ERP&#xff09;&#xff1a…

Meta 發布 Meta 3D Gen 文本生成3D模型

Meta推出了 Meta 3D Gen &#xff08;3DGen&#xff09;&#xff0c;這是一種用于文本到 3D 資產生成的最先進的快速管道。3DGen 可在一分鐘內提供具有高提示保真度和高質量 3D 形狀和紋理的 3D 資產創建。 它支持基于物理的渲染 &#xff08;PBR&#xff09;&#xff0c;這是…

網口串口(Serialport)服務器

文章所用工具http://t.csdnimg.cn/2gIR8http://t.csdnimg.cn/2gIR8 搭建服務器界面 操作配置文件保存方式類 public string FileName { get; set; }public IniHelper(string name) {this.FileName name; //在構造函數中給路徑賦值} 1 先導入c語言進行讀取操作ini文件的方法 …

Python基于you-get下載網頁上的視頻

? 1.python 下載地址 下載 : https://www.python.org/downloads/ 2. 配置環境變量 配置 python_home 地址 配置 python_scripts 地址 在path 中加入對應配置 3. 驗證 ? C:\Users>python --version Python 3.12.4C:\Users>wheel version wheel 0.43.04. 下載 c…

Android SurfaceFlinger——本地窗口連接EGL API(二十四)

通過前面的文章我們屬性了 Surface 和 EGLSurface 的相關內容,這里我們繼續分析讓兩者相關聯的函數 native_window_api_connect()。 一、連接EGL API 1、window.h native_window_api_connect 源碼位置:/frameworks/native/libs/nativewindow/include/system/window.h st…

2024華為OD機試真題-分月餅-(C++/Python)-C卷D卷-200分

2024華為OD機試題庫-(C卷+D卷)-(JAVA、Python、C++) 題目描述 中秋節,公司分月餅,m 個員工,買了 n 個月餅,m ≤ n,每個員工至少分 1 個月餅,但可以分多個,單人分到最多月餅的個數是 Max1 ,單人分到第二多月餅個數是 Max2 ,Max1 - Max2 ≤ 3 ,單人分到第 n - 1…

Python從入門到放棄——浮點型變量

浮點型變量 前言 上一篇文章我們研究了整數類型變量&#xff0c;本次我們來開始研究一下浮點類型變量。 浮點類型 浮點數在計算機編程中扮演著重要的角色。它們是一種特殊的數據類型&#xff0c;用于存儲和處理小數或實數。在Python中&#xff0c;浮點數是由小數點分隔的…