1. 程式人生 > >滴滴機器學習工程師面試總結

滴滴機器學習工程師面試總結

        非常感謝滴滴給了我非常多次面試機會,也由衷地佩服滴滴面試官的素質,希望大家不要再黑滴滴了。

        也不知自己為什麼這麼有勇氣,投遍了大廠的演算法,然而最近的狀態一直是做筆試,做測評,跑面試,什麼公司都投,像趕場一樣四處跑面試,真替自己心酸,仔細想一想,一家企業平均0.5小時投簡歷 + 2小時筆試 + 1小時測評 ,也就是一家公司平均要花3.5小時,然後細數這一個月,每天都在做筆試,根本就沒有認真地去看書,沒有踏踏實實地準備一家公司,整個九月都非常浮躁,面完滴滴我就一下子清醒了,也受到了很大的鼓勵。

       總結經驗,再接再厲,加油!

       本來我寫程式碼就爛,今天三面面試沒地方坐還在會議室地上蹲了一個多小時,極大地影響了我發揮,難過==

       字串最長迴文實現:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def getLongList(lists):
    arr = list(lists)   #字串轉化為列表
    length = len(arr)
    # print (length)
    # print (arr)
    maxList =[]
    for i in range(length-1):  #遍歷字元
        tmp = []            #這個是變的,我老喜歡放錯地方
        #print (lists[i])
        if arr[i] == arr[i+1]:
            tmp.append(arr[i])
            tmp.append(arr[i+1])
            j = 1
            while i - j >= 0 and i+1+j < length-1: #判斷重複字元前後是否還有重複的
                left = arr[i-j]   #左邊字元
                right = arr[i+1+j]    #右邊字元
                if left == right:   #如果左右兩邊相同,就加進tmp中
                    tmp.insert(0,left)      #加在最前面
                    tmp.append(right)    #加在最後面
                j += 1  #重複上述操作
        if len(tmp) > len(maxList):
            maxList = tmp

        if i >1 and arr[i-1] == arr[i+1]:    #以i為中心對稱
            tmp.append(arr[i])
            j = 1
            while i-j > 0 and i+1+j < length:
                left = arr[i-j]   #左邊字元
                right = arr[i+j]    #右邊字元
                if left == right:   #如果左右兩邊相同,就加進tmp中
                    tmp.insert(0,left)      #加在最前面
                    tmp.append(right)    #加在最後面
                j+= 1
        if  len(tmp) > len(maxList):
            maxList = tmp
    return "".join(maxList)

if __name__ == "__main__":
    lists = "fccfedffde"
    arr = getLongList(lists)
    print (arr)

列印九九乘法表:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def printTable():
    for i in range(1,10):
        print("{}X{}={}\t".format(i, i, i * i), end=" ")
    print ("\t")
    for i in range(1,10):
        for j in range(1,10-i):
            print ("{}X{}={}\t".format(j,j+i,j*(j+i)),end=" ")
        print("\t")
if __name__ == "__main__":
    printTable()

資料庫索引:

     索引的原理:對要查詢的欄位建立索引其實就是把該欄位按照一定的方式排列(比如,圖書館的書按照書名的第一個字母排序),建立的索引只是對該欄位有用,如果查詢的欄位發生改變,那麼這個索引就無效了,建立索引可以提高查詢效率,但如果索引太多,就會降低查詢的速度。

索引的優缺點:

優點:1)大大加快資料的檢索速度,這是建立索引的最主要原因

          2)可以加速表和表之間的連線

         3)通過建立唯一性索引,可以保證資料庫中表中的每一行資料的唯一性

         4)通過使用索引,在查詢的過程中,使用優化隱藏器,提高系統的效能。

缺點:1)索引會佔用一定的物理空間,如果佔用的空間很多,就會影響整個系統的效能

           2)建立和維護索引要耗費時間,這種時間隨著資料量的增加而增加

          3)當對錶中的資料進行增刪改的時候,索引需要動態的維護,這樣降低了資料的維護速度。

索引為什麼能夠增加查詢速度?

      在執行SQL語句時,預設的方式是根據搜尋條件進行全表搜尋,遇到匹配條件就加入到搜尋集合中,如果我們對某一欄位增加索引,查詢時就會先去索引列表中一次定位到特定值的行數,大大減少了遍歷的行數,所以就能明顯增加查詢的速度。

