日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记录第一次面试

發布時間:2024/5/7 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录第一次面试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hello,我是 Alex 007,一個熱愛計算機編程和硬件設計的小白,為啥是007呢?因為叫 Alex 的人太多了,再加上每天007的生活,Alex 007就誕生了。

看標題應該就知道了,這是我第一次面試,在這里記錄一下。

先來看一下簡歷(小菜雞一個,大佬輕噴):

面試官:先來一個簡單的自我介紹吧。

Alex:好的,面試官你好,我叫Alex,今年十九歲,目前就讀于中華大學,所學專業是人工智能與大數據。
在校期間對于專業課方面非常重視,有扎實的編程基礎,拿過兩次校級獎學金,大一就了獲得藍橋杯A組二等獎,帶隊參加過很多比賽,像大學生創新創業、華北五省等等,也拿過很多獎項。
技術能力方面,對Python比較熟悉,經常使用Django框架,C++和Go有一些了解,C++是學校的必修課,Go是我自學的。另外對于前端相關的技術,比如JavaScript、jQuery、BootStrap、Vue都有些了解,還自學過Linux操作系統,熟悉一些基本的操作和Vim指令,數據庫方面經常用的是MySQL和Redis。
另外再大學期間還加入了一個社團,Matrix工作室,因為成員比較多,不方便管理,各種工作流程都不是很規范,我就開發了一套工作室官網和管理系統,用到的技術有Django、jQuery、BootStrap、RBAC組件等等,目前這兩個項目已經初步做完了,因為我們還沒開學,所以打算再繼續優化,等開學返校之后再測試上線。
大一下學期開始在中華小學實習,擔任機器人社團指導老師,主要是教三年級到六年級的孩子們一些基本的Python編程、玩樹莓派機器人和展示一些AI方面的小玩具等等。
我個人是非常熱愛編程,而且適應能力強,單身可加班,996無壓力,我想面試的崗位是Python實習生,以上就是我的自我介紹,請多多指教,謝謝。

面試常規操作,上來先自我介紹,這里我準備了兩版,一個是40秒 ~ 一分鐘快速版,另一個是一分半 ~ 兩分鐘版,面試官沒有說具體的時間限制,就用了比較詳細的版本。

面試官:你簡歷中寫的這幾個項目,覺得哪個是功能比較完善的呢?

Alex:我覺得比較完善的是工作室的官網和管理系統,因為這兩個是真正要投入使用的,所以做得比較詳細。這兩個項目其實屬于比較簡單的類型,不用考慮高并發之類的問題,主要集中在博客系統、權限管理之類的功能實現上。

回答面試官的問題,然后在答案中提到高并發這個比較熱的詞,引導面試官朝這個方向問,當然提前要預備這方面的知識。

面試官:這兩個項目大概有哪些功能?

Alex:工作室官網這個項目,首先第一個功能是針對新加入工作室的成員的培訓,主要也是大一的同學,沒有學習的途徑和資源,每加入一批新成員我們就要安排幾次培訓,費時費力,所以我們一些學長學姐就把自己的學習歷程總結整理到網站上,幫助新成員快速學習。第二個功能也是針對新成員的,我們以前納新都是先宣講,然后發紙質的報名表,這樣效率非常低,因此我們制作了簡歷系統,想要加入工作室的學生可以直接投遞簡歷。第三個功能是一個在線答題的平臺,主要是用于對新成員的考核和平時的練習。第四個功能是一個博客系統,工作室的成員可以在這個平臺上寫博客,做筆記,同時引入了積分制度,寫博客可以賺積分,積分主要用于做績效考核和等級劃分。
管理系統這個項目就是用于統計工作室所有成員的信息,學習情況,還有等級、部門 、團隊的劃分這些功能,通過RBAC組件可以對不同的成員賦予不同角色而擁有不同的權限。

