58同城算法工程師一面&二面 面試題

來源:投稿 作者:LSC
編輯:學姐

一面 40min

1.Gbdt和xgboost的區別

XGBoost是對GBDT的改進和擴展,它提供了更高的效率、更好的性能、正則化技術、內置特征選擇等功能。

  • (1)正則化:

GBDT使用基本的樹模型,并在每一輪迭代中逐漸增加樹的復雜性。它使用簡單的正則化技術,如葉子節點的最小樣本數限制,來防止過擬合。

XGBoost引入了正則化技術,包括L1和L2正則化,以減少過擬合風險。它還使用了二階導數信息來提高訓練的穩定性。

  • (2)高效性:

XGBoost通過多線程和分布式計算提供了更高的訓練效率。它實現了高度優化的數據存儲和計算,以減少內存使用和加速訓練過程。

GBDT通常以串行方式訓練,訓練時間可能較長,特別是在處理大規模數據時。

  • (3)缺失值處理:

XGBoost能夠自動處理缺失值,無需手動進行處理。

在GBDT中,需要在數據預處理階段手動處理缺失值,通常通過填充或刪除缺失值。

  • (4)內置特征選擇:

XGBoost具有內置的特征選擇功能,它可以估計每個特征的重要性,并根據其重要性進行特征選擇。GBDT通常需要手動進行特征選擇或依賴其他特征選擇方法。

  • (5)求導優化:

GBDT只需要對目標函數求一階導,xgboost要求二階導。

2.Lstm的特點

  • (1)門控機制:

LSTM引入了門控機制,包括遺忘門、輸入門和輸出門,這些門控制著信息的流動和保存。遺忘門決定哪些信息應該被遺忘,輸入門控制哪些信息應該被添加到記憶單元,輸出門控制什么信息應該傳遞到下一個時間步。這種機制有助于控制信息的流動,提高了模型的訓練效率。

  • (2)長期記憶:

LSTM的主要特點是能夠捕捉和維護長期依賴關系,它在處理序列數據中表現出色。傳統的RNN存在梯度消失問題,導致難以學習長序列的依賴關系,而LSTM通過設計具有記憶單元的結構來解決這個問題,允許信息在長時間內保持不變。

  • (3)平行化訓練:

LSTM具有良好的并行性,可以加速訓練過程,特別是在GPU上進行訓練。這有助于處理大規模數據和加速深度學習模型的訓練。

3.Transformer的最重要的特點,對比CNN的效果

最重要的特點是自注意力機制。

對比CNN,transformer更注重全局特征,特征之間能并行計算,CNN更注重局部特征,圖像分類領域中,在圖像數量充足的情況下,tranformer的效果通常比CNN好。

4.ReLU激活函數的優缺點,怎么改進

優點:

  • (1) 當特征值大于0時,可以避免梯度消失

  • (2)計算簡單

缺點:

  • (1) 非零均值

  • (2)當特征值大量小于0時,可能引起梯度消失

  • (3)當特征值大于0時,非線性擬合能力可能下降

改進:改用Leaky ReLU函數

5.Sort Linux命令的使用

#?file.txt
#?int?int?string
1??2??str1
1??1??str2
2??2??str3#?按第一列的倒序,第二列的正序排序輸出
2??2??str3
1??1??str2
1??2??str1答案:?
sort?-r?1?-k?2?file.txt6.Coding??斐波那契數列
#?1?1?2?3?5?...?
#?input?:?n
#?output:?第n位的值?
#?n?=?3,??=>?3def?func(n):if?n?==?0?or?n?==?1:return?1a,?b?=?1,?1for?i?in?range(2,?n+1):tmp?=?bb?=?a?+?ba?=?tmp
return?b

7.了解隱碼模型和CRF嗎?介紹一下

8.簡單介紹一下Mapreduce

它用于處理海量數據,其核心思想是將大規模數據集分為多個小的子集,然后并行處理這些子集,最后將結果進行合并。

9.C++的指針和引用的區別

  • (1)引用訪問一個變量是直接訪問,而指針是間接訪問。

  • (2)引用是一個變量的別名,不額外占用內存空間,而指針是一個變量,有自己的內存空間。

  • (3)引用定義的時候必須賦值,并且賦值之后不可以改變,指針定義的時候可以不賦值,賦值后可以改變其所指的值。

  • (4)引用不可以為空,但是指針可以指向空值。

  • (5)引用是類型安全的,一般不會引起內存泄露的問題,指針可能會,一般盡可能用引用代替指針。

二面 30min

1.聊項目

2.介紹自己最熟悉的幾個模型

我介紹了resnet,inceptionnet, yolo模型等

