朋友入職已經一個月左右了,整體工作環境還是非常滿意的!所以這次特意抽空給我寫出了這份面試題,而我把它分享給小伙伴們,面試&入職的經驗!
大概是在5月中的時候他告訴我投遞了簡歷,7月的時候經過了3輪面試收獲了Offer,當時也參考了很多牛客網站上大佬的面經。
今天來把當初自己整理的所有可能會問到的題目都分享給大家。
此外這里的面試題,可以分享給大家哈,為了不影響大家觀看,獲取方式我放下文末了!
個人信息
- 自我介紹 項目(重要)
- 項目中最大的挑戰,花費最長時間的項目,比較有成就感的事情
- 項目中印象最深的bug
- 有什么想問的嗎
- 適合業務測試還是技術測試
- 為什么選擇字節
- 分別用3個詞描述自己的優缺點
測試
- 對測試開發的認識,為什么想做測試開發,測試測開的理解
- 軟件的分類
- 什么是接口測試
- 微信紅包的測試用例
- 微信評論功能的測試用例
- 測試一下支付寶付款碼,設計測試用例
- 黑盒測試的方法
- 白盒測試的方法
- 軟件測試的流程
- 登錄功能怎么設計測試用例?
- 網上銀行轉賬是怎么測的,設計一下測試用例。
- 給你一個網站,你應該如何測試?
- 一個有廣告的紙杯子,請設計測試用例?
- 想象一個登錄框,包括ID、密碼、登錄、取消,記住密碼(復選框),盡可能的寫出你想到的測試點?
- 測試淘寶購物車的測試案例
- 設計一下抖音上下滑動視頻的測試用例
- 設計抖音app用戶登錄測試
- 中斷測試
- 測試在一個場景下,推薦濾鏡
- 朋友圈點贊評論測試用例
情景問題
- 如果抖音一個地區的許多用戶無法下載視頻的原因
- 如果用戶收到了銀行短信提示已經扣款成功了,但是商家沒有收到錢,你覺得會是什么問題
- 輸入一個url,請問發生了什么?
- 如何實現一個用戶登錄功能
- 高並發下減少事務帶來的性能消耗?
- 如果一個API接口出現一個不穩定出現的bug,如何去確定?
- 如果提交bug,開發告訴你不存在,如何處理?
- 訪問頁面加載緩慢的原因以及如何解決
- 如何你和你的領導意見不一致,你會怎么做
- 如果圖片上傳失敗,分析原因
- 針對評論功能,你如何設計接口,主要回答需要傳遞的參數有哪些?
- app頁面白屏了什么原因
- 全鏈路壓測中,找到了某一個服務器CPU負載率100%,磁盤和內存使用率正常,請問你會怎么去分析可能的原因
- 設計買火車票的系統,輸入出發站和到達站,返回所有可能的結果
- 添加購物車請求后發生了什么
- 淘寶用戶支付失敗的原因
Python基礎
- python的內存池機制
- python數組和列表的區別
- python你常用哪些包,標准庫
- 面向過程和面向對象的語言區別
- 反射
- python的數據結構
- dict和list的底層實現
- python裝飾器,作用,用法
- 編譯型語言和解釋型語言 解釋型語言的優點
- 垃圾回收機制
- GIL鎖
- is和==
- __new__和__init__區別
- 用python寫出多線程,循環打印123
操作系統
- 讀寫鎖,不同點,應用場景
- 線程和進程的區別是什么
- 什么是死鎖,死鎖的條件
- 如何預防死鎖,!避免死鎖,死鎖發生的檢查
- 堆和棧的區別以及存儲模式有什么區別
- 內存泄漏和內存溢出
- 多線程和多進程,以及應用場景
- 進程通信方式
- 多線程如何實現的
- 計算機內存管理的方式
- 進程調度方法
- 什么是Linux用戶態和內核態
- 進程的狀態,進程狀態就緒和等待狀態的區別是什么
- 虛擬內存是干嘛的
- 線程池
- 線程安全的實現方式
- 進程和線程的上下文切換
- 協程
計算機網絡
- TCP三次握手,四次揮手的過程
- 為什么客戶端要在TIME_WAIT狀態等待一段時間
- CLOSING狀態
- 如果server端沒有收到第三次ack,但是收到了client端發送的數據,server端會怎么處理
- 講一講get和post
- http狀態碼
- TCP和UDP
- 一次HTTP請求的過程(輸入URL到返回的全過程)
- http和https
- 無狀態和無連接
- OSI七層模型,各層有哪些協議
- HTTP協議 請求報文結構
- TCP如何保證可靠傳輸,丟包怎么辦
- 講一下滑動窗口
- TCP三次握手中SYN和ACK包有什么不同,包含什么
- UDP想要可靠怎么實現 RUDP
- 半連接攻擊
- TCP粘包和拆包
- cookie和session是什么,為什么要用cookie和session
- DNS協議和作用
- DNS的查詢方式
- ARP協議作用、工作方式
- 以太網數據包的大小最大為多少
- 三次握手過程中是否存在安全問題?描述一下存在什么樣的安全問題?針對這樣的安全問題如何防御?
- web攻擊,CSRF攻擊
- TCP如何進行擁塞控制?擁塞控制如何判斷發生擁塞?
- TCP快重傳如何判斷丟失?
- https證書在哪存放
- 長連接和短連接以及他們分別適用的場景
數據庫
- sql語句 取一個月內的id分組 取一個年級中每個班級年齡最小的同學名字 成績表輸出前三名的成績,后三名呢 拷貝A表的數據到B表 查詢每門科目都大於80分的學生名字 篩選出每個小時的記錄 考察where 考察聚合函數 where和having的區別 一個數據庫sql查詢重復個數 在學生成績表中查詢平均分不及格(低於60)的學生id及平均分 查詢總成績最高的人的姓名 user表中在一個時間段內登陸三次的用戶id limit的用法
- 數據庫引擎及他們之間的區別 InnoDB MyISAM MEMORY:
- mysql的日志怎么查詢
- (多次)查詢速度慢的原因,如何解決
- 數據庫的事務是什么?怎么使用
- 主鍵、外鍵、索引的各自的含義以及區別
- 事務的特性(ACID),講一下每個特性的意思
- 索引的類型
- 什么是聚簇索引、什么是非聚簇索引
- 索引的數據結構是什么
- 前綴索引
- MySQL/MongoDb 端口號
- 數據庫有幾種表之間的連接形式(左連接,右連接,內連接,完全連接)
- 說說redis中的數據結構和應用場景
- 三大范式
- 數據庫隔離等級
- 為什么要用b+樹索引而不用hash
Linux
- 常見命令 查看進程ps 查看所有進程長格式ps -ef 打印當前文件夾文件 ls -al a所有文件 l詳細信息 軟鏈接 ln -s a target 硬鏈接 ln 創建目錄 mkdir 修改權限 chmod 查看文件: 移動文件mv 也可以重命名 復制文件cp 刪除文件 rm -r 遞歸刪除 -f刪除只讀文件 通配符?單個字符,*多個字符,[a-z]字符集 grep 正則搜索 顯示行號-n 查詢個數-c 反選-v 查看指定進程 ps -ef | grep pid 查看命令歷史 history 查看磁盤空間df -hl 查看文件大小du 查找文件 find [目錄] 以名字查找-name “h*”以h開頭 終止一個進程 kill -9 pid
- 如何防止新人誤操作rm -rf
- 找進程號為199的進程 ls -ef|grep 199
- 某文件中含關鍵詞的行數 grep -c "key" ./file
- 該目錄下以.log結尾的文件中包含關鍵詞a但不包含關鍵詞b的行數 grep "a" ./file | grep -cv "b"
智力題
- 一根金條,需要一周每天都發工資,切割兩次,請問怎么切割 把金條切分為1/7, 2/7, 4/7,每天找零
- 100個足球隊兩兩比賽角逐出一支冠軍隊伍,請問至少比賽幾次 每場比賽淘汰一只隊伍,所以需要99場比賽
- 25匹馬5個賽道,求前三名
- 100個豆子,五個囚犯,拿的豆子最多或者最少都要被處死,求誰的生存概率大一點
這里就是朋友分享給我的面試,不過不僅僅是他一個人的面試題,還有些自己整理的一些面試,當時整理的題目。有些題目的答案我也自己總結了,一共有400頁的PDF,因為太長這里就不放了。
需要的可以【點擊這里,備注博客園】無償分享,希望大家都可以拿到自己想要的Offer