技术招聘也能让别人帮忙吗?

BWS项目是自己一年来在开发的项目。本文就项目中一些技术选型、功能实现、项目流程做一些简单的总结。

虽然Python3发布已经10年之久,但是2和3之争直到今天依旧存在,对于如何学习,每个人都有自己的理解和学习策略。我个人看法:果断学习面向未来的3;

3和2的差别对于学习过程没有太多的影响,学好了3自然也能够很快上手2了;

常见的第三方库大多数(80%以上)是支持Python3的;

不过在系统安装的时候总是23共存的,可以自由切换;

今年4月份重新开发的时候做了一个比较激进的做法:完全抛弃对Python2的支持。当时的考量,把这个项目作为Django持续学习的一个示范项目,毕竟 Django的下一个大版本2.0(预计2017年12月发布),也已经要求最低版本为3.5了。

其实在项目中使用几个Python2不支持的语法和没有的标准库,就可以达到以上目的,具体来说,在代码中使用了以下几个语法:字典合并创建语法(PEP448)

根据 PEP448,在Python3.5中可以使用更加简洁明了的代码实现合并多个字典。

另外Python3在文本和二进制方面作了比较大的改变,这对文件导入导出功能开发提供了便利,不用再纠结2的编码问题,可以集中解决业务层面的问题。

我也算是Django的忠实用户了,从1.4到1.11都有用到,不断看到Django的成长和壮大。1.4/1.8/1.11是LTS版本,项目使用的是1.10。这些年来Django比较大的变更有:自定义用户类型:这个是1.5就有的功能了,之前只能使用内置的用户类,连使用邮箱作为用户名也不能直接支持;

数据库迁移:1.7借鉴 South 实现的,这个是开发的利器,修改用户模型时候可以使用命令一键将修改同步到数据库,而忽略具体的数据库类型;

自定义过滤查询:1.7,这个主要用于封装一些业务数据库查询。

多模板支持:1.8引入的,Django自己的模板引擎效率历来为人们所诟病,现在可以在Django中使用Jinja2这样的模板了。

表单控件支持模板渲染:Django表单其实是着重于后端验证,前端相对薄弱,导致定制起来没有那么顺手。最新的1.11引入的可以通过模板文件定制控件样式等等。

Class-Based-View 是相对于Function-Based-View而言,主要支持封装,减少重复的代码编写工作,逻辑流程清晰,经过测试过的。在具体编写代码还是一定要查看源代码,才能理解其中的功能实现。

CBV的核心是Mixin模式。Mixin是一种将多个类中的功能单元的进行组合的利用的方式,这听起来就像是有类的继承机制就可以实现,然而这与传统的类继承有所不同。通常mixin并不作为任何类的基类,也不关心与什么类一起使用,而是在运行时动态的同其他零散的类一起组合使用。

使用mixin机制有如下好处:可以在不修改任何源代码的情况下,对已有类进行扩展;可以保证组件的划分;可以根据需要,使用已有的功能进行组合,来实现'新'类;很好的避免了类继承的局限性,因为新的业务需要可能就需要创建新的子类。

现在也基本上不写视图函数了,项目上能见到的也就是 django.contrib.auth.login 等几个函数了,不过现在也要改成视图类形式了。

虽然admin是Django的主要优势所在,但是它的使用场景有限,主要由于整合许多功能,比如分页、过滤、搜索、增删改查和批量操作等等,相互之间具有非常高的耦合度。在没有提供公开的API下去实现一些定制往往是'牵一发而动全身',最后基本上也改的是不成样子。

由于项目中没有使用内置的admin组件,增删改查的页面就需要多花一点时间自己去适配。

日志模型也要自己去设计,项目中我自己添加了ip这个字段,这个是原来所没有的。

请求限制(频率、IP)

前端UI用的是 Amaze UI这个框架。不过从后来的发展形势来看,这是最为错误的决定了,主要原因在于无法和后端比较平稳地整合。

Django表单中有一个比较大的问题,如何需要定制控件样式,需要在Python代码中修改,而且需要应用的每一处都需要更改,灵活度不够。目前主要有两种解决方式:使用Django1.11版本的模板功能,这个功能刚刚推出,文档也只有一页的内容,不太建议使用。

django-import-export也提供了几个Mixin,但问题这些和admin组件耦合很高,不利于一些自定义操作,所以直接使用tablib库比较好。根据官方文档,可以使用以下代码实现文件导入

但其实load还有几个比较重要的参数:format:文件格式,如果不写,使用自动识别,但有出错的机率,之前试验过一个xlsx文件在不同环境下识别为json文件的,因此建议这个参数也留给用户输入

headers:表示第一行是否是表头,这个参数在文档中没有表明,需要自行查看源代码获取相关信息。

所以最后就写成下面这个样子

在更新记录时可以使用 update_fields 参数指定只需更新的字段列表。这个参数在只更新一两个字段的时候特别有用。

如果不指定参数的值,将更新所有字段。

一个简单的testsettings.py如下,可以配置一些仅用于测试的项目,如数据目录 FIXTUREDIRS 。

MIGRATION_MODULES 设置表示是否运行数据迁移脚本。上述例子设置为空,表示测试无需运行这些迁移脚本。

单元测试主要测试那些返回为实际数据(如json/yaml)的视图。

测试采用标准的 django.test.TestCase,按照文档所描述的步骤,一步一步的编写。

一个基本模式,一个TestCase表示一个主要功能,如一个POST请求

依次对响应对象的状态码和内容、数据变更进行断言(Assert)测试