3.介紹Yolo模型,主要是3-5

4.樣本不均衡的處理方法

  • (1)欠采樣

  • (2)過采樣

  • (3)平衡讀取數據

  • (4)設置權重,對樣本較少的數據設置較高的訓練權重

  • (5)使用平衡損失函數,比如focal loss等

  • (6)數據增強

5.介紹Focal loss

Focal Loss 最初由物體檢測領域的研究者提出,其主要目標是減輕模型在訓練過程中對大多數背景類別的關注,從而更好地處理少數類別的樣本。這種損失函數有助于提高模型對罕見類別的檢測性能。

Focal Loss 的主要特點如下:

**關注難分樣本: **Focal Loss 通過調整樣本的權重,更加關注難以分類的樣本。通常情況下,容易分類的樣本(大多數屬于背景類別)會降低其權重,而難分類的樣本(屬于少數類別)會增加其權重。

**降低易分類樣本的權重: **通過調整損失函數,Focal Loss 能夠有效地降低容易分類的樣本(背景類別、樣本數量多的類別)的權重,這樣模型將更加關注罕見類別,從而提高了模型在罕見類別的檢測能力。

Focal Loss 的引入有助于提高目標檢測模型對于罕見目標的檢測性能,減輕了類別不平衡問題對模型訓練的影響。

6.二叉搜索樹和二叉堆的區別

二叉搜索樹的左子樹的結點的值都比根結點小,右子樹結點的值都比根結點大。一般情況下,插入刪除搜索的時間復雜度是O(logn),最壞情況下是O(n)。

二叉堆分為最大堆、最小堆。如果是最大堆,只要保證根結點的值大于左右子樹的結點的值。插入刪除排序的時間復雜度是O(nlogn)

關注下方《學姐帶你玩AI》🚀🚀🚀

算法工程師萬能簡歷公式+200多個簡歷模板(中英文)

回復“簡歷”輕松獲取!

碼字不易,歡迎大家點贊評論收藏!

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

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

相關文章

vue3.0 + qiankun遇到的問題

進入子應用再回到主應用切換動態路由時 TypeError: Cannot read properties of undefined (reading ‘appWrapperGetter’) application ‘plat’ died in status UNMOUNTING: instance.$destroy is not a function 第一個報錯是因為子應用切走時沒有銷毀 vue的實例&#xff0…

常用RFC規范匯總

官網:https://www.rfc-editor.org/ The RFC Series (ISSN 2070-1721) contains technical and organizational documents about the Internet, including the specifications and policy documents produced by five streams: the Internet Engineering Task Force …

TCP/IP

分層模型 TCP 傳輸控制協議 UDP 用戶數據包協議 四層 應用層 負責發送/接收消息 傳輸層 負責拆分和組裝 .期間會有編號 網絡層 TCP/UDP 屬于網絡層, 不會判斷和處理編號 數據鏈路層 以太網 ,網絡設備 TCP 連接 TCP連接需要端口,進行通信 Java 通過Socket 接收消息 發送 …

基于SpringBoot+Vue的體檢預約管理系統

基于SpringBootVue的體檢預約管理系統的設計與實現~ 開發語言:Java數據庫:MySQL技術:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系統展示 主頁 管理員界面 用戶界面 摘要 體檢預約管理系統是一種基于Spring Boot…

Vue3常用操作

一、Vue3項目構建 1、安裝最新版本vue npm create vuelatest 2、選擇需要的配置 3、進入項目 cd 項目名稱 4、下載依賴 npm install 5、啟動項目 npm run dev

chatGLM3微調

文章目錄 一、問答數據集生成器使用設置問題啟動使用產出效果 二、進行微調第一步:下載模型第二步:項目準備2.1 下載項目2.2 然后使用 pip 安裝依賴2.3 開始 第三步進行微調3.1安裝相關依賴3.2準備數據集,并且上傳3.3對數據集進行預處理3.4 進…

如何使用技術SEO來優化評論

你在網上購買嗎?我的意思是,在當今時代,誰不這樣做?作為買家,無論您想購買什么,您都了解全面和高質量評論的價值。這是您在決定是否購買產品時考慮的重要因素。 這就是為什么許多人在網上購物之前使用評論…

移動端click事件、touch事件、tap事件的區別

在移動端,有三種常見的事件類型,click事件、touch事件、tap事件。它們的區別如下: click事件:click事件是在用戶點擊屏幕的時候觸發,如果是移動設備,則會在用戶點擊屏幕的同時觸發touch事件。但是&#xff…

【開源】基于Vue和SpringBoot的康復中心管理系統

