GitHub界面初识
现在很多 HR 在招聘程序员的需求都会提到「有 Github 项目者优先」,大部分求职者也会在简历中附上 Github 链接。
作为一个专业的 HR,即便不懂代码,也不能被一个链接唬住。今天我就手把手告诉大家如何通过Github 来判断求职者是否靠谱。
(本文中的所有 github 链接均无特指,仅用于演示说明)
1、查看个人信息
上面是某大神的 Github 个人首页,页面包含四大部分,我们先看个人信息部分。有个人主页的,可以上去看看;有邮箱的,可以看看后缀。
Github 里把项目叫做仓库(Repository),而 Github 里面本身的项目(Project)用的人很少,所以可以忽略。下面可能会混用仓库和项目,指的都是 Repository,大家知道是一回事就行。
仓库分为公开的和私有的,私有的就是只能自己和维护人员可见。Github 付费用户的私有仓库可以由超过3个贡献者共同维护,而免费用户的私有仓库最多只能有3个贡献者,这就是付费和免费的区别,别的基本都一样,一般国内开发者免费的居多。个人认为付费用户可以加分,免费用户不减分。
2、查看贡献统计
绝大部分的开源都在 Github 上面存放,作为一个程序员在 Github 上主要做的事情有:
· 查看和下载别人的开源项目
· 收藏(Star)别人的开源项目
· 关注别人(Follow)
· 给别人的开源项目提 issue(包括 BUG、建议、疑问等,类似于留言板)
· 给别人的开源项目做贡献
· 自己建立开源项目
· 给自己的开源项目提交代码(Commit)
这里最有价值的就是做贡献(Contribution),主要是提 issue 和提交代码。
Github 用户首页中对贡献做了统计,对于 HR 来说,这是识别用户活跃度的重要指标。
在贡献统计里面,最重要的就是贡献日历,也是对于活跃度的最直观判断。如果绿色的比例很多,如下图,说明这个人是一个重度开源参与者,值得加分。
如果是一片灰色,比如下图,说明这人平时不怎么在 Github 上贡献代码;我们在右边切换一下时间,如果每年都是一片灰色,那就要减分了。
接着我们可以看看注册时间。把右边的年份选到最下面一年,滚动下面的 Contribution activity 到最底,就可以看到 Joined GitHub 活动了。
如果这位程序员注册时间较早,起码说明他很早就有开源意识,值得加分,如果注册时间很短,那就说明可能是为了找工作刚注册的,减分。对我个人来说,可接受的是 Github 账号注册时间 >= 工作时间 - 1年。如果工作一年后还没有注册 Github,那在我这里就会大大减分。
3、查看仓库
每个开源项目,就是一个或者多个代码仓库,仓库里放着项目代码。程序员在 Github 上的所有贡献都是面向仓库的。
以上图为例,我们可以先大致了解一下仓库情况:
· Repositories 代表自己的仓库,这里有 151 个,已经很多了。
· Stars 代表收藏的别人的仓库数量。Star 数量衡量一个仓库或开源项目好坏的重要标准,可理解为点赞数。这里显示 Stars 为 788,说明给 788 个仓库点了赞。
· Project这项可以忽略。
· Followers 代表关注自己的人,显而易见,Followers 越多说明此人的技术影响力越大。
· Following 代表关注的其他人数量,参考价值不大,有兴趣可以看看他都关注什么样的人。
对于我来说,Repositories、Stars 和 Followers 数量多,加分;Repositories 可说明此人开源项目的多寡;Stars 可说明他的活跃度,经常会浏览并收藏一些仓库;Followers 衡量技术影响力,数量多的话,数量多的话可以大大加分。
接着看一下 Overview。里面会有这位用户的仓库里最受欢迎的仓库,一般是按照 Stars 数量来排列的。如果 Overview 里面有项目的 Stars 数量在 1万以上就是位非常优秀的程序员,大大加分,可以直接面试或预录用了。
其实 Stars 在 100 以上已经算是比较优秀了。比如下面这种,Stars 不低,分布也比较正常,我也会加分。
如果仓库很多,但 Stars 很低,说明这人虽然写了一些仓库,但没什么影响力,我会减分或者不加分;如果 Repositories 数量为 0,大大减分。注意,仓库要结合贡献统计来看才更准确。
补充一点:上面说的并不绝对,有的公司有自己的代码库,所以员工在 Github 上的贡献就少一些;有的公司代码库就在 Github 上面存放,所以可能员工水平不高也会有很多贡献,因为是工作所需。不过不论如何,优秀的程序员,大多都是 Github 的重度使用者。
有些投机取巧的候选人,甚至会利用淘宝的「刷 Star 服务」:
刷 Star 的项目,大多都是突然增长,issue很少,给 Star 的用户大多没有头像。
GitHub界面初识的更多相关文章
- QT+UI界面初识+界面与编辑区结合操作
图片中时UI界面的初识,了解界面部件都是干啥的: 有了界面之后,使得QT的开发变的更加的便捷,但是在ui界面有时满足不了的功能,就需要使用代码解决,怎么利用代码呢? 首先:打开程序编辑区: #incl ...
- 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)
<Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌 简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...
- ENGLISH抠脚童鞋的福利--GitHub汉化插件
今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...
- 版本控制简介,git使用----使用GitHub托管代码
关于版本控制: 很久以前,人们苦于对写过的代码进行版本的管理,经常过了一段时间想恢复原来写过的代码却又忘了不知道丢到哪儿去了,有的人用加上时间后缀来命名文件的方法,便于后期维护,但是这样做的麻烦也很大 ...
- github如何pull最新代码
github现在已经经常用了,但是经常遇到下面的问题 比如:从一个项目A中fork了一个分支B,并且在分支B有了改动.过了几天后,项目A中的代码应该会有很多人提交修改了,现在想将最新的代码pull ...
- gitHub入门指导
Github可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性.为一个项目贡 ...
- Git本地项目上传 & SourceTree & GitHub 简单使用
Git(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理 ...
- python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用
11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http:// ...
- GitHub新手使用教学(从安装到使用)
一.安装Git for Windows(又名msysgit) 下载地址: https://git-for-windows.github.io/ 在官方下载完后,安装到Windows Explore ...
随机推荐
- Guava Cache探索及spring项目整合GuavaCache实例
背景 对于高频访问但是低频更新的数据我们一般会做缓存,尤其是在并发量比较高的业务里,原始的手段我们可以使用HashMap或者ConcurrentHashMap来存储. 这样没什么毛病,但是会面临一个问 ...
- PS制作水火相溶特效文字图片
最终效果 一.新建一个1400*900像素的画布. 二.由上到下拉一个深灰到纯黑径向渐变. 三.输入字母S,并用ctrl+t拉到适合的大小,并且降低不透明度. 四.拖入水花素材(如果大家有水花笔刷的话 ...
- 《Effective C++》定制new和delete:条款49-条款52
条款49:了解new-handler的行为 当operator new无法分配出内存会抛出异常std::bad_alloc 抛出异常前会反复调用用户自定义的new-handler函数直至成功分配内存 ...
- $(function(){})简述
用jQ的人很多人都是这么开始写脚本的: $(function(){ // do something }); 其实这个就是jq ready()的简写,他等价于: $(document).ready(fu ...
- How to proof MD5
F(X, Y, Z) = (X&Y) | ((~X) & Z) G(X, Y, Z) = (X&Z) | (Y & (~Z)) H(X, Y, Z) = X^Y^Z I ...
- Scrapy 框架,爬虫文件相关
Spiders 介绍 由一系列定义了一个网址或一组网址类如何被爬取的类组成 具体包括如何执行爬取任务并且如何从页面中提取结构化的数据. 简单来说就是帮助你爬取数据的地方 内部行为 #1.生成初始的Re ...
- emwin 之 LISTWVIEW 控件禁止列滑动
@2019-02-25 [小记] hHeader = LISTVIEW_GetHeader(hListView); WM_DisableWindow(hHeader);
- vue数组中对象属性变化页面不渲染问题
问题引入 Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了Proxy或者Object.observe()机制来监听对象状态的变化.但是,对于数组元素的赋值,却没有办法 ...
- 将服务器文件上传到ftp shell操作
date cd /home/data today_now=`date +%Y%m%d` #当前日期 cur_date=${today_now::} #echo ${cur_date} #判断是否文件生 ...
- Gym - 101350E Competitive Seagulls (博弈)
There are two seagulls playing a very peculiar game. First they line up N unit squares in a line, al ...