什麼時候新增索引呢?

      1)在經常需要搜尋的列上,可以加快搜索的速度;

      2)在作為主鍵的列上,強制該列的唯一性和組織表中資料的排列結構;

      3)在經常使用的連線列上,這些列主要是一些外來鍵,可以加快連線的速度

      4)在經常需要根據範圍進行搜尋的列上簡歷索引,因為索引已經排序,其指定的範圍是連續的

      5)在經常需要排序的列上建立索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間

      6)在經常使用WHERE子句的列上面建立索引,可以加快條件的判斷速度

建立索引的方法:

     1)直接建立索引,使用CREAT INDEX 語句或者使用建立索引向導;

     2)間接建立索引,在表中定義主鍵約束或者唯一性約束,同時也建立了索引

索引的型別:

1)唯一索引: 不允許其中任何兩行具有相同索引值的索引

2)主鍵索引:主鍵索引是唯一索引的特定型別

3)聚集索引:在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同,一個表只包含一個聚集索引

Linux命令:

死鎖的產生:

死鎖的解決:

相關推薦

滴滴機器學習工程師面試總結

        非常感謝滴滴給了我非常多次面試機會,也由衷地佩服滴滴面試官的素質,希望大家不要再黑滴滴了。         也不知自己為什麼這麼有勇氣,投遍了大廠的演算法,然而最近的狀態一直是做筆試,做測評,跑面試,什麼公司都投,像趕場一樣四處跑面試,真替自己心酸,仔細想一

機器學習崗位面試總結:簡歷應該關注的5個重點

機器學習簡歷的一些小技巧 如今的公司很難找到優秀的機器學習人才。當然,任何特定技能的要求都取決於機器學習專案的用途和要求,但是您的機器學習履歷中必須具備的某些技能在各種專案要求中是一致的。 通常,公司希望面試者具備豐富的機器學習技能,理論和編碼能力,以便在需要時能夠跨部門參與機器學習專案。該領域的專家不僅

面試】2017滴滴機器學習演算法工程師面試

一面: 先自我介紹,然後看著簡歷問我,有用過哪些機器學習的演算法做專案。比如說決策樹用它做過什麼專案沒有?CNN用它做過什麼專案沒有? 我回答沒有,因為現場編我也編不出來。就跟老師說我自己學習的。然後考官就讓我介紹一下決策樹。我就自己介紹(感覺自己介紹的很不

機器學習筆試面試超詳細總結(二)

51、概率和資訊量的關係 示例: 符號集 a 、 b 、 c 、 d ,它們相互獨立,相應概率為 1/2 、 1/4 、 1/8/ 、 1/16 ,其中包含資訊量最小的符號(a) 解析: 訊息出現的概率越小,說明限制條件越多,則訊息中所包含的資訊量就越大;

2018百度金融技術部機器學習工程師提前批面試

一面: 講SVM模型(從線性分類到近似線性分類再到線性不可分) 其中問了鬆弛變數的作用,常用的核函式 講一下GMM模型(EM演算法) 生成模型,判別模型適用場景,優缺點 Precision,Recall計算方法 講樸素貝葉斯 二叉樹後序遍歷 找兩

機器學習工程師|資料科學家面試流程介紹(含面試題)

問題導讀1.機器學習工程師面試的流程是什麼?2.本文典型的第一輪面試由哪三部分組成?3.對於基本

機器學習基本概念總結(轉載)

9.png png log images es2017 enter 08-18 機器學習 style 機器學習基本概念總結(轉載)

輕松入門機器學習之概念總結(二)

消息 目的 作者 固定 erp 效率 dev 常用 度量 歡迎大家前往雲加社區,獲取更多騰訊海量技術實踐幹貨哦~ 作者:許敏 接上篇:機器學習概念總結筆記(一) 8)邏輯回歸 logistic回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用於數據挖掘

Java高級工程師面試總結

格式化 交易 結構 標準 一是 傳輸 分布式緩存 map 搜索 面試技巧1、背熟你的簡歷 原因:面試的第一個問題,一般都是讓你簡單介紹下你自己,或者介紹一下你最近的項目,而一個面試者,如果連自己的簡歷都無法熟知,對裏面提到的項目、技術都無法描述清楚的話,我想沒有哪家公司會接