項目編號: S 056 ,文末獲取源碼。 \color{red}{項目編號:S056,文末獲取源碼。} 項目編號:S056,文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 普通用戶模塊2.2 護工模塊2.3 管理員…

uni-app中vue3+setup實現下拉刷新、上拉加載更多效果

在小程序或各類app中,下拉刷新和上拉加載更多是極為常見和使用非常頻繁的兩個功能,通過對這兩個功能的合理使用可以極大的方便用戶進行操作。 合理的設計邏輯才能更容易挽留住用戶,因為這些細節性的小功能點就變得極為重要起來。 那么在uni…

基于WEB的停車場管理系統的設計和實現【附源碼】

基于WEB的停車場管理系統的設計和實現 摘 要 隨著現代社會的快速發展,人民生活水平快速提高,汽車的數量飛速增加,與此同時停車問題也越來越受到人們的關注,為了實現對停車場進行有效的管理,結合一些停車場的模式和現狀…

游戲被攻擊了怎么辦

隨著網絡技術和網絡應用的發展,網絡安全問題顯得越來越重要,在創造一個和諧共贏的互聯網生態環境的路途中總是會遇到各種各樣的問題。最常見的當屬于DDOS攻擊(Distributed Denial of Service)即分布式阻斷服務。由于容易實施、難以…

【LeetCode刷題】--40.組合總和II

40.組合總和II 本題詳解&#xff1a;回溯算法 class Solution {public List<List<Integer>> combinationSum2(int[] candidates, int target) {int len candidates.length;List<List<Integer>> res new ArrayList<>();if (len 0) {return re…

深度學習之基于YoloV5車輛和行人目標檢測系統

歡迎大家點贊、收藏、關注、評論啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代碼。 文章目錄 一項目簡介YOLOv5 簡介YOLOv5 特點 車輛和行人目標檢測系統 二、功能三、系統四. 總結 一項目簡介 # 深度學習之基于 YOLOv5 車輛和行人目標檢測系統介紹 深度學習在…

2023 年 亞太賽 APMCM 國際大學生數學建模挑戰賽 |數學建模完整代碼+建模過程全解全析

當大家面臨著復雜的數學建模問題時&#xff0c;你是否曾經感到茫然無措&#xff1f;作為2022年美國大學生數學建模比賽的O獎得主&#xff0c;我為大家提供了一套優秀的解題思路&#xff0c;讓你輕松應對各種難題。 cs數模團隊在亞太賽 APMCM前為大家提供了許多資料的內容呀&…

【西行紀年番】孫悟空對戰陰界王,素衣奄奄一息,巨靈拳霸氣一擊

Hello,小伙伴們&#xff0c;我是拾荒君。 《西行紀年番》第20集已更新。為了救回素衣&#xff0c;孫悟空想盡辦法&#xff0c;最后他拜托沙悟凈幫忙&#xff0c;終于成功把自己傳送到陰界。原來&#xff0c;素衣的魂魄被陰界王藏在了他制造的人偶之中。沙悟凈提醒孫悟空必須在…

8.2 Windows驅動開發:內核解鎖與強刪文件

在某些時候我們的系統中會出現一些無法被正常刪除的文件&#xff0c;如果想要強制刪除則需要在驅動層面對其進行解鎖后才可刪掉&#xff0c;而所謂的解鎖其實就是釋放掉文件描述符&#xff08;句柄表&#xff09;占用&#xff0c;文件解鎖的核心原理是通過調用ObSetHandleAttri…

Axios使用方式

ajax是JQUERY封裝的XMLHttprequest用來發送http請求 Axios簡單點說它就是一個js庫,支持ajax請求,發送axios請求功能更加豐富,豐富在哪不知道 1.npm使用方式 vue項目中 npm install axios 2.cdn方式 <script src"https://unpkg.com/axios/dist/axios.min.js">…

【三維幾何學習】自制簡單的網格可視化軟件 — Mesh Visualization

自制簡單的網格可視化軟件 — Mesh Visualization 引言一、整體框架1.1 三角形網格1.2 界面管理1.3 VTK可視化界面 二、核心源碼2.1 三角形網格&#xff1a;TriMesh類2.2 界面Widget_Mesh_Manager2.3 VTK可視化2.4 main 引言 使用PyQt自制簡單的網格可視化軟件 - 視頻展示 本是…

Node.js入門指南(一)

目錄 Node.js入門 什么是Node.js Node.js的作用 Node.js安裝 Node.js編碼注意事項 Buffer(緩沖器&#xff09; 定義 使用 fs模塊 概念 文件寫入 文件讀取 文件移動與重命名 文件刪除 文件夾操作 查看資源狀態 路徑問題 path模塊 Node.js入門 什么是Node.js …