作者:LemonCoder
來自公號檸檬的編程學堂(ID:lemon10240)
每年的三四月份是招聘高峰,也常被大家稱為金三銀四黃金求職期,這時候上一年的總結做完了,獎金拿到了,職場人開始謀劃著年初的找工作大戲。
如何讓伯樂和千裡馬更快相遇?做C++後臺開發的我利用大數據分析了北京、上海、廣州、深圳四個一線城市的C++崗位招聘信息,篇幅限制文中只拿出北京和深圳的數據展示,讓我們來看看崗位的招聘現狀,以及如何科學提高應聘成功率。
需求分析
通過大數據分析招聘網站發布的招聘數據,得出崗位分布區域、薪資水平、崗位關鍵技能需求、匹配的人才具有哪些特點、學歷要求。從而幫助求職者知己知彼,補齊短板,有的放矢的應對校招、社招,達成終極目標獲得心儀的offer。
軟體設計
數據分析是Python的強項,項目用Python實現。軟體分為兩大模塊:數據獲取 和 數據分析
詳細實現
數據獲取
request庫構造請求獲取數據
1cookie = s.cookies2req = requests.post(self.baseurl, headers=self.header, data={'first': True, 'pn': i, 'kd':self.keyword}, params={'px': 'default', 'city': self.city, 'needAddtionalResult': 'false'}, cookies=cookie, timeout=3)3text = req.json()
數據csv格式存儲
1with open(os.path.join(self.path, '招聘_關鍵詞_{}_城市_{}.csv'.format(self.keyword, self.city)), 'w',newline='', encoding='utf-8-sig') as f:2 f_csv = csv.DictWriter(f, self.csv_header)3 f_csv.writeheader()4 f_csv.writerows(data_list)
數據分析
欄位預處理
1df_all.rename({'職位名稱': 'position'}, axis=1, inplace=True) #axis=1代表index; axis=0代表column2df_all.rename({'詳細連結': 'url'}, axis=1, inplace=True)3df_all.rename({'工作地點': 'region'}, axis=1, inplace=True)4df_all.rename({'薪資': 'salary'}, axis=1, inplace=True)5df_all.rename({'公司名稱': 'company'}, axis=1, inplace=True)6df_all.rename({'經驗要求': 'experience'}, axis=1, inplace=True)7df_all.rename({'學歷': 'edu'}, axis=1, inplace=True)8df_all.rename({'福利': 'welfare'}, axis=1, inplace=True)9df_all.rename({'職位信息': 'detail'}, axis=1, inplace=True)10df_all.drop_duplicates(inplace=True)11df_all.index = range(df_all.shape[0])
數據圖表展示
1from pyecharts.charts import Bar2regBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))3regBar.add_xaxis(region.index.tolist())4regBar.add_yaxis("區域", region.values.tolist())5regBar.set_global_opts(title_opts=opts.TitleOpts(title="工作區域分布"),6 toolbox_opts=opts.ToolboxOpts(),7 visualmap_opts=opts.VisualMapOpts())89from pyecharts.commons.utils import JsCode10shBar = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))11shBar.add_xaxis(sala_high.index.tolist())12shBar.add_yaxis("區域", sala_high.values.tolist())13shBar.set_series_opts(itemstyle_opts={14 "normal": {15 "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{16 offset: 0,17 color: 'rgba(0, 244, 255, 1)'18 }, {19 offset: 1,20 color: 'rgba(0, 77, 167, 1)'21 }], false)"""),22 "barBorderRadius": [30, 30, 30, 30],23 "shadowColor": 'rgb(0, 160, 221)',24 }})25shBar.set_global_opts(title_opts=opts.TitleOpts(title="最高薪資範圍分布"), toolbox_opts=opts.ToolboxOpts())2627word.add("", [*zip(key_words.words, key_words.num)],28 word_size_range=[20, 200], shape='diamond')29word.set_global_opts(title_opts=opts.TitleOpts(title="崗位技能關鍵詞雲圖"),30 toolbox_opts=opts.ToolboxOpts())
數據分析
區域分布
C++崗位區域分布,北京 VS 深圳
北京的C++崗位數量上比深圳多,首都buff加持,並且集中分布在海澱區和朝陽區這兩個區域,中關村位於海澱區,還有位於海澱區西北旺鎮的後廠村,騰訊、滴滴、百度、新浪、網易這些網際網路巨頭扎堆,自然能提供更多的崗位。
深圳的崗位則集中在南山區,猜測鵝廠C++大廠在南山區貢獻了重大份額,第二竟然在寶安區。
學歷分布
C++崗位學歷分布,北京 VS 深圳
學歷上兩個城市的崗位中本科學歷佔比都是80%以上,北京崗位需求研究生佔比和大專相當。可見大部分崗位本科學歷即可勝任,或許能給即將畢業糾結考研還是工作的你一些參考。
如果你的學歷是專科,那麼需要加倍的努力,因為留給你的職位需求並不是很多。同時,從圖表數據來看,深圳的崗位對大專生需求10%而對碩士僅佔2%,或許專科生去深圳比去北京更加友好,emmm…僅供參考。
薪資分布
C++崗位薪資分布,薪資單位K。
北京最高薪資 VS 最低薪資
深圳最高薪資 VS 最低薪資
薪資對比沒啥好說的,大家看圖說話,只想說帝都果然財大氣粗。
技能儲備
C++崗位關鍵技能詞雲,北京 VS 深圳
首先在脫離開發走上管理崗位之前,編程解決問題能力是最重要,可以看到「編程」能力在技能詞雲中佔比最大。
大部分崗位要求較高的「算法、數據結構、Linux、資料庫(存儲)、多線程(作業系統)」這些計算機基礎素養,這也和我之前的文章,連結在這「非常詳細的 Linux C/C++ 學習路線總結!助我拿下騰訊offer」著重強調的計算機基礎重要性一致,所以不管你是在校學生準備校招或者職場老人準備跳槽,都需要儲備好這些計算機基礎能力,無論做哪個方向,過硬的基礎能力儲備都非常重要。
值得一提的是除去硬核技術要求外,崗位對候選人的軟實力也有要求,比如更加偏愛具備「團隊、協作、學習、溝通」這些能力的候選人,大家在提高技術能力的同時,也要注重這些軟實力的培養。
一個彩蛋。Linux和window下都有C++開發崗位需求,相對而言Linux下C++開發佔比更多,詞雲更大,如果你對這兩個平臺沒有特殊偏愛,那麼學Linux下開發大概能加大應聘成功率,畢竟崗位需求更大。
以上分析結果僅針對本文原始數據。