吳恩達《機器學習》課程總結(7)正則化

額外 分享 哪些 TP 回歸 分享圖片 表現 例子 兩個 7.1過擬合的問題 訓練集表現良好,測試集表現差。魯棒性差。以下是兩個例子(一個是回歸問題,一個是分類問題) 解決辦法: (1)丟棄一些不能幫助我們正確預測的特征。可以使用工選擇保留哪些特征,或者使用一些模型選擇

吳恩達《機器學習》課程總結(15)異常檢測

是否 5.6 問題 com 結果 平移 分享 出現問題 計算過程 15.1問題的動機 將正常的樣本繪制成圖表(假設可以),如下圖所示: 當新的測試樣本同樣繪制到圖標上,如果偏離中心越遠說明越可能不正常,使用某個可能性閾值,當低於正常可能性閾值時判斷其為異常,然後做進一步的

從蘋果店員到機器學習工程師學習AI,我是這樣起步的

機器學習工程師的職位並不只是為 AI 博士準備的:通過網路上公開的課程和視訊,人們可以學習人工智慧領域的基礎知識、培養寫程式碼的能力,最終找到 AI 領域的相關工作——只要你不輕言放棄。本文中,這位名為 Daniel Bourke 的小哥介紹了自己從零開始的心路歷程。 我曾經在蘋果商店

機器學習工程師 - Udacity 專案 0: 預測你的下一道世界料理

第一步. 下載並匯入資料 1.1 資料集:https://www.kaggle.com/c/whats-cooking/data 1.2 載入資料 # 匯入依賴庫 import json import codecs import pandas as pd import numpy as np im

機器學習特徵工程總結

一、前言 資料清洗: 不可信的樣本去除 缺失值極多的欄位考慮去除 補齊缺失值 資料取樣:很多情況下,正負樣本是不均衡的,大多數模型對正負樣本是敏感的(比如LR) 正樣本>>負樣本,且量都挺大:下采樣 正樣本>>負

WYHL 2018.11.12 後端工程師面試總結

一、WYHL公司面試總結   過程: BOSS上投遞了簡歷,後來hr聯絡後簡短了解後。技術官電話面瞭解了下   一個周後,hr聯絡到公司面試。 時間2018.11.12 早上10:00 (因為公交遲到了幾分鐘) 以後注意出發時間 第一個面試官大概是海歸吧!形象氣質風

常見機器學習演算法優缺點總結

一、樸素貝葉斯 1.1主要優點: 1)樸素貝葉斯模型發源於古典數學理論,有穩定的分類效率。 2)對小規模的資料表現很好,能個處理多分類任務,適合增量式訓練,尤其是資料量超出記憶體時,我們可以一批批的去增量訓練。 3)對缺失資料不太敏感,演算法也比較簡單,常用於文字分類

機器學習工程師 - Udacity 非監督學習 Part One

一、聚類 1.k-means首先隨意給出聚類中心,然後進行分配和優化。初始位置非常重要,不同的初始位置可能會使最後的聚類結果完全不一樣。並且可能會使結果陷入區域性最優: 2.sklearn中的k-means最重要的三個引數:n_cluster:聚類數量,預設為8;max_iter:最大迭代次數,預設為30

機器學習工程師 - Udacity 非監督學習 Part Two

四、特徵縮放1.特徵縮放的優點:Andrew在他的機器學習課程裡強調,在進行學習之前要進行特徵縮放,目的是保證這些特徵都具有相近的尺度,這將幫助梯度下降演算法更快地收斂。python裡常用的是preprocessing.StandardScaler(),公式為:(X-mean)/std,得到的結果是,對於每個

機器學習面試題總結(轉)

原文連結: https://blog.csdn.net/sinat_35512245/article/details/78796328 1.請簡要介紹下SVM。 SVM,全稱是support vector machine,中文名叫支援向量機。SVM是一個面向資料的分類演算法,它的目標是為確定一個

機器學習工程師 - Udacity 深度學習

好的 基本上 完成 技術 9.png 離散 str 分類 算法 一、神經網絡1.為了進行梯度下降,誤差函數不能是離散的,而必須是連續的。誤差函數必須是可微分的。同時,要將離散預測變成連續預測,方法是將激活函數從階躍函數變成S函數。 2.最大似然法:選出實際發生的情況所對應的