面試官沒有問我們引導的問題,隨機應變嘛,問啥說啥,針對簡歷上項目的功能要提前準備好,同時通過一些專業術語繼續引導面試官提問的方向。

面試官:你剛才說這兩個項目都是你負責的,那你在項目中主要負責那一塊呢?

Alex:我主要負責的是搭建項目整體的框架,實現一些主要的功能,前后端的框架都是我搭建的,但是并不完善,前端像頁面的美化、特效,后端像登錄、token驗證這些功能交給專門做前后端的人去做,之后我就負責前后端的聯調,像API、數據格式的定義這些工作。

面試官:在做項目的過程中有沒有遇到什么困難?

Alex:在工作室官網這個項目的開發過程中并沒有遇到什么太大的困難,都是一些很常見的功能,而在管理系統的項目開發過程中,一開始因為對Django聲明周期不太熟悉,導致在開發Stark組件的時候有很多莫名其妙的錯誤,還不知道問題出在哪,后來我們還是積極查閱資料,讀了很多大佬關于Stark組件的博客和源碼,重新梳理了流程才得以解決。在線教育平臺這個項目中遇到的問題就比較多了,比較麻煩的是跨域的問題,像工作室的官網和管理系統并不是前后端分離開發的,所以在解決跨域問題上沒有什么經驗,也是查了很多博客,最后在后端Django加了一個中間件,通過process_response添加允許的操作才得以解決。

關于項目的提問大概就到這,1.項目有哪些功能,2.項目開發過程中遇到了什么困難,都是怎么解決的,這些問題在往簡歷上寫項目經歷的時候就得準備好。

面試官:對Python的進程、線程、協程有哪些認識?

Alex:先說進程吧,我們寫的代碼并不能直接運行,只有將程序裝載到內存中,操作系統為它分配資源才能運行,這種執行的程序就叫進程,進程是計算機最小的資源分配單位;而線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中實際工作的單位,一個進程可以并發多個線程,每條線程并行執行不同的任務,當然是在不考慮GIL鎖的情況下;而協程一種基于單線程實現并發的手段,是由用戶程序自己控制調度的,在單線程內開啟協程,一旦遇到IO操作,就會從應用程序級別控制切換,以此來提升效率。

面試官:你剛剛提到了GIL鎖,可以簡單說一下么?

Alex:GIL,就是Global Interpreter Lock,中文名叫全局解釋器鎖,這是一個互斥鎖,用來防止多個本機線程同時執行Python字節碼。GIL只存在于CPython中,存在即合理,CPython的內存管理不是線程安全的,所以GIL鎖也是必要的。每次執行Python程序,都會產生一個獨立的進程,在這個進程中,不僅有該進程開啟的線程,還有解釋器開啟的線程,比如垃圾回收這種解釋器級別的線程。所有的線程運行在一個進程內,線程的任務需要將代碼傳給解釋器去執行,而數據都是共享的,這樣就到導致線程不安全。舉個簡單的例子:對于同一個數據100,可能線程1執行x=100的同時,而垃圾回收執行的是回收100的操作,解決這種問題沒有什么高明的方法,就是加鎖處理。所以GIL可以保證Python解釋器同一時間只能執行一個線程。

終于按照引導的內容提問了,開始背答案。

面試官:然后你說一下什么是裝飾器、生成器和迭代器。

Alex:首先說一下迭代器吧,迭代器對象就是實現了iter() 和 next()方法的對象,其中iter()返回迭代器本身,而next()返回容器的下一個元素,在結尾處引發StopInteration異常。而生成器是創建迭代器的工具,在Python中,一邊循環一邊計算的機制,稱為生成器(Generator)。生成器對延遲操作提供了支持,所謂延遲操作,是指在需要的時候才產生結果,而不是立即產生結果。裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能。裝飾器就有很多應用場景了,比如可以在Web開發中用于檢查某個用戶是否有權限去做某件事,這種授權檢測被大量使用在Django、Flask這種Web框架中。另外裝飾器也可以用于打印日志,記錄程序運行時間。

