查看原文
其他

我用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

LemonCoder 后端技术学堂 2020-10-29

点击上方蓝色“后端技术学堂”,选择“关注公众号

最新技术分享第一时间接收!

每年的三四月份是招聘高峰,也常被大家称为金三银四黄金求职期,这时候上一年的总结做完了,奖金拿到了,职场人开始谋划着年初的找工作大戏。

如何让伯乐和千里马更快相遇?做C++后台开发的我利用大数据分析了北京、上海、广州、深圳四个一线城市的C++岗位招聘信息,篇幅限制文中只拿出北京和深圳的数据展示,让我们来看看岗位的招聘现状,以及如何科学提高应聘成功率。

文末可以获取本次分析的完整高清图表,需要的同学自取。同时分享完整源码用于学习交流,若对其他岗位感兴趣也可以自行运行源码分析。

需求分析

通过大数据分析招聘网站发布的招聘数据,得出岗位分布区域、薪资水平、岗位关键技能需求、匹配的人才具有哪些特点、学历要求。从而帮助求职者知己知彼,补齐短板,有的放矢的应对校招、社招达成终极目标获得心仪的offer。

软件设计

数据分析是Python的强项,项目用Python实现。软件分为两大模块:数据获取 和 数据分析

详细实现

数据获取

request库构造请求获取数据

1cookie = s.cookies
2req = 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代表column
2df_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 Bar
2regBar = 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())
8
9from pyecharts.commons.utils import JsCode
10shBar = 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": [30303030],
23                "shadowColor"'rgb(0, 160, 221)',
24            }})
25shBar.set_global_opts(title_opts=opts.TitleOpts(title="最高薪资范围分布"), toolbox_opts=opts.ToolboxOpts())
26
27word.add("", [*zip(key_words.words, key_words.num)],
28         word_size_range=[20200], 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下开发大概能加大应聘成功率,毕竟岗位需求更大。

以上分析结果仅针对本文原始数据。

关注公众号「后端技术学堂」回复 「工作」获取本文程序完整源码以及高清分析图表。

再说两句(求关注)

这篇文章从取材到创作,一开始是写代码调试获取数据和素材,之后写文章修修改改和排版,前后花了一周的晚上下班和周末一天的时间,对工科出身的我来说,发现写文章比写代码难多了,原创不易,这篇赞赏不开了,各位的「转发和在看」是对我持续创作的最大支持。

往期精选

非常详细的 Linux C/C++ 学习路线总结!助我拿下腾讯offer

腾讯C++后台开发面试笔试知识点参考笔记

你不知道的多面手linux date

redis分布式锁3种实现方式对比分析

关注公众号「后端技术学堂」大厂程序员与你一起学编程

回复「资源」送你一份编程学习大礼包

包括将近3个G的编程学习资源

在看点一下,让我知道你在看

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存