之前采用的是daocloud这个平台的工具。具体可参考《使用DaoCloud部署Django项目》这篇文章。由于对docker这方面没有一个完整的学习,加上daocloud.io更新到3版本,作了一些比较大的改变,后来就决定搬迁到阿里云服务器上,这样相对比较容易把握。

什么是轮子 wheel,写多了代码就会发现一些代码具有共同之处,将其抽象并提取,慢慢地就形成了一个库,可以和别人分享。本质上来说,Django也是一个轮子。

由于是个人项目,因此一些版本升级方面就比较随意,基本上新版本出来就完全废弃旧有版本。

稳定才是真,不要为追求标新立异而盲目升级。

}

现在正值金三银四的招聘旺季,虽然这个时候求职的人员比较多,但是招聘的企业也有很多。所以对于HR来说,招聘任务仍然是很繁重。这个时间,HR们不仅要做好企业的招聘工作,还需要做好企业员工跳槽的问题,以及新员工入职之后的安抚工作。所以,这个时间,对于HR来说,真的是可以说忙到不可开交。

今天,我们就说一下那些简单有效的,可以让HR可以精准招聘的使用方法:

很多情况下HR会发生以下四件事:

首先 ,拿到用人需求后,没有认真做岗位需求分析,不了解用人部门的真正的需求在哪里;

第二 ,没有和用人部门进行深入的沟通,没有去了解用人部门对人才的核心要求在哪里;

第三 ,简历筛选,没有对简历进行专业把控,所以才会出现多而不精的情况;

第四 ,在面试的时候,没有做好面试评估,没有真正的从企业、部门的需求出发。

每个HR都想一招一个准,但很多是面试的时候发现:要么是简历水分过多,就是面试表现非常一般,或者是招进来后发现并不如面试表现的那么优秀。

HR怎么做到精准招聘呢?

1、明确岗位最核心的要求

必须要客观务实细致明确,例如性别要求,年龄要求,专业要求,经验要求,职业要求以及其他方面的要求。

用人部门面试的时候,HR可以旁听,一个职位旁听2次基本上就可以明白用人部门到底是要招什么样的人了。

有时候,用人部门有自己的想法,但是不会明确告诉HR,旁听2次再加HR对用人部门的了解,估计也就八九不离十了。

2、梳理员工职业发展通道

企业不仅需要人来做事,更需要人才与公司一同成长,那么公司也才能最终收获人才红利,而不是变成培训班。

以目前在企业培训中所了解到的情况来看,在“梳理岗位的职业发展通道”的问题上,八成的企业都做得不到位。

从组织生涯发展的角度来说,帮助员工建立和梳理职业发展通道是培养和留住人才的关键手段。

通过对晋升通道的梳理,也能更明确该岗位对应聘者的期许,遇上合适的人才,双方既能一拍即合,从一开始就能建立起良好的“发展契约”。

3、根据岗位性质选定信息发布渠道

选择招聘信息的发布渠道,也有讲究和诀窍,譬如说求职者不能海投一样,HR也不能海发“招聘传单”。

“较常见、普遍的岗位招聘,可以通过大型招聘网站来完成工作;

如IT、网络技术等专业技术要求较高的岗位,则建议去一些人气比较旺的技术论坛或SNS社区发布招聘信息更容易找到称心的技术专才。

4、从简历关键词做出快速判断

你需要快速浏览内容,在最短的时间里对简历中所呈现出的技能、工作经历等进行初步判定,飞快的判断求职者的基本条件是否与招聘岗位想吻合。

尤其关注是在核心技能是否满足基本条件,并且需要从工作经历初步评估他的发展状态。

这个环节需要你有熟练的技巧和敏锐的眼力,这样才能从万千求职者,甄选出你需要的“最佳人才”。

5、用职业规划技术判断求职者的职业适合性

进入面试阶段。开头你通常会问一些如:“你为什么离开上一份工作?”“你为什么应聘本公司?”等常规问题。

但这些还不能真正帮助你切中要害,来判断求职者的职业适合性。

你需要用专业的职业定位技术进行全面的分析和判断,通过对三大系统:职业取向系统、行业价值系统和职业机会进行系统考察。

你要依据这个框架设计相关问题,对求职者的职业价值观、职业兴趣、职业愿景、技能、能力、天赋等各方面进行全方位了解,才能准确无误地判断对方的职业适合性。

6、求职者的中长期规划是否与公司发展目标一致

通过问题设计,让应聘者阐述未来五年的职业发展计划。

从中考察其阶段目标设定的合理性,而对自身不足的地方,是否有相应的、合理的学习计划去提升。

将应聘者的发展计划以及分阶段目标,与公司的长远发展需求及相应的岗位通道设置进行比对,综合权衡利弊得失,以挑选出最适合、最有潜力的人。

与求职者一样,HR也要懂得定位。

明晰岗位核心需求,并利用职业规划技术判断人才的适合性,才能实现高效、快速的招聘。

每个HR都必须首先是一名专业的职业规划师,才能完成从招聘、培训,到公司人才资源整体管理的艰巨任务。

或许您还想了解:培训动态

}

再帮朋友发个招聘,我也不知道更多情况,纯属帮忙,有意者请与Ta直接联系。如果此贴有违什么目前我还不知道的规定,请管理人员能告知一下,我立即改正,请不要封我帐号啊。谢谢

GPMUI design 工作地点:北京 公司:顶级美资IT公司
待遇:底薪+福利+股票(只要技术认可,薪水没有上限)
研发语言:C/C++/C#/java 平台环境:WINDOWS NUX/NUIX 工作经验:10年以上(硕士8年以上) 学历:大学本科及以上,211以上院校 英文:听说读写流利,要与美方沟通
级别:相当于小公司的技术总监

}

我要回帖

更多关于 招工怎么说才能招到人 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信