這部分其實不太熟,瞎編了好多,這是結合當時說的和事后查的資料總結的答案。

面試官:那你在項目中有沒有用到剛才說的裝飾器做登錄認證的權限驗證?

Alex:這個倒是沒有用到,在工作室官網和管理系統中直接用的Django自帶的權限驗證組件,在線教育平臺這個項目用的是Django Rest Framework的權限驗證組件。

面試官:如果讓你自己去寫一個登錄驗證的功能,你會怎么去實現?

Alex:首先要獲取前端發送過來的用戶名和密碼,然后去數據庫中驗證數據合法性,驗證通過之后,給用戶生成一個token,將用戶的基本信息+token一方面存放到Redis中,另一方面返回個客戶端。當用戶再次請求的時候,必須攜帶token值,后端從數據包中獲取token,然后在Redis中獲取用戶的基本信息并封裝到request中。如果請求中沒有token值的話說明用戶未登錄,或者token已經過期。這樣,通過token和Redis可以實現用戶的登錄驗證。

這部分面試官估計是覺得我裝飾器掌握的不好,想問我怎么用裝飾器來做一個登錄驗證的功能,結果我一通胡扯,還好沒被打斷,又詳細的問了一遍。

面試官:那這個功能你打算用什么實現?裝飾器還是什么?

Alex:我覺得這個功能屬于比較簡單的類型,不需要用到裝飾器吧,寫個函數就行了,實在想用裝飾器也可以。

哈哈,裝飾器實在忘記了,極力回避。

面試官:不用裝飾器的話那這個功能你打算怎么實現?

Alex:其實可以寫一個驗證中間件,如果請求中攜帶了token的話,就按照之前說的那種方式做驗證,沒有的話就正常走。

腦袋靈光一下,想到了可以用中間件。

面試官:簡述一下Django的生命周期。

這個我就不敘述了,直接貼圖:

面試官:除了Django這個框架之外還有沒有了解過其它的Python Web框架?

Alex:目前還沒有,因為我自覺Django掌握的還不是很熟練,想要先把Django吃透,再去了解其它的框架,當然選擇Django也是有原因的,首先就Django是最負盛名且最成熟的Web框架,而且擁有豐富的組件,可以自由擴展。其它的Web框架,比較熟悉Flask、Tornado的單詞書寫。

嘿嘿,開個小玩笑。

面試官:那假如說公司里有一個Tornado的項目讓你接手,大概需要多少時間?

Alex:這個要看項目的復雜程度了,如果不是很深入的話,可以很快的入手。假如說像Matrix工作室的官網和管理系統這樣比較簡單的,大概需要半個月左右,但在線教育平臺就比較復雜了,用到了一個擴展的第三方庫,時間大概有一個月左右。

這個問題我沒聽全,問的是接手一個Tornado項目,我就聽見了項目需要多少時間,哈哈,結果也是亂說一堆,面試的時候一定要把音量調大。

面試官:在前后端分離的項目中,交互經常用到RestFul規范,簡述一下吧。

