【毕业求职季】-听说你想去大厂看学妹,带你看看阿里后端实习面经长啥样?
前言
畢業求職季,你準備好了嗎?希望各位小伙伴能夠苦練技術,早日達成自己心儀的offer。
下面是博主收集的一些關于面試的比較幫的面試題目,有需要的小伙伴可自行訂閱下載。
Spring系列面試題129道(附答案解析)
Redis,快看看這40道面試題
MyBatis的27道面試題
73道Java面試題合集-多線程與進程
28道ZooKeeper面試題
【一面】
進程(Process)?是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。 在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描述,進程是程序的實體。是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。程序是指令、數據及其組織形式的描述,進程是程序的實體。
線程(thread)?是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發多個線程,每條線程并行執行不同的任務。
我們簡單總結下:
進程:指在系統中正在運行的一個應用程序;程序一旦運行就是進程;進程——資源分配的最小單位。
線程:系統分配處理器時間資源的基本單元,或者說進程之內獨立執行的一個單元執行流。線程——程序執行的最小單位。
Java并發關鍵字,JUC下有什么工具
BIO/NIO/AIO Netty,多路復用,Netty為什么沒有用JDK自帶的多路
?
AIO、BIO、NIO的區別
IO模型主要分類:
1.BIO (同步阻塞I/O模式)
數據的讀取寫入必須阻塞在一個線程內等待其完成。
這里使用那個經典的燒開水例子,這里假設一個燒開水的場景,有一排水壺在燒開水,BIO的工作模式就是, 叫一個線程停留在一個水壺那,直到這個水壺燒開,才去處理下一個水壺。但是實際上線程在等待水壺燒開的時間段什么都沒有做。
2.NIO(同步非阻塞)
同時支持阻塞與非阻塞模式,但這里我們以其同步非阻塞I/O模式來說明,那么什么叫做同步非阻塞?如果還拿燒開水來說,NIO的做法是叫一個線程不斷的輪詢每個水壺的狀態,看看是否有水壺的狀態發生了改變,從而進行下一步的操作。
3.AIO (異步非阻塞I/O模型)
異步非阻塞與同步非阻塞的區別在哪里?異步非阻塞無需一個線程去輪詢所有IO操作的狀態改變,在相應的狀態改變后,系統會通知對應的線程來處理。對應到燒開水中就是,為每個水壺上面裝了一個開關,水燒開之后,水壺會自動通知我水燒開了。
4.IO與NIO區別:
?
?
復用器(沒答上來,提示JDK空輪訓BUG)聊了聊Netty前身
SpringBoot和Spring區別
?
Spring 框架就像一個家族,有眾多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring 的 ioc和 aop ioc 提供了依賴注入的容器 aop ,解決了面向橫切面的編程,然后在此兩者的基礎上實現了其他延伸產品的高級功能。Spring MVC是基于 Servlet 的一個 MVC 框架 主要解決 WEB 開發的問題,因為 Spring 的配置非常復雜,各種XML、 JavaConfig、hin處理起來比較繁瑣。于是為了簡化開發者的使用,從而創造性地推出了Spring boot,約定優于配置,簡化了spring的配置流程。
?
IOC、AOP介紹,加載Bean的流程
用過什么Spring的注解
Spring初始化Bean的流程,Aware,后置處理器
額,你還有實習經歷啊,介紹一下實習過程?開發流程?收獲?
用AOP做過什么,實現細節
Spring里的設計模式
如果沒有Spring了你怎么辦?(一臉懵逼,就說了Spring的主要功能,實現一個類似的,后面面試官又補充了很多)
Spring事務的傳播行為,底層實現,事務的能力是Spring提供的嗎?
數據庫存儲引擎,你用的哪一種?用的哪個版本的?索引的數據結構,用過索引嗎?怎么用的?
反問(問了多久出結果,然后就說給我過了)
這面沒有問很深的,就問了廣度的東西,說下面面試讓我準備深度的東西
然后介紹了一下部門
?
【二面】
奇怪的面試官,不喜歡問八股,引導你去思考,喜歡有技術激情的人?
開始介紹了這次面試的流程:
自我介紹
你和我現在在視頻聊天的話,整個數據傳輸的一個過程介紹下(瀏覽
器輸入URL的變體?TCP變UDP?)
TCP、UDP的區別,剛才的場景為什么選UDP?
一個視頻包很大,不能一次傳輸,怎么做?
windows系統的文件系統?他的整體架構?(我準備了半天內存管理,你讓我答文件管理?)
電腦上的一些殺毒軟件,他不是都會有文件碎片整理的一個功能嘛,
你想過這個功能嗎?你覺得這個功能是怎么實現的?(我當時心中一
萬個問號,蛤?這是啥?不過后面我能絞盡腦汁回想之前學過的硬盤
和文件系統的知識,答了個大概差不多吧(后面查了一些資料驗證了
一下))
你啟動一個進程的時候,他內存怎么分配的?如果內存不夠了呢?如
果超過設置的虛擬內存大小了呢?
Java啟動main函數啟動的是一個進程還是一個線程?
Mysql索引的實現?模糊匹配為什么會遵循最左匹配原則?(我還答
了索引下推全模糊也可以走索引了)
(中間可能還有一些題不記得了,但是雖然只有這些問題,但是面試
官都不是以常規的方式問出來的,而是引導你去主動思考,頭腦風暴?面完感覺挺累的)
然后聊了一下之前的筆試成績
前面的過程50分鐘左右
后面又寫了一小時的題
面試官:我前面對你還挺滿意的,然后來做道題吧(居 然 不 只 是 算 法 題!)
顯示一個shell腳本,要我用Java實現出來,沒有看太懂,然后給我換了一個
題目是:有大量文本文件,預計一共涉及單詞數量1w左右,需要使用5個線程并發計算,全部計算后做結果合并,選出頻率最高的100個單詞及對應的次數
面試官:我加你個微信,寫好了叫我,我看一下,可以用本地IDE
我的內心:一般不都是算法題嗎,一般這種大數據topk不是就說個思路就行了嗎,要我現場寫多線程代碼?我暈了
然后硬著頭皮寫了將近一小時給面試官交上去了
面試官出題之前還嘀咕了一句,這種的你們肯定都做過,得出點不一樣的。。。。
結論:面試官看完我交上去后說這面給我過了,我當時那個激動啊,這都給我過了,在這個面試官手里撐過去可真不容易啊,然后微信問了面試官是不是不喜歡八股文,他說:面試我考察的是對技術的好奇心,熱情,動手能力,背書考試意義不大,而且計算機是實踐類學科,年輕人有技術好奇心,有熱情,有動手能力就可以了
?
【三面】
之前內推人就說這次是大老板面了,然后周五晚上十一點約面試,周六九點面試。
自我介紹
聊項目,聊人生
你平時怎么學習的
你覺得你要是去分享學習經驗你會怎么說,你的一個學習成長的過程?
為什么去做這些項目
現在互聯網大廠加班都挺嚴重的,你怎么看(我說考研同學都7107了,加班還好吧)
為什么不考研?
我看了前面兩面的記錄,你覺得前兩面哪里答的不好?要補充一下嗎?
總之就是聊天
反問
大老板面試總之還是比較輕松,主要就是聊天
然后晚上問內推人面試結果,他說周六不上班,我(黑人問號臉??),難道只有大老板一個人在加班嗎,大老板深夜約面,早起面試,太敬業了。而且居然不是996的部門。i了i了
?
【HR面】
15分鐘,小姐姐一直在笑,整體比較輕松
自我介紹,側重在校經歷
實習中的一些事情,遠程實習有沒有障礙,怎么溝通,有問題怎么
解決,收獲?
什么時候能來實習?
你的優點?
你身邊的老師同學都是怎么評價你的,優點缺點都說一下
你做你這個項目的動機是怎么樣的,團隊協調的過程,你扮演什么
角色,團隊成員對分工不滿意時你怎么處理
反問:部門業務(之前聽說阿里hrg對業務也都很精,就問了一下)
如果可以拿到offer,大概需要等多久,hr小姐姐說:前幾面你不是都
過了嘛,我這也給你過了,offer的話這周或者下周,盡快給你安排。
總結
以上是生活随笔為你收集整理的【毕业求职季】-听说你想去大厂看学妹,带你看看阿里后端实习面经长啥样?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习核心技术精讲100篇(三十二)-
- 下一篇: 从无到有算法养成篇-链式存储结构之循环链