回覆列表
  • 1 # 路人甲

    前段時間快要畢業,而我又不想找自己的老本行Java開發了,所以面了很多Python爬蟲崗位。因為我在南京上學,所以我一開始只是在南京投了簡歷,我一共面試了十幾家企業,其中只有一家沒有給我發offer,其他企業都願意給到10K的薪資,不要拿南京的薪資水平和北上深的薪資水平比較,結合面試常問的問題型別說一說我的心得體會。

    第一點:Python

    因為面試的是Python爬蟲崗位,面試官大多數會考察面試者的基礎的Python知識,包括但不限於:

    Python2.x與Python3.x的區別Python的裝飾器Python的非同步Python的一些常用內建庫,比如多執行緒之類的

    第二點:資料結構與演算法

    資料結構與演算法是對面試者尤其是校招生面試的一個很重要的點,當然小公司不會太在意這些,從目前的招聘情況來看對面試者的資料結構與演算法的重視程度與企業的好壞成正比,那些從不問你資料結構的你就要當心他們是否把你當碼農用的,當然以上情況不絕對,最終解釋權歸面試官所有。

    第三點:Python爬蟲

    最重要也是最關鍵的一點當然是你的Python爬蟲相關的知識與經驗儲備,這通常也是面試官考察的重點,包括但不限於:

    你遇到過的反爬蟲的策略有哪些?你常用的反反爬蟲的方案有哪些?你用過多執行緒和非同步嗎?除此之外你還用過什麼方法來提高爬蟲效率?有沒有做過增量式抓取?對Python爬蟲框架是否有了解?

    第四點:爬蟲相關的專案經驗

    爬蟲重在實踐,除了理論知識之外,面試官也會十分注重爬蟲相關的專案:

    你做過哪些爬蟲專案?如果有Github最好你認為你做的最好的爬蟲專案是哪個?其中解決了什麼難題?有什麼特別之處?

    以上是我在面試過程中,會碰到的一些技術相關的問題的總結,當然面試中不光是技術這一點,但是對於做技術的,過了技術面基本上就是薪資問題了。

    也許有人問我現在在哪家公司做爬蟲開發?很抱歉,最終我放棄了南京的所有機會到了上海做我更喜歡的崗位:資料工程師。

  • 2 # 吾八哥

    我覺得python基礎語法熟悉紮實了,另外有一定的資料結構基礎和邏輯思維分析能力,能寫點小程式就可以嘗試去找工作了吧!畢竟每個崗位要求的能力也不一樣,萬一被面試官看對眼了呢!

  • 3 # poisonwithgoodtaste

    這個問題本身問得就有問題,前面的人回答得也有問題。 首先,什麼樣子才能找工作要看實際能否真正勝任該工作,也就是說要滿足該工作所要求的基本技能條件。python是一門程式語言,它對於無論運維,資料分析還是AI等具體應用領域而言,只是一種工具或技術手段而已,雖然應用頗廣,但也只是非必需的,換句話說上述那些領域並沒有要求一定得用python來做或者怎麼樣,換別的程式語言和工具行不行呢?比如在目前深度學習最前沿領域高效能計算方面,大行其道的程式語言卻是最古老傳統的C語言,那這個怎麼講呢?所以,對於你這個問題其實沒有答案,要看你具體想做什麼,以及做到什麼程度才能下結論。 其次,對於一份工作或者一個技術領域到底有沒有前途,該如何選擇這樣一個問題而言,以我十幾年的軟體從業經歷來看,我想說的是,這個其實真的和行業或方向的選擇沒有必然聯絡,之所以這麼講是因為從某種意義上說,有沒有前途取決於做事情的深度而非廣度,再冷門再不被看好的行業只要把它做到極致照樣可以大放異彩。比如很多人講做運維沒有前途,AI才有前途之類的話,但偏偏就有人將深度學習的技術運用到大型資料中心自動化運維上面,提高了資料中心服務水平,同時又降低了能耗成本,那這個算不算創新,算不算前途呢? 碼了這麼多字,希望對你有點幫助,而不是被誤導

  • 4 # 聊網際網路金融科技的Li

    榮幸回答。

    我將知無不盡,盡無不言。

    Python自學的效果可以透過這些方面來衡量,比如可以自主開發Python的web專案,熟練使用類庫超過30個以上,當然不包括基礎類庫,瞭解Python網路爬蟲的原理和實際簡單的資料資源爬取的操作,熟練掌握Python資料分析等等,掌握這些找一份Python相關工作輕而易舉。

    這個時候很多同學就會問具體哪些類庫?和web框架?接下來我給大家依次分享我個人自學Python的經歷。

    Python資料分析

    學習Python不會資料分析,那等於沒有不會。

    話不多學Python資料分析處理透過我個人學習整理和刷選,掌握以下幾點,資料分析處理輕鬆搞定。

    1:資料分析的目的

    從簡單層面來講,資料分析就是結合當前大資料的需求,為公司或者企業提供一份詳細明瞭的資料報表,多角度和多維度的資料統計和處理,既方便又快捷,讓外行人看來一目瞭然。簡化工作,別人一天的工作量,使用Python一個小時即可完成。

    從複雜層面來講,資料分析往往從社會背景中提供大量資料依據,細化每一份資料從而得出結論。比如某一個購物中心的商城人流量特別少,轉化率特別低,如果使用Python進行全面資料分析,透過技術團隊進行資料採集立刻分析一份關於購物中心的人流購買情況分析表,細化每一個消費者的購物細節,什麼年齡段的人在什麼時間段或者什麼季節對於某商品的需求量,對購物中心的設計是否滿意和收集對於商場存在的意見,分析消費者的消費習慣是先吃飯再購物?還是先購物再吃飯等等多項分析後對購物中心做出改變來適應消費者的複雜消費心理需求。

    商場的人流和轉化率瞬間提高。

    資料分析一定程度是可以轉化為流量和產生經濟價值,為了企業或者經營店鋪獲得更好的經營管理,這就是資料分析的目的。

    當然高階資料分析則需要細化深入類庫的使用和資料的不斷最佳化,人作為社會產生價值的主體,資料分析永遠離不開人群。

    需求很多,具體需要什麼樣的類庫工具進行資料分析?Python資料分析五花八門,初學者可以從下面幾點來入手。

    資料分析的工具類

    一份詳細資料報表則需求功能強大的Python類庫來作為支撐,接下來給大家分享一下Python資料分析的工具類。

    1:xlwt和xlrd

    日常工作的最佳excel表格處理類庫。xlrd實現excel表的讀取,xlwt則實現excel表的寫入。熟練使用該Python類庫對於資料報表的製作非常方便,細化精準到操作表格的每一個單元格的屬性,包括字型,背景色,列寬行高,單元格合併。無需手動操作excel便可以自動化實現excel的寫入和匯出。

    2:基於Numpy的pandas

    pandas的優勢在於陣列資料的處理,不僅可以表格操作,同樣在複雜資料結構方面有著簡單方便的處理方式。

    Pandas有兩種重要資料結構:

    Series和DadaFrame兩種。

    Series是具有索引的字典資料結構,在資料處理的時候使用索引來操作字典輕輕鬆鬆獲取想要的資料,讀寫效能極高。

    DadaFrame則更加全面,不僅有行索引還有列索引可以看作是升級版的Series字典組合,使用方法也是一樣的,同時操作表格的行和列讀寫,處理得到想要的資料報表格式。

    3:Numpy高階

    numpy可能相對上面兩個模組有一定的難度初學著可以先了解後逐漸掌握。

    其實numpy就是提供多維陣列物件的處理,後期資料分析中以及視覺化中使用非常廣泛。

    Python在web專案開發中也有一席之地。

    Python快捷web開發

    個人非常推薦自學者和初學著使用Python-flask框架,一款微型快速開發的服務型框架,從環境搭建到專案開發特別容易上手。

    我們可以來看看flask的目錄基本構造。

    從目錄就可以看出flask的優勢就是在於快,簡單,專案邏輯一目瞭然。一般掌握flask的路由和藍圖配置再加上js頁面的開發以及客戶端和後臺的互動機制和處理方法,一天的時間就可以讓一個Python小白立馬入行。

    Python為什麼那麼火?沒有錯我們網上聽到的都是關於Python網路爬蟲。具體什麼是網路爬蟲請看下面。

    網路爬蟲

    網路爬蟲是一種用來自動瀏覽和獲取全球資訊網資源的網路機器人

    簡單明瞭的說就是獲取我們從網頁瀏覽上想要的資訊和資源。

    給大家分享一個簡單的影片資源下載的爬蟲程式。

    基本的操作步驟如下:

    1:獲取影片源網頁的原始碼連線

    2:傳送requests請求網頁問資訊

    3:正則表示式匹配影片並下載儲存

    該爬蟲方法使用的模組是requests,程式碼簡單邏輯也比較清晰,邏輯模式就是搭建本地和網頁的HTTP請求連線池並保持連線,同時操作下載,同樣也可以上傳等。隨著Python的版本不斷更新,模組的完善和高度封裝後使得Python爬蟲在網路請求時更加快和人性化,很容易模仿瀏覽器的任何操作,自學和初學者很容易上手。

    由於Python網路爬蟲的需求越來越大,簡單的一個類庫已經不能滿足需求。Scrapy的出現便解決了這個難題。

    Scrapy一款為了爬取網站資料,提取結構性資料,適應多種爬蟲需求的應用型框架。

    Scrapy效能非常強大,資料的深挖細分,資訊儲存和網路通訊等都是它的一大特點之一。

    Python的世界遠遠不止當前

    Python的版本資源庫在源源不斷的更新,類庫和函式衍生不斷,強大的使用者量創新和最佳化一直在持續,一門為需求而生的開發語言,讓它作為改變的永遠是龐大的使用者。

    總結

    自學Python掌握好這三方面的知識量,工作和薪資都沒有任何問題,但是想要深造和提升Python的開發能力則需要學習更多的框架和類庫,日積月累從專案開發中吸取經驗和積累方法,才能熟練玩轉Python。

    最後給大家一句總結的話:給正在學習Python的同學們一個忠告,程式設計沒有捷徑可走,唯有逐一掌握才能彙集成江河。

  • 5 # 路人丁一號

    這個問題換一種問法可以更好理解。 自學八極拳,學到什麼程度可以實戰?

    大家都知道,實戰實力取決於人的力量,速度,抗打性,閃避,悟性等, 這是內功,而拳法只是一種技擊方法。 玩遊戲的都知道,基本屬性越高,招式效果越強。 頂尖高手與普通路人的差別即在於此,都練同一套拳,一類人可以與熊,虎博殺,另一類在野狗的攻擊下僅能自保。

    話說回來,現在一線大廠優先選擇計算機類專業,985,211學校的本科甚至碩博? 面試的考的更多是演算法之類,而不是python之類有多熟悉? 因為對方要篩選的內功,基礎屬性更強的一批人,更具培養價值與潛力的勞動力,大家都知道內功是最難練的,需要長年的積累,而招式可以速成。

    985,211比作大派出身的話, 在江湖上,小門派及散修是人口基數最大的,我相信其中也不乏鮮為人知的頂尖,甚至傳奇高手... 大廠996買的是年青人的青春,透支的是他們的潛力。而真正高手不是某個公司或地方圈養出來的。

    要成為高手,首先有變強執念,然後謙虛、自強、寡慾,都有加成。你無法改變任何東西,唯一可以改變的,是自己的的心,萬物萬法唯心所現,心變了,世界隨之而變。

  • 6 # -whood-

    本來已經覺得java靠jvm,勉強算程式語言,現在看來只要是一個能被直譯器識別的指令碼,都能叫程式語言了,殊不知直譯器本身也是被其它語言構造的。學這種東西,就別往什麼程式設計上考慮了,考慮如何短期養程式碼致富就行

  • 7 # 程式設計師黑洞

    同意前面一個同學回答的,這個問題確實有問題。

    不能這麼問。

    因為這個程度無法和具體專案一起衡量。

    結論,

    只管去找好了。不管學到啥水平,都有合適的。

  • 8 # 周緒龍

    主要是看你python用來做測試,還是開發。需要掌握的知識是不一樣的。

    畢竟方向不一樣。如果要學開發的話,需要具備獨立開發後臺系統的能力。Python的web應用開發,python操作資料庫這些肯定是必須掌握的。如果是學測試開發方向的話,需要具備requests模組,面向物件程式設計技術,模組與包管理,字典,元組,列表這些都是必須掌握的。

  • 9 # 魏維的科技之旅

    如果說題主是學python為了找工作,沒什麼問題。但如果認為學好python就能找到工作,那就有點天真了。python作為一門語言,只是處理其他問題的工具。關鍵在於你要解決的問題和想從事的崗位。如果你想做資料分析師,那麼你要了解資料分析領域的知識。如果想寫爬蟲,那麼要學習網路和前端的一些知識。想做後端,那可以不用學python了,換點別的語言學。

  • 10 # 檸檬班軟體測試

    Python程式設計必備技術

    python程式設計是最最基礎的,如果你想學會自動化測試,那麼python語法就必須會了。

    那麼python程式設計主要包括幾部分呢?讓我們看下圖

    接下來我們看下,每個階段究竟要學什麼?

    第一階段: 基礎語法、基本資料型別(另有PYTHON程式設計基礎學習影片)

    第二階段: 函式、檔案操作、異常處理(另有PYTHON程式設計基礎學習影片)

    第三階段:初識類和物件(另有PYTHON程式設計基礎學習影片)

    第四階段: 類和物件應用-openpyxl、logging、unittest、ddt

    (另有PYTHON程式設計基礎學習影片)

    以上就是為做自動化測試先打下的python程式設計基礎。

    其實學完上面這些,就可以去找工作了,但是如果你想要高薪,那你還得接著往下學。

    介面自動化測試、web自動化測試、App自動化測試、RobotFramework框架

    這些都學會啦,那你的薪資水平也就跟著upupup了~

  • 11 # IT人劉俊明

    Python語言目前主要應用在web、大資料以及機器學習等領域的開發上,掌握Python語言是第一步,接著要針對這些領域做一些具體的案例開發,這些案例開發練習對求職是有很大幫助的。下面我從兩個大方面來描述Python,一方面描述Python語言的基本語法內容,另一方面描述一下在不同的開發領域需要掌握哪些開發內容。

    學習Python語言

    Python語言比較簡單,即使沒有計算機語言基礎也能在較短的時間內掌握Python的使用。Python語言基本內容包括以下幾個大的方面:

    Python語言簡介、搭建Python開發環境。

    Python語言的資料型別、表示式、運算子等基礎語法內容

    字串、列表、元組以及字典

    流程控制

    面向物件開發

    異常處理

    IO、多執行緒

    網路程式設計

    資料庫程式設計

    經過以上內容的學習基本上就掌握了Python的基本開發過程,再做幾個綜合性的實驗就可以了。

    使用Python做Web開發

    使用Python做Web開發是比較常見的,作為Web開發比較流行的解決方案(還有PHP和Java),Python語言的突出特點是開發速度快。不論使用什麼語言進行Web開發基本上都遵循一個統一的開發流程,因為Web本身的請求處理流程是統一的。在整體結構上也基本上都遵循MVC(模型-檢視-控制器)模式來搭建,大部分的功能元件是統一的。

    Web開發通常也都採用框架來完成,比如Java會採用SpringMVC或者Struts等,Python也不例外。比較流行的Python開發框架有Django、TurboGears、Zope以及Pylons等。

    幾乎所有使用Python做Web開發的程式設計師都使用過Django框架,它功能強大、模版強大、社群強大、擴充套件能力強,幾乎能做你想做的所有事情,甚至可以不編寫程式碼就能完成一個網站的建立。所以如果要使用Python做Web開發一定要學習一下Django,當然學習其他幾個框架也可以,都是大同小異。

    使用Python做大資料和機器學習開發

    通常大資料和機器學習並不分家,雖然我們通常把大資料和機器學習分開搞。比較常見的一個應用是使用Python做個網路爬蟲,幾乎所有學習過Python的程式設計師都有過做爬蟲的經歷。

    當然,做爬蟲只是第一步,接著要對資料進行分析處理,這個時候Python的優勢就體現出來了。其實在資料分析這個領域,Python和R一直是程式設計師比較常見的選擇,因為夠簡單。

    同樣,做大資料和機器學習也需要使用強大的Python庫,有5個比較常見的庫:

    Numpy庫。這個庫是做大資料和機器學習領域一定要掌握的,因為這個庫太重要了。我從使用java轉向使用Python做機器學習的時候,第一個接觸的庫就是Numpy庫,這個庫能讓你深刻理解一句流行在Python開發圈的名言:Life is short you need Python(人生苦短,我用Python)。Numpy庫的主要作用是做各種計算,需要一些線性代數和機率論的數學基礎,但是並不複雜。

    Scipy庫。這個庫本身依賴於Numpy庫,提供了更為靈活的操作N維向量陣列的方式。同時Scipy也提供了模組來為線性代數、積分以及其他科學計算任務提供服務。

    Pandas庫。這個庫是使用Python做大資料分析最常見的庫,它讓Python做大資料分析變得快速且簡單。

    Matplotlib庫。這個庫的主要作用是繪製各種圖表,可以繪製出各種專業的圖形,是Python不可或缺的視覺化模組。我第一次使用Matplotlib是在做決策樹實驗時,使用它來繪製樹形結構。

    Scikit-learn庫。專門用於機器學習的模組,構建在Scipy庫之上。它提供了一套常見的機器學習演算法的實現,程式設計師可以透過介面來完成呼叫,非常方便。

  • 12 # 這樣學程式設計不枯燥

    可以到相關的招聘網站上去了解相關的Python的職位的任職要求,只要滿足大部分就可以嘗試去找工作了。之前瞭解過“如鵬網”的課程體系,挺系統的,可以作為學習路線,把上面所列舉的知識點作為參考來進行學習。

    第一部分:Python語言基礎第二部分:資料庫開發第三部分:web前端第四部分:Python web開發第五部分:Python web專案(專案截圖可訪問如鵬網官網)第六部分:Linux第七部分:NoSQL第八部分:資料視覺化第九部分:爬蟲技術第十部分:人工智慧

    有網路的地方就可以學習,根據自己的時間來學習。每個章節的後面都有相應的練習題和麵試口才題,需要以錄音的方式進行提交,為面試做準備,夯實基礎。有問題隨時提問,老師實時線上答疑,有新的課程更新了,也是可以繼續申請了來學習的,基本上都是慕名而去的。

  • 中秋節和大豐收的關聯?
  • 如果夫妻之間沒有交流,沒有溝通,沒有信任,婚姻還能繼續下去嗎?