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 ...
随机推荐
- Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)
目录 Python5大擅长领域 WEB开发 网络编程 科学运算 GUI图形开发 运维自动化 Python在世界上的知名应用 国外 谷歌 CIA NASA YouTube Dropbox Instagr ...
- 分布式任务调度平台XXL-JOB搭建教程
关于分布式任务调度平台XXL-JOB,其实作者 许雪里 在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式 ...
- Codeforces Global Round 2 Solution
这场题目设置有点问题啊,难度:Div.2 A->Div.2 B->Div.2 D->Div.2 C->Div.2 D->Div.1 D-> Div.1 E-> ...
- cmd执行超大sql文件
osql -S 127.0.0.1 -U sa -P 123456 -i d:\test.sql osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对 ...
- python语法与c++不同点
代码结构由':'号和缩进 来标示. 函数: def 定义 不定参数: *args: tarple可逐个传, 整体传, *拆包传 **kwargs dict可逐个传, 整体传, ** 拆包传, 有2 ...
- [转帖]UTC时间、GMT时间、本地时间、Unix时间戳
UTC时间.GMT时间.本地时间.Unix时间戳 https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/ ...
- Shell命令-文件及目录操作之chattr、lsattr
文件及目录操作 - chattr.lsattr 1. chattr:改变文件属性 chattr命令的功能说明 chattr命令用于改变文件属性.这项指令可改变存放在ext2文件系统上的文件或目录属性, ...
- SpringCloud学习笔记:服务注册与发现Eureka(2)
1. Eureka简介 Eureka是一个用于服务注册和发现的组件,分为Eureka Server和Eureka Client,Eureka Server为Eureka服务注册中心,Eureka Cl ...
- nginx(三)反向代理和负载均衡
nginx(三)反向代理和负载均衡 正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器. 反向代理概念: 看下图(Nginx只做请求的转发,后台有多个htt ...
- macOS卸载应用不彻底
总觉得macOS卸载应用时直接移到废纸篓卸载不干净.配置文件根据Unix的习惯应该存放在用户目录下,还需要删除这些文件. ~/Library/Application Support/(应用程序名称) ...