這我也不多說了,直接上答案:

  • 面向資源編程
    每個URL代表一種資源,URL中盡量不要用動詞,要用名詞。
  • 根據method不同,進行不同的操作
    GET/POST/PUT/DELETE/PATCH
  • 在URL中體現版本
    https://www.bootcss.com/v1/mycss
  • 在URL中體現是否是API
    https://www.bootcss.com/api/mycss
  • 在URL中的過濾條件
    https://www.bootcss.com/v1/mycss?page=3
  • 盡量使用HTTPS
    https://www.bootcss.com/v1/mycss
  • 響應時設置狀態碼
      1* 信息,服務器收到請求,需要請求者繼續執行操作
      2* 成功,操作被成功接收并處理
      3* 重定向,需要進一步的操作以完成請求
      4* 客戶端錯誤,請求包含語法錯誤或無法完成請求
      5* 服務器錯誤,服務器在處理請求的過程中發生了錯誤
  • 返回值
      GET請求 返回查到所有或單條數據
      POST請求 返回新增的數據
      PUT請求 返回更新數據
      PATCH請求 局部更新 返回更新整條數據
      DELETE請求 返回值為空
  • 返回錯誤信息
    返回值攜帶錯誤信息
  • Hypermedia API
    如果遇到需要跳轉的情況 攜帶調轉接口的URL
  • 面試官:狀態碼403個404代表什么?

    403:表明對請求資源的訪問被服務器拒絕了
    404:表明服務器上無法找到請求的資源

    面試官:那502和503呢?

    502(錯誤網關):服務器作為網關或代理,從上游服務器接收到無效響應
    503(服務不可用):服務器目前無法使用(由于超載或停機維護)。

    面試官:簡述一下三次握手和四次揮手。

    建立雙工通信,確保雙方都能收到對方的信息,所以需要3次握手。

    第1次握手:建立連接時,客戶端發送syn包(syn=x)到服務器,并進入同步已發送狀態,等待服務器確認;SYN:同步序列編號。

    第2次握手:服務器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也發送一個SYN包(syn=y),即SYN+ACK包,此時服務器進入同步已接受狀態。

    第3次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=y+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。

    全雙工關閉需要客戶端和服務器發送和接受都關閉,但是關閉連接時,當Server端收到FIN報文時,很可能并不會立即關閉SOCKET,只能先回復一個ACK報文,所以需要4次揮手


    第1次揮手:客戶端進程發出連接釋放報文,并且停止發送數據。此時,客戶端進入FIN-WAIT-1(終止等待1)狀態。

    第2次揮手:服務器收到連接釋放報文,發出確認報文。服務端就進入了CLOSE-WAIT(關閉等待)狀態。TCP服務器通知高層的應用進程,客戶端向服務器的方向就釋放了,這時候處于半關閉狀態,即客戶端已經沒有數據要發送了,但是服務器若發送數據,客戶端依然要接受。這個狀態還要持續一段時間,也就是整個CLOSE-WAIT狀態持續的時間。

    客戶端收到服務器的確認請求后,此時,客戶端就進入FIN-WAIT-2(終止等待2)狀態,等待服務器發送連接釋放報文(在這之前還需要接受服務器發送的最后的數據)。

    第3次揮手:服務器將最后的數據發送完畢后,就向客戶端發送連接釋放報文,FIN=1,ack=u+1,由于在半關閉狀態,服務器很可能又發送了一些數據,假定此時的序列號為seq=w,此時,服務器就進入了LAST-ACK(最后確認)狀態,等待客戶端的確認。

    第4次揮手:客戶端收到服務器的連接釋放報文后,必須發出確認,ACK=1,ack=w+1,而自己的序列號是seq=u+1,此時,客戶端就進入了TIME-WAIT(時間等待)狀態。注意此時TCP連接還沒有釋放,必須經過2MSL(最長報文段壽命)的時間后,當客戶端撤銷相應的TCB后,才進入CLOSED狀態。

    服務器只要收到了客戶端發出的確認,立即進入CLOSED狀態。同樣,撤銷TCB后,就結束了這次的TCP連接。可以看到,服務器結束TCP連接的時間要比客戶端早一些。

    面試官:說一下什么是TIME-WAIT和CLOSE-WAIT。

    由于socket是全雙工的工作模式,一個socket的關閉,是需要四次握手來完成的:

  • 主動關閉連接的一方,調用close();協議層發送FIN包 ;
  • 被動關閉的一方收到FIN包后,協議層回復ACK;然后被動關閉的一方,進入CLOSE_WAIT狀態,主動關閉的一方等待對方關閉,則進入FIN_WAIT_2狀態;此時,主動關閉的一方等待被動關閉一方的應用程序,調用close操作 ;
  • 被動關閉的一方在完成所有數據發送后,調用close()操作;此時,協議層發送FIN包給主動關閉的一方,等待對方的ACK,被動關閉的一方進入LAST_ACK狀態;
  • 主動關閉的一方收到FIN包,協議層回復ACK;此時,主動關閉連接的一方,進入TIME_WAIT狀態;而被動關閉的一方,進入CLOSED狀態 ;
  • 等待2MSL時間,主動關閉的一方,結束TIME_WAIT,進入CLOSED狀態 ;
  • 接下來就是對一些工具的提問,像是Git、Nginx和Jenkins,也就是問問有沒有用過。然后問了一下排序算法和自我評價。

    面試差不多到這里就結束了,感覺還有很多地方需要繼續學習啊。

    總結

    以上是生活随笔為你收集整理的记录第一次面试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 七月色 | 亚洲精品av中文字幕在线在线 | 韩国三级视频在线观看 | 婷婷综合影院 | 国产在线h | 黄色成年人视频 | 人妻熟女一区二区aⅴ水 | 日b在线观看 | 亚洲成人av电影 | 亚洲欧美日韩国产综合 | 日本午夜电影网站 | 69精品人妻一区二区三区 | 日剧大尺度床戏做爰 | 午夜成人免费视频 | 97视频总站| 91av久久久 | 禁漫天堂黄漫画无遮挡观看 | 日本乱偷人妻中文字幕在线 | 一级黄毛片 | 视频这里只有精品 | 91中文字幕永久在线 | 亚洲成人精品网 | 神马久久春色 | 国内精品亚洲 | 成人午夜在线播放 | 欧美,日韩,国产精品免费观看 | 欧美怡春院| 久久激情av| 91丨九色丨蝌蚪丨老版 | 中文字幕免费在线看线人动作大片 | 中文字幕日韩一区二区三区 | 亚洲免费视频观看 | 国产精品刘玥久久一区 | 国产做爰全免费的视频软件 | av资源新版在线天堂 | 美景之屋电影免费高清完整韩剧 | 精品欧美一区二区久久久 | 色臀av| 91视频最新入口 | 亚洲香蕉久久 | 风间由美一区二区 | 男人天堂视频网 | 国产精品av久久久久久无 | 肉番在线观看 | 白洁av| 琪琪免费视频 | 五月天激情在线 | 91亚色视频在线观看 | 日本免费一区二区视频 | 秋霞午夜鲁丝一区二区 | 一区二区日韩av | 国产精品无码一区二区三 | 天天燥日日燥 | 超碰最新上传 | 久久亚洲精品国产 | 丝袜毛片| 网友自拍一区 | 午夜激情婷婷 | 亚洲在线成人 | 丰满熟女人妻一区二区三区 | 性久久久久久久久 | 亚洲av永久无码精品放毛片 | 自拍一区在线 | 国偷自产视频一区二区久 | 成人中文视频 | 国产不卡视频在线观看 | 国产一区二区三区四区五区 | 蜜桃视频色 | 欧美三级a做爰在线观看 | 日本精品久久久久中文字幕 | 日本一级一片免费视频 | 日日夜夜一区二区 | 欧美大色 | 美日韩在线观看 | 日b在线观看 | 草莓视频18免费观看 | 公侵犯一区二区三区四区中文字幕 | 午夜av一区二区 | 亚洲国产精品成人 | 麻豆av电影在线 | 午夜激情男女 | 2019国产精品视频 | www.白浆| 久久免费小视频 | 亚洲国产视频一区二区三区 | 狠狠躁狠狠躁视频专区 | 男女啊啊啊视频 | 黄色aa大片 | 天堂在线网 | 欧美一区二区在线播放 | 中文婷婷 | 98堂 最新网名 | 色一情一区二区三区 | 在线观看久草 | 91在线综合| 国产精品久久久久久久久久久免费看 | www.毛片com| 国产一区二区视频免费在线观看 | 成人精品毛片 |