外功学了万毒,刀妹s8新天赋毒妃点毒云劲还有必要吗

&p&&b&果老兄面试体系攻略&/b&&/p&&p&&b&已被五万人收藏&/b&&/p&&p&&b&永久持续更新&/b& &a class=&member_mention& href=&//www.zhihu.com/people/f5bb03977efe51332b8b& data-hash=&f5bb03977efe51332b8b& data-hovercard=&p$b$f5bb03977efe51332b8b&&@果老兄&/a& &/p&&p&收藏已经是点赞的两倍多了....&/p&&p&这么全面强大的免费攻略....&/p&&p&文章底部还送了我写的免费的「新媒体教程」&/p&&p&东西都收藏了拿走了,点个赞呗~&/p&&p&&br&&/p&&p&&b&一、准备篇:&/b&&/p&&p&&br&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&攻略 | 准备工作&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&简历 | 简历撰写&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&着装 | 面试着装&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&邮箱 | 邮箱问题&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&颜值 | 颜值问题&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&答疑 | 带简历吗&/a&&/p&&p&&br&&/p&&p&&b&二、应答篇:&/b&&/p&&p&&br&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&技巧 | 话术技巧&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&薪酬 | 薪酬谈判&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&优势 | 你的优点&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&劣势 | 你的缺点&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&话术 | 为啥选它&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&造假 | 伪造经验&/a&&/p&&p&&br&&/p&&p&姐妹题的回答我已经2.3K赞了&/p&&p&果老兄面试未尝一败&/p&&p&自己开了公司后也面试了不少人&/p&&p&所以这份回答,只要你好好阅读&/p&&p&相信这类问题只会给你面试加分&/p&&p&&br&&/p&&p&这个回答能让你明白&/p&&p&&br&&/p&&p&&b&1、&/b& &b&如何面对3类不同面试官&/b&&/p&&p&&b&2、&/b& &b&如何判断优点对面试有用否&/b&&/p&&p&&b&3、&/b& &b&如何事先强化有效优点&/b&&/p&&p&&br&&/p&&p&附送给你3个不要,2种心态&/p&&p&&br&&/p&&p&---------正文分割线----------&/p&&p&&br&&/p&&p&答这道题可以先来看看姐妹题&/p&&p&&br&&/p&&a href=&https://www.zhihu.com/question//answer/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/80/v2-e0c8aaaa7ffbbededbb0b196_180x120.jpg& data-image-width=&2132& data-image-height=&1468& class=&internal&&面试官问你的缺点是什么,应该如何回答?&/a&&p&这个问题有什么意义呢?&/p&&p&&b&这就是面试官的套路&/b&&/p&&p&&br&&/p&&p&在让你自己说缺点时&/p&&p&——你说不痛不痒的缺点不能加分&/p&&p&——你掏心窝说一大堆缺点又会扣分&/p&&p&——这样一个不能掏心窝,也不能糊弄过去的问题,显然比谈优点难太多了&/p&&p&&br&&/p&&p&回归本问题,&/p&&p&&b&——当我们夸自己的时候,我们在想什么&/b&&/p&&p&&br&&/p&&p&&b&1、不同人有不同需求&/b&&/p&&p&作为面试者大家想要一份钱多事少离家近的工作&/p&&p&作为面试管想要的是活儿好省钱事儿不多的员工,&/p&&p&&br&&/p&&p&我们会发现,&/p&&p&每个人对工作的需求、定义和标准是不同的&/p&&p&所以我们得先根据身份,岗位责任&/p&&p&将面试官的需求分析清楚,再一一看菜下饭&/p&&p&&br&&/p&&p&从岗位来看,面试你的人会有这3类:HR、部门主管、大BOSS&/p&&p&&br&&/p&&p&从&b&HR角度&/b&来看,他们的需求就是尽量找到靠谱的人&/p&&p&&br&&/p&&p&&b&第一点,&/b& &b&&u&先保证他看的简历是足够真实的&/u&&/b&&/p&&p&&b&第二点,&/b& &b&&u&这个人的性格适合公司不会闹事&/u&&/b&&/p&&p&&br&&/p&&p&而且最好让他们说出:&/p&&p&你他娘的还真是个人才&/p&&p&&br&&/p&&p&从&b&部门主管&/b&角度来看,他们的需求则是保证稳定&/p&&p&为什么追求稳定呢?&/p&&p&部门主管背负着整个部门的KPI啊,&/p&&p&如果每个手下都不能完成分配下去的KPI,还不服从管理&/p&&p&主管自己也要开始投简历了&/p&&p&&br&&/p&&p&从&b&老板&/b&角度来看,他们最大的需求是赚大钱&/p&&p&老板开公司不是为了做慈善啊&/p&&p&要是你一入职就给老板带来几百万&/p&&p&老板都可以搂着你喊哥了&/p&&p&&br&&/p&&p&那么接着来看怎么看菜下饭&/p&&p&&br&&/p&&p&&b&2、什么优点对面试有用?&/b&&/p&&p&&br&&/p&&p&&b&HR要看真实性,那就给她看真实性&/b&&/p&&p&运用STAR法则,详细描述一个事情的经过&/p&&p&什么是STAR法则?&/p&&p&S:情境(situation)、&/p&&p&T:任务(task)、&/p&&p&A:行动(action)、&/p&&p&R:结果(result)&/p&&p&&br&&/p&&p&举个栗子:&/p&&p&S:开学发现很多学长在卖被子&/p&&p&T:自己也想卖被子&/p&&p&A:开始找货源,定价,选择位置卖&/p&&p&R:认识了不少新同学,并且和小伙伴赚到了1000元&/p&&p&&br&&/p&&p&这么一套下来,&/p&&p&你证明了你的商业头脑、执行力、沟通交流能力&/p&&p&同时还证明了你曾自己赚过钱&/p&&p&这样展示了详细情况的案例,用来显示优点&/p&&p&HR面就能轻松搞定&/p&&p&&br&&/p&&p&&b&部门主管要看稳定性,那就给他看稳定性&/b&&/p&&p&&br&&/p&&p&主管想看你的心性,不会干一个月就跑&/p&&p&那就和他说你坚持过什么苦逼事&/p&&p&照着上面卖被子的经历&/p&&p&一开始卖不出被子,也没有认识的朋友&/p&&p&那几天过得日子,那叫一个苦逼啊&/p&&p&早上天没亮就去占位置,起得比鸡还早&/p&&p&晚上吃饭还得在摊位上吃,吃得还都是盒饭&/p&&p&哪怕再苦再累,你还是坚持下来了&/p&&p&终于凭借厚脸皮,加上给隔壁老哥递上一支红双喜&/p&&p&学会了怎么将被子推销给同学们&/p&&p&&br&&/p&&p&&b&大BOSS想看你的价值,那就展示你的价值&/b&&/p&&p&很多筒子可能没在大学里赚过钱&/p&&p&那就谈谈自己的学习能力有多强&/p&&p&谈自己曾经花了多少天学会了一款新软件&/p&&p&谈自己曾经做PPT让多少人认可&/p&&p&甚至班里参加比赛的PPT都出自你手&/p&&p&班里人送外号“PPT小王子”&/p&&p&你得向老板证明,就算你没有赚过钱的经历&/p&&p&你照样能给别人带来价值&/p&&p&&br&&/p&&p&你可能会说,啊我不会做PPT,也没卖过被子,那我怎么办啊&/p&&p&那么接下来这招,你可得擦亮眼镜好好看了&/p&&p&&br&&/p&&p&&b&3、如何强化你的优点&/b&&/p&&p&我们针对不同的三类面试官,知道了如何看菜下饭&/p&&p&接着就可以来强化自己不同优点了&/p&&p&&br&&/p&&p&我们得先找到两类能形成个人标签的优点&/p&&p&一类是稳定性忠诚度优点&/p&&p&一类是能给人带来价值的优点&/p&&p&&br&&/p&&p&稳定性优点比如这些:&/p&&p&在多长时间内坚持过什么&/p&&p&就像坚持了3个月减肥10斤&/p&&p&或者是坚持早起100天晨读&/p&&p&这类是只要坚持就能说出来的优点&/p&&p&&br&&/p&&p&能给人带来价值的优点如这些:&/p&&p&给别人做PPT,获得感谢&/p&&p&学会Word技能,帮舍友排版毕业论文&/p&&p&女神电脑坏了,免费帮女神修电脑&/p&&p&哪怕女神说了一句“我们还是做一些有意思的事吧”&/p&&p&你也要坚持帮女神修好电脑&/p&&p&证明自己修电脑的手艺可不是吹的&/p&&p&哪怕你再懒也可以去选择给图书馆免费做义工一年嘛&/p&&p&&br&&/p&&p&&b&&u&最后给大家附送3个不要,2点心态&/u&&/b&&/p&&p&&br&&/p&&p&&b&3个不要:&/b&&/p&&p&不要抖机灵&/p&&p&不要不懂变通&/p&&p&不要说谎&/p&&p&&br&&/p&&p&不要抖机灵说的是:&/p&&p&你别说我的优点是爱吃蔬菜&/p&&p&你咋不说你的优点是撸猫神手?&/p&&p&也许这样HR小姐姐还想看看你的金手指呢&/p&&p&&br&&/p&&p&不要不懂变通说的是:&/p&&p&你别不看面试对象,只用一种答案回答每次的提问&/p&&p&这样既不能戳中别人的需求,别人还会觉得你是复读机&/p&&p&&br&&/p&&p&不要说一句谎话:&/p&&p&咱们都是老实人&/p&&p&况且说谎被戳穿是一件很糗的事&/p&&p&&br&&/p&&p&&b&2点心态:&/b&&/p&&p&a)有些岗位公布之初就已有候选人&/p&&p&&br&&/p&&p&这个社会本来就是人的社会,何况中国是人情社会,从古至今都是举贤不避亲。&/p&&p&所以遇到你觉得自己十拿九稳的面试,最后机会别被人抢去了,不要太沮丧或气愤。&/p&&p&&br&&/p&&p&b)不卑不亢,面试是双向选择&/p&&p&&br&&/p&&p&当你不卑不亢的去面试,你的气质就会影响面试官&/p&&p&他们会觉得你很有自信,这样的你会让他们加很多印象分&/p&&p&况且已经看了这篇干货的你,是那么优秀,还有什么理由在他们面前自卑呢?&/p&&p&&br&&/p&&p&优秀的你,怎么还不点个赞?!&/p&&hr&&p&关注 &a class=&member_mention& href=&//www.zhihu.com/people/f5bb03977efe51332b8b& data-hash=&f5bb03977efe51332b8b& data-hovercard=&p$b$f5bb03977efe51332b8b&&@果老兄&/a& 不错我的每一个回答&/p&&p&我的知乎LIVE:&/p&&a href=&https://www.zhihu.com/lives/525440& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic4.zhimg.com/v2-742bd0fb2f442d4e4a8f_ipico.jpg& data-image-width=&1035& data-image-height=&1035& class=&internal&&从0到1入门新媒体&/a&&p&将在04月15日 (星期天)21:00 开始&/p&&p&教给你独一无二的干货。&/p&&p&快来参加吧!&/p&&hr&&p&我还给 &b&点赞的你 &/b&准备了份礼物:&/p&&p&「新媒体运营自学教程」&/p&&p&我写的;&/p&&p&免费的;&/p&&p&吊打全网的;&/p&&p&你拿来就用的;&/p&&p&一定持续更新的;&/p&&p&来微信公众号「果兄私塾」&/p&&p&(ID:ahugehugo)&/p&&p&后台回复:&b&「学」&/b&领取&/p&
果老兄面试体系攻略已被五万人收藏永久持续更新
收藏已经是点赞的两倍多了....这么全面强大的免费攻略....文章底部还送了我写的免费的「新媒体教程」东西都收藏了拿走了,点个赞呗~ 一、准备篇:
&h2&&b&不要光收藏不点赞好吗.....写那么辛苦...&/b&&/h2&&hr&&p&首先说一下,你这份简历,估计市面上会有95的%的雷同率。既然雷同了,那么你就无法脱颖而出。纵观大部分的简历都是没有「干货」的简历,那么这些简历,基本上就是10秒钟就可以删进垃圾桶里的。&/p&&p&&br&&/p&&p&下面我就介绍一下,怎样的简历,最能吸引人。(针对的是比较新的小白&/p&&hr&&h2&&b&(一)简历面貌&/b&&/h2&&p&很多人的简历,毫无排版,字体乱七八糟,毫无艺术感。虽然说,你的简历是描述你这个人到底能干什么的东西,但是「样子好看,别人就会多看你几眼」。&b&你可以不搞样式,但是如果有一个人和你水平相同,他的简历弄了样式,那他被选择的几率就大很多。&/b&&/p&&p&&br&&/p&&p&&b&我在这里直接给出一些干货「&/b&&a href=&//link.zhihu.com/?target=https%3A//github.com/salomonelli/best-resume-ever& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&salomonelli/best-resume-ever&/a&」这个是github上的一个不错的模版,几天时间就获得了4000星。大家也可以自己去找找别的,都行。总之以下几点要注意:&/p&&ul&&li&内容精致&/li&&li&样式完整统一&/li&&li&细节突出&/li&&/ul&&p&&br&&/p&&h2&&b&(二)突出优点的方式&/b&&/h2&&p&你简历中的「熟悉各种xxxoo」其实就是突出优点的一种。但是目前的环境就是「不太足够」。&/p&&ul&&li&学历:211/985直接写。其他的本科写本科,专科写专科。&/li&&li&作品:一定要有。&b&你说你熟练了,那么你拿点作品出来我看看?&/b&这个非常重要,很多人的学习模式就是「&b&噢,这个我懂了,噢那个我懂了。噢,这个太简单了,不做&/b&」。眼高手低的人,我相信是各个用人单位最不想看见的。因此,哪怕是你「&b&仿造别人,或者github的项目,做一个出来,部署展示&/b&」那么你就能脱颖而出。&/li&&li&小作品,小demo:我给个标准,代码少于500行的「&b&一般都属于小demo&/b&」,注意我说的是一般。类似这种小demo呢,就一笔带过,说一说用到什么技术,主要是什么想法,一笔带过,不用介绍太多。&/li&&li&一些额外的加分项:博客(自己搭建分稍微高点),文章,github项目(有星),参加比赛,实际工作经验(一般说的都是兼职类似)。&/li&&/ul&&p&&br&&/p&&h2&&b&(三)内容基本构成&/b&&/h2&&h2&&b&基本结构&/b&&/h2&&p&&br&&/p&&ul&&li&姓,性,年纪,邮箱(qq,微信&/li&&li&学历、学校、专业(不是计算机专业可以不写,不要在简历中暴露自己的短处)&/li&&li&&b&技能(重点介绍)&/b&&/li&&li&工作经历(如果有)&/li&&li&期待薪酬(谨慎写或者不写)&/li&&li&&b&作品地址、博客地址、github地址(重点介绍)&/b&&/li&&li&学生时期成绩、比赛奖励&/li&&/ul&&p&&br&&/p&&h2&&b&技能描述&/b&&/h2&&p&&br&&/p&&ul&&li&&b&精通&/b&:有实际商用项目背景才能写(或者有非常厉害的开源项目)&/li&&li&&b&掌握、熟练运用&/b&:使用某种东西模仿了某种东西出来,并且能够顺利运行。那么你可以说你掌握了,熟练运用。&/li&&li&&b&了解&/b&:不怎么熟悉,听过名字,看过一些小demo&/li&&/ul&&p&&br&&/p&&h2&&b&作品项目描述(重要)&/b&&/h2&&ul&&li&从最牛逼的到最垃圾的&/li&&li&大项目5行左右的描述:1.干什么的,2.怎么实现的,3.用到了哪个技术栈,4.(遇到什么问题),5,预览地址(最好要有,因为起码告诉看你简历的人,你会部署)&/li&&li&小项目,demo类:可以用「关键词+技术栈」描述。&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&(假设招聘的是python web开发)
1. LuyWeb (采用asyncio的web服务器)
a) 技术范畴:asyncio,socket,uwsgi(协议) or wsgi
b) 实现细节:一个实用asyncio的高性能服务器,支持django等众多web框架
c) 项目特色:asyncio...
2. xx即时聊天平台
a) 技术范畴:xxxxxxx
b) 实现细节:xxxxxxx
c) 项目特色:xxxxxxx
3. 分布式爬虫
a) 技术范畴:xxxxxxx
b) 实现细节:xxxxxxx
c) 项目特色:xxxxxxx
4. 小项目(日常
a) xxx:xxxxxxx
b) xxx:xxxxxxx
c) xxx:xxxxxxx
github or 博客地址
&/code&&/pre&&/div&&p&&br&&/p&&h2&&b&(四)题主简历修改的建议&/b&&/h2&&ul&&li&熟悉python,熟练使用某某框架&/li&&/ul&&p&不要光说不练。不是你说熟悉就熟悉的,得上一些干货。如:&/p&&div class=&highlight&&&pre&&code class=&language-text&&熟悉python和django
- 使用django开发了一个博客
a) 技术范畴:xxxxxxx
b) 实现细节:xxxxxxx
c) 项目特色:xxxxxxx
预览地址....
&/code&&/pre&&/div&&ul&&li&熟悉某前端框架&/li&&/ul&&div class=&highlight&&&pre&&code class=&language-text&&熟悉vue.js
- vue配合socket制作的在线聊天即时平台
a) 技术范畴:xxxxxxx
b) 实现细节:xxxxxxx
c) 项目特色:xxxxxxx
预览地址....
&/code&&/pre&&/div&&p&&br&&/p&&p&&b&其实套路很简单:我熟练什么,我就有某个作品来告诉你,我熟练什么&/b&&/p&&p&&br&&/p&&h2&&b&(五)简历细节&/b&&/h2&&ol&&li&项目代码要好看,代码整齐,统一,最好有注释。预览界面也不要太烂,稍微做一下美工。这一点就很容易看出你的态度。&/li&&li&绝对不要有错别字。排版统一,字体风格统一。&/li&&li&投简历的时候,可以在「知乎」,「微博」,「掘金」,等一些网站搜索看看,有没有人招聘,有直接发邮箱。如果实在找不到,再去招聘网站。&/li&&li&招聘标题以这样的格式:名字+招聘职位+联系方式。(碰到过很多求职者,上来就是,你好xxxxxx,我怎么懂你要做什么?」&/li&&li&找工作前,一定要沉下心来,做一些作品。&/li&&li&招聘工作经验在1年的,如果你没经验还是可以投(那么你一定要有好作品了,github上最好有1个或者多个100星以上的作品&/li&&/ol&
不要光收藏不点赞好吗.....写那么辛苦...首先说一下,你这份简历,估计市面上会有95的%的雷同率。既然雷同了,那么你就无法脱颖而出。纵观大部分的简历都是没有「干货」的简历,那么这些简历,基本上就是10秒钟就可以删进垃圾桶里的。 下面我就介绍一下,怎…
&p&虽然这个问题很久了,但是还是想来回答一下。&/p&&p&几年前,还是个菜鸟码农的时候,在华为写java代码。&/p&&p&有一天,被领导安排一个工作,重构项目里的一个短信接口模块。&/p&&p&结果有一个类,是根据短信、数据库等各种状态,进行不同的处理,有20多个if,圈复杂度高得吓人。&/p&&p&当时的代码应该是这样的:&/p&&div class=&highlight&&&pre&&code class=&language-text&&if ( 条件1)
if ( 条件2)
if ( 条件N)
&/code&&/pre&&/div&&p&码农肯定经常遇到这种情况,尤其是老代码。当时面对这一堆if,完全不知道怎么处理。因为各个条件不同,没法合并;处理的操作虽然有类似,但是条件不能合并,操作再优化,圈复杂度都降不下来。&/p&&p&当时我查了很多,处理过多if else的方法,感觉都不好。最后觉得优化不了,于是向师父诉苦。&/p&&p&师父听了之后,直接鄙视了我一下,然后给了一个让我瞠目结舌的优化方案。&/p&&p&就是把多个if 转换成Map。&/p&&p&把条件转换成key,把处理的操作提取父类,各种操作,作为子类,写一个统一处理入口就可以了。&/p&&br&&p&于是,优化之后,代码就变成了。&/p&&div class=&highlight&&&pre&&code class=&language-text&&public class 类名
private static final 操作处理
map.put(key1, operation1);
map.put(key2, operation2);
map.put(keyN, operationN);
public void doOperation(key, params)
map.get(key).do(params)
&/code&&/pre&&/div&&p&整个类的圈复杂度瞬间被降完了,当时第一次感受到代码的美感,回味了好久。&/p&&p&在此分享出来,也向当初带我的师父致敬!&/p&&br&&p&补充:&/p&&p&评论区很多人说了,这就是表驱动。的确,当时师父告诉我的时候,也是这么说的。&/p&&p&回答时想的,只是分享一下第一次体会到代码的美感时的经历。&/p&&p&其实真实情况远比这段伪代码复杂,表驱动最重要的就是,入参和返回值的安全,大家平时用的时候需要注意一下。&/p&&p&还有人问了效率问题,这样处理,只在初始化的时候增加了非常少的时间;真正运行的时候,效率比if-else高,而且分支越多,效率提升越明显。效率差距,在java中大概是哈希算法和遍历的差距吧。&/p&&p&==========================&/p&&p&午休过来看看,发现已经300多赞了!&/p&&p&晚上抽时间再写点表驱动的晋级内容吧!感谢大家点赞!&/p&&br&&p&===========================6月24日更新================================&/p&&p&周末一早过来更新。下面的内容可能需要一些java基础,或者web基础。&/p&&p&评论区有人说,表驱动比较适合处理条件为固定数值的多分支。话是没错,常见固定数值的多分支有:错误码处理,消息号处理,等等。&/p&&p&不过对于java来说,要把一个类(注意是类,不是对象),转换成数值,是非常简单的,java类自带hashcode方法,大多数情况,可以直接调用hashcode,也可以重写hashcode,这样就转换成数值了。&/p&&p&评论区还有人提到了spring,spring框架,也有一个经典的表驱动应用常见。准确的说,所有javaweb应用,都有。&/p&&p&这就是根据http请求的url,寻找对应的处理类。(之所以说处理类,是因为不同的javaweb框架,对处理类的叫法不一样,Struts是叫action,string是叫controller)&/p&&p&在web应用中,可能有众多的url,指向不同的处理类,使用if-else做判断,效率就太低了。&/p&&p&因此,早期的各个javaweb框架(典型的Struts、spring1、spring2),都有一项重要的工作,就是在xml中,配置url与java类的对应关系,这个步骤与我上面的例子中,在构造函数内,向map里put key与value是一样的。&/p&&br&&br&&p&java5开始,java从c#里,引入的注解的概念。于是乎,到了spring3,spring用注解为我们简化了这个构造map的过程,就基本没人去做这个配置了。&/p&&p&如果看过spring的源码,你就会明白了,spring3构造这个map的步骤大致如下:&/p&&p&1、启动时,spring扫描配置的package,获取指定的类注解、属性注解、方法注解。&/p&&p&2、构建urlmap,将url与 处理的操作对应,可能对应到类,也可能对应到方法。&/p&&p&当然,真正的步骤复杂得多,用到的编程知识也复杂得多(还有各种拦截器的组装,各种代理,错误预处理、国际化等等),这里只抽取表驱动的一小部分。强烈推荐有基础的码农看看经典的框架的源码,比如spring、apache-tomcat,能够学到很多。&/p&&br&&p&spring利用注解,简化map构造过程的思想,其实能给我们提供一个表驱动的晋级思路。&/p&&p&以错误码处理为例。&/p&&p&我们可以自定义一个注解MyOperation,下面的例子是类注解,如果要用方法注解也可以,如果有需要,甚至能像spring那样,方法注解、类注解混用:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&package&/span& &span class=&nn&&com.mxh.test.annotations&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&java.lang.annotation.ElementType&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&java.lang.annotation.Retention&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&java.lang.annotation.RetentionPolicy&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&java.lang.annotation.Target&/span&&span class=&o&&;&/span&
&span class=&cm&&/**&/span&
&span class=&cm&& * &p&Title: MyOperation&/p&&/span&
&span class=&cm&& * &p&Description: 自定义operation注解&/p&&/span&
&span class=&cm&& * &p&Company:
&/p&&/span&
&span class=&cm&& * @author leo&/span&
&span class=&cm&& * @version V100R001C10&/span&
&span class=&cm&& * @date 日 晚上9:06:34&/span&
&span class=&cm&& */&/span&
&span class=&nd&&@Retention&/span&&span class=&o&&(&/span&&span class=&n&&RetentionPolicy&/span&&span class=&o&&.&/span&&span class=&na&&RUNTIME&/span&&span class=&o&&)&/span&
&span class=&nd&&@Target&/span&&span class=&o&&(&/span&&span class=&n&&ElementType&/span&&span class=&o&&.&/span&&span class=&na&&TYPE&/span&&span class=&o&&)&/span&
&span class=&kd&&public&/span& &span class=&nd&&@interface&/span& &span class=&n&&MyOperation&/span&
&span class=&o&&{&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
* 错误码.默认0表示成功.&/span&
&span class=&cm&&
* @return&/span&
&span class=&cm&&
&span class=&kt&&int&/span& &span class=&nf&&errorCode&/span&&span class=&o&&()&/span& &span class=&k&&default&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
* 错误码描述.&/span&
&span class=&cm&&
* @return&/span&
&span class=&cm&&
&span class=&n&&String&/span& &span class=&nf&&description&/span&&span class=&o&&()&/span& &span class=&k&&default&/span& &span class=&s&&&&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&定义一个操作处理的父类AbstractOperation:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&package&/span& &span class=&nn&&com.mxh.test.operations&/span&&span class=&o&&;&/span&
&span class=&cm&&/**&/span&
&span class=&cm&& * &p&Title: AbstractOperation&/p&&/span&
&span class=&cm&& * &p&Description: Operation父类&/p&&/span&
&span class=&cm&& * &p&Company:
&/p&&/span&
&span class=&cm&& * @author leo&/span&
&span class=&cm&& * @version V100R001C10&/span&
&span class=&cm&& * @date 日 晚上8:22:03&/span&
&span class=&cm&& */&/span&
&span class=&kd&&public&/span& &span class=&kd&&abstract&/span& &span class=&kd&&class&/span& &span class=&nc&&AbstractOperation&/span&
&span class=&o&&{&/span&
&span class=&cm&&/**&/span&
&span class=&cm&&
* 执行操作.&/span&
&span class=&cm&&
* 应该还有参数、返回值什么的,这里从简,就不定义了.&/span&
&span class=&cm&&
&span class=&kd&&public&/span& &span class=&kd&&abstract&/span& &span class=&kt&&void&/span& &span class=&nf&&doOperation&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&这里给一个简单实现,因为这个类处理的是成功场景,因此MyOperation注解里的errorcode使用默认值就可以了:&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&package&/span& &span class=&nn&&com.mxh.test.operations.init&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&com.mxh.test.annotations.MyOperation&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&com.mxh.test.operations.AbstractOperation&/span&&span class=&o&&;&/span&
&span class=&nd&&@MyOperation&/span&&span class=&o&&(&/span&&span class=&n&&description&/span&&span class=&o&&=&/span&&span class=&s&&&do success operation&&/span&&span class=&o&&)&/span&
&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&SuccessOperation&/span& &span class=&kd&&extends&/span& &span class=&n&&AbstractOperation&/span&
&span class=&o&&{&/span&
&span class=&nd&&@Override&/span&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&doOperation&/span&&span class=&o&&()&/span&
&span class=&o&&{&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&do success&&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&分包可以如下:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-b3cb78cd51dcce9ce29589_b.png& data-rawwidth=&309& data-rawheight=&209& class=&content_image& width=&309&&&/figure&&p&上面的代码都很简单接下来,就需要写一个处理错误码与Operation对应关系的ErrorCodeHandler类,这个类需要做的事情,首先就是要在初始化的时候,扫描包,读取所有写了MyOperation注解的类,然后将其与错误码对应起来。&/p&&p&扫描包的代码比较复杂,使用spring自带的功能也简化不了多少。可以参考一些网上的实现:比如这位博主的:&a href=&//link.zhihu.com/?target=http%3A//blog.csdn.net/tan_thinker/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&获取包下所有类中的注解的值 (java工具类)&/a&&/p&&p&还有这位博主的:&a href=&//link.zhihu.com/?target=http%3A//blog.csdn.net/lsziri/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&java扫描包下的类,一般会配合注解使用 - 博客频道 - CSDN.NET&/a&&/p&&p&还有使用spring的类,完成扫描的:&a href=&//link.zhihu.com/?target=https%3A//www.oschina.net/code/snippet_79& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java注解扫描 - 开源中国社区&/a&&/p&&p&这么一串弄下来,比我之前给的例子复杂了不少。。。。不过就结果来说,后续开发,增加错误码,只要增加一个带注解的Operation类(或者方法),就可以了,还是有工作量上的简化。&/p&
虽然这个问题很久了,但是还是想来回答一下。几年前,还是个菜鸟码农的时候,在华为写java代码。有一天,被领导安排一个工作,重构项目里的一个短信接口模块。结果有一个类,是根据短信、数据库等各种状态,进行不同的处理,有20多个if,圈复杂度高得吓人。…
&figure&&img src=&https://pic1.zhimg.com/v2-dbd636c2ec96ccc41f106_b.jpg& data-rawwidth=&550& data-rawheight=&343& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic1.zhimg.com/v2-dbd636c2ec96ccc41f106_r.jpg&&&/figure&经常博主会受到很多同学的私信,有很多问题都基本是和职场发展、技术成长、职业转型相关的重复问题。特别是有很多关于想转型学数据挖掘、机器学习的开发同学,应该来说对于有技术背景的同学来说入手做数据相关的工作相对而言会简单点,可是事实上真的是如此吗?&p&机器学习区别于传统的开发,涉及概率论、统计学、&a href=&http://link.zhihu.com/?target=http%3A//baike.baidu.com/item/%25E9%2580%25BC%25E8%25BF%%25AE%25BA& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&逼近论&/a&、&a href=&http://link.zhihu.com/?target=http%3A//baike.baidu.com/item/%25E5%%25E5%E6%259E%2590& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&凸分析&/a&、&a href=&http://link.zhihu.com/?target=http%3A//baike.baidu.com/item/%25E7%25AE%%25B3%%25A4%258D%25E6%259D%%25BA%25A6& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&算法复杂度&/a&理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。很多做机器学习的同学都是有统计学、做数据背景的,明白常用的统计术语和数据算法方法。&/p&&p&&b&背景&/b&&/p&&p&机器学习之所以很火的原因,目前互联网公司的大量应用,AlphaGo围棋的胜利、滴滴打车路程最优化、广告推荐个性化、猜你喜欢、图像搜索识别等具体有代表的事例。反观现在大数据的火热,机器学习是一门很具体的落地。&/p&&p&&figure&&img src=&https://pic2.zhimg.com/v2-3df3ad4d78b293b6e659_b.png& data-rawwidth=&1542& data-rawheight=&1290& class=&origin_image zh-lightbox-thumb& width=&1542& data-original=&https://pic2.zhimg.com/v2-3df3ad4d78b293b6e659_r.jpg&&&/figure&有很多Java开发的程序员想转型或者听说机器学习,觉得是一大堆数学公式、也有的觉得是人工智能、还有说的比较具体是一堆rules,这些都是机器学习领域的相关内容。&/p&&p&&b&入门&/b&&/p&&p&对于刚入行或者想转型的同学来说,建议还是先从wiki、书籍、视频这些内容先入手,大概初探以下机器学习是什么,都有哪些内容和实践案例。那种概念性的内容不太建议看太多,讲的太云里雾里,也看不出来个什么道道。&/p&&ul&&li&入门书籍:阅读一些为程序员而写的数据挖掘与机器学习的入门书籍,例如《 &a href=&http://link.zhihu.com/?target=http%3A//www.amazon.cn/gp/product/B00CFCNGLG/ref%3Das_li_qf_sp_asin_il_tl%3Fie%3DUTF8%26camp%3D536%26creative%3D3200%26creativeASIN%3DB00CFCNGLG%26linkCode%3Das2%26tag%3Dvastwork-23& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&机器学习:实用案例解析&/a&
》、《 &a href=&http://link.zhihu.com/?target=http%3A//www.amazon.cn/gp/product//ref%3Das_li_qf_sp_asin_il_tl%3Fie%3DUTF8%26camp%3D536%26creative%3D3200%26creativeASIN%3D%26linkCode%3Das2%26tag%3Dvastwork-23& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&集体智慧编程&/a& 》、《 &a href=&http://link.zhihu.com/?target=http%3A//www.amazon.cn/gp/product/B007N0RK80/ref%3Das_li_qf_sp_asin_il_tl%3Fie%3DUTF8%26camp%3D536%26creative%3D3200%26creativeASIN%3DB007N0RK80%26linkCode%3Das2%26tag%3Dvastwork-23& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数据挖掘:实用机器学习工具和技术&/a& 》,这些都是很好的入门书籍,推荐一篇进一步讨论这个话题的文章:《 &a href=&http://link.zhihu.com/?target=http%3A//blog.jobbole.com/56256/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&机器学习的最佳入门学习资源&/a& 》&/li&&li&相关概述视频:也可以看一些科普性质的机器学习演讲。例如: 《 &a href=&http://link.zhihu.com/?target=http%3A//videolectures.net/mlas06_mitchell_itm/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&采访Tom Mitchel&/a& 》、《 &a href=&http://link.zhihu.com/?target=https%3A//www.facebook.com/video/video.php%3Fv%3D& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Peter Norvig 在Facebook的大数据演讲&/a& 》&/li&&li&与人交谈:与机器学习领域的老手交流,问问他们是如何入门的,有什么资源值得推荐,是什么让他们对机器学习如此狂热。&/li&&li&机器学习课程101:我总结了一些关于入门的观点, &a href=&http://link.zhihu.com/?target=http%3A//machinelearningmastery.com/machine-learning-101/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《为初学者准备的机器学习课程101》&/a& ,如果你喜欢可以看一看。&/li&&/ul&&p&特别是《集体智慧编程》对做具体开发的意义比较大,主要以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-59da798f9feda20d397c8015_b.jpg& data-rawwidth=&255& data-rawheight=&334& class=&content_image& width=&255&&&/figure&&a href=&http://link.zhihu.com/?target=https%3A//book.douban.com/subject/3288908/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&集体智慧编程 (豆瓣)&/a&&br&&p&如果有时间的也可以多看看机器学习的应用案例,推荐《机器学习实用案例解析》又名《Machine Learning for Hackers》,全书案例既有分类问题,也有回归问题;既包含监督学习,也涵盖无监督学习。本书讨论的案例从分类讲到回归,然后讨论了聚类、降维、最优化问题等。这些案例包括分类:垃圾邮件识别,排序:智能收件箱,回归模型:预测网页访问量,正则化:文本回归,最优化:密码破解,无监督学习:构建股票市场指数,空间相似度:用投票记录对美国参议员聚类,推荐系统:给用户推荐R语言包,社交网络分析:在Twitter上感兴趣的人,模型比较:给你的问题找到最佳算法。各章对原理的叙述力求概念清晰、表达准确,突出理论联系实际,富有启发性,易于理解。在探索这些案例的过程中用到的基本工具就是R统计编程语言。R语言非常适合用于机器学习的案例研究,因为它是一种用于数据分析的高水平、功能性脚本语言。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-dea93be1c69ddee237d5_b.jpg& data-rawwidth=&318& data-rawheight=&417& class=&content_image& width=&318&&&/figure&&a href=&http://link.zhihu.com/?target=https%3A//book.douban.com/subject//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&机器学习 (豆瓣)&/a&&br&&p&这两本书都推荐可以阅读下,网上也都有相关的案例代码。&/p&&p&&b&视频课程&/b&&/p&&p&视频方面我比较推荐网易云上的斯坦福的公开课,比较偏重理论&/p&&a href=&http://link.zhihu.com/?target=http%3A//open.163.com/special/opencourse/machinelearning.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&open.163.com/special/op&/span&&span class=&invisible&&encourse/machinelearning.html&/span&&span class=&ellipsis&&&/span&&/a&&br&&p&还有个百度技术总监的课程&/p&&a href=&http://link.zhihu.com/?target=http%3A//wenku.baidu.com/course/view/49e8b8f67c1cfad& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&wenku.baidu.com/course/&/span&&span class=&invisible&&view/49e8b8f67c1cfad&/span&&span class=&ellipsis&&&/span&&/a&&br&&p&都是免费的比较有意义的课程。&/p&&p&&b&关于技能&/b&&/p&&p&我是做数据挖掘的,所以&strong&重点讲一下数据挖掘方面的技能。&/strong&身边基本都是学数学专业的,接触数学比较多。数据挖掘要从海量数据中发现规律,这就需要一定的数学知识,最基本的比如&strong&线性代数、高等代数、凸优化、概率论&/strong&等。&/p&&p&举个栗子,比如朴素贝叶斯算法需要概率方面的知识,SKM算法需要高等代数或者区间论方面的知识。当然,你可以直接套模型,R、Python这些工具有现成的算法包,可以直接套用。但&strong&如果你想深入学习这些算法,最好去学习一些数学知识,也会让你以后的路走得更顺畅。&/strong&&/p&&p&&strong&我们经常会用到的语言包括Python、Java、C或者C++,我自己用Python或者Java比较多。&/strong&有时用MapReduce写程序,再用Hadoop或者Hyp来处理数据,如果用Python的话会和Spark相结合。&/p&&p&也经常会用到数据库统计SQL语言。&/p&&p&技术能力相对来说是比较好提高的,学R或者Python这类简单的语言是很快的,Java或者C++会比较慢。当技术能力提高到一定程度的时候,就很难跟别人有技术上的差别了。可能工作一年的时候你只会R,等两三年之后相关的工具技术你都会了,这个时候你跟其他同事的区别就在于业务能力。&br&&/p&&p&&b&关于面试&/b&&/p&&p&分享个学妹的经历:&/p&&blockquote&&p&讲个小故事,当时想转数据挖掘的时候,我不知道是选择Java还是C++。当时我投了很多数据挖掘岗位,我知道面试通过的可能性不大,但我就跟面试官聊天,请教经验。我说自己是数学专业毕业的,想要转做数据挖掘工程师,需要掌握哪些能力。面试官就画了一个图说,一个圆代表数学,一个圆代表计算机,我们需要的就是两个圆交叉的部分,如果编程语言求快的话可以先学Java;我接着问他需要看哪些资料等等,我们聊了差不多一个小时。其实很多老人带新人是很乐于分享的,多看前人的经验,帮助自己成长,一定会在这个行业有所收获。&/p&&/blockquote&&p&一般如果你有相关的经验或者理解,都可以尝试的去面试,特别是在你刚入行的时候。面试的次数多了,你也就了解这个岗位都是干嘛的了。&/p&&p&&b&关于公司&/b&&/p&&p&大公司当然是最好的。大公司一般走校招,如果你通过校招进了大公司,但是非核心的岗位,比如百度搜索方面的挖掘,当然是最好的,如果进入不了这样的岗位,不如去一些新发展起来的公司,比如美团、滴滴,这样的公司有一定的数据量,也会有一些比较强的人。&/p&&p&第三类公司是创业公司。如果是刚毕业最好不要选创业公司,风险比较大。你比较难以从表面上判断这家公司能不能存活下来,有没有牛人值得跟。而一些二线公司的业务骨干大多是从BAT过来的,具有比较丰富经验,跟着他们学习能让自己快速成长。&/p&&p&&b&关于发展&/b&&/p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(1):总结职业 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(4):Netflix机器学习系统的构建经验 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(9):今日头条的个性化推荐 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(10):大众点评的实时计算 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(11):网易云音乐的个性化推荐漫谈 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(12):贝贝网的机器学习实现 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(16):Facebook内容排序算法研究 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(17):新浪微博的排序推荐算法 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(18):走进Facebook公司内部,动态消息算法揭秘 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&晓曼分享:机器学习几个基本的问题 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(19):视频网站个性化推荐Hulu&土豆 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(21):1号店的个性化推荐平台 - 知乎专栏&/a&&br&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&数据挖掘系列篇(22):一淘的个性化搜索技术 - 知乎专栏&/a&&br&&p&&b&关于交流&/b&&/p&&p&QQ&微信都有不少做这块的。&/p&
经常博主会受到很多同学的私信,有很多问题都基本是和职场发展、技术成长、职业转型相关的重复问题。特别是有很多关于想转型学数据挖掘、机器学习的开发同学,应该来说对于有技术背景的同学来说入手做数据相关的工作相对而言会简单点,可是事实上真的是如此…
&figure&&img src=&https://pic2.zhimg.com/v2-dcd1b23f17fc33f21ed39bab_b.jpg& data-rawwidth=&600& data-rawheight=&329& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic2.zhimg.com/v2-dcd1b23f17fc33f21ed39bab_r.jpg&&&/figure&&blockquote&&p&比起写业务代码更不幸的是,主要工作是修 Bug,bug,buG, bUg。&/p&&/blockquote&&p&在一家大的公司里,不同的人总会有不同的运气:&/p&&ul&&li&&p&运气好的人遇上一个好的项目,升职加薪,从此就走上了人生的巅峰。&/p&&/li&&li&&p&运气差的人摊上一个差的项目,升不了职,少加了薪,并且还获得不了技术成长。&/p&&/li&&/ul&&p&我刚毕业那会儿,所在团队的主要工作是,维护一个『又老又旧』的系统。比起写业务代码更不幸的是,我们的主要工作是修 Bug,bug,buG, bUg。&/p&&p&那一年多里,尽管都是维护旧系统和少量的新需求,我们还是在飞速的成长~~。而来源主要是:&/p&&ul&&li&&p&&strong&组内技术活动&/strong&&/p&&/li&&li&&p&&strong&花时间投入练习&/strong&&/p&&/li&&li&&p&&strong&假想项目的重构&/strong&&/p&&/li&&/ul&&p&当你在有限的条件下,还能做出一定的成绩,到底还是相当有成就感的。&/p&&br&&p&只修 Bug 是怎样的一种体验&/p&&figure&&img src=&https://pic1.zhimg.com/v2-de9ab84dd1f49c_b.jpg& data-rawwidth=&1000& data-rawheight=&667& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic1.zhimg.com/v2-de9ab84dd1f49c_r.jpg&&&/figure&&br&&p&在这样的项目里:&/p&&ul&&li&&p&工作一个月时,你打开 Backlog,看看需求卡,发现那张需要三个人天的卡,好像会更有挑战一些。&/p&&/li&&li&&p&工作两个月时:你打开 Backlog,看看需求卡,发现完成这卡只是时间问题。&/p&&/li&&li&&p&工作三个月时:你打开 Backlog,看看需求卡,发现清清楚楚地知道修改哪一行。&/p&&/li&&/ul&&p&有一天,业务人员来了一个新的需求。虽然只是加上一个新的导航,但是你总会小开心一会儿。&/p&&p&可你来到这样的项目时,你总会想着离开,向自己的 Buddy、PM 、Sponsor 诉说。可惜,你只是一个毕业生,太年轻了。对于你来说有挑战性的项目,不会考虑要你的。在你的感觉里,那种『自己是大公司的轮子』的感觉就特别强烈。多你一个不多,少你一个不少。你走了也不会影响这个项目,毕竟招一个人来修 bug,还是蛮轻松的。因此,这个项目走了一个又一个技术好的人,却也来不了一个 senior 的人。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-dcd1b23f17fc33f21ed39bab_b.jpg& data-rawwidth=&600& data-rawheight=&329& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic4.zhimg.com/v2-dcd1b23f17fc33f21ed39bab_r.jpg&&&/figure&&p&时间一久,每个人都充满了危机感。我们总是担心:&strong&当你换到另外一个项目的时候,别的项目 PM 会考虑你么&/strong&——因为你是来自这个没有挑战性的项目。这个时候,你已经无路可走了,&strong&你必须去提高你自己&/strong&。&/p&&p&当别人救不了你的时候,你只能自救。当别人救不了你们的时候,你们也只能自救。幸运的是,我们当时还有足够的时间,可以提高项目组的水平。于是,我们对组织了&strong&各种的组内技术分享、workshop、培训等等&/strong&。&/p&&p&当你有强烈的改变意识的时候,那么事件就会变得很简单。真正可怕的是温水煮青蛙式的,而当你面对的是温水,你总会不断尝试去离开。&/p&&h2&组内技术活动&/h2&&p&当你们项目无聊的时候,总会空余一些时间。上进一点,就会创造一些学习的条件。有了条件,那么剩下的就是靠人为了。&/p&&p&于是乎,我们在每周挑取了两个时间,做一些技术的事情。包含了下面的一些内容:&/p&&ul&&li&&p&技术分享。&/p&&/li&&li&&p&workshop。&/p&&/li&&li&&p&kata。&/p&&/li&&/ul&&p&不同的活动都有不同的目的,有的可以提高演讲者的技术能力,有的则是可以一起提升能力。下面就让我们详细了解一下不同的活动。&/p&&br&&h3&&strong&技术分享&/strong&&/h3&&figure&&img src=&https://pic2.zhimg.com/v2-9566418efeff8af9405e61_b.jpg& data-rawwidth=&1500& data-rawheight=&1000& class=&origin_image zh-lightbox-thumb& width=&1500& data-original=&https://pic2.zhimg.com/v2-9566418efeff8af9405e61_r.jpg&&&/figure&&p&想必大家都已经知道这个是什么了~~。当时的情况,大概是我们七个人里,每周会有两次技术分享。分享的主题会比较广泛:&/p&&p&&strong&你最近在玩的技术栈&/strong&。当你们所用的项目技术栈,比较老旧的时候,就想不断地去尝试新的技术。在工作之外,便会去玩一些『新鲜』的技术栈(坑)。它就像是一股清流,即使不能帮你清除旧的污水,也能让人们看到一丝希望。而且除了能提升团队的视野,还可以将之视为替换现有架构的探索。&/p&&br&&p&&strong&项目相关的技术及业务&/strong&。在没有结对编程的项目里,共享知识对于团队来说是一个头疼的问题,而技术分享就是最简单的方式。不过,对于新人来说,&strong&让他们做相关的技术分享才是最好的方式。&/strong&这也视作为我们对新人的考察:&/p&&ul&&li&&p&对于项目的了解程度&/p&&/li&&li&&p&找到缺少的相关知识&/p&&/li&&li&&p&培养新人的表达能力&/p&&/li&&/ul&&p&在项目上,这几乎是每个新人都会经历的一个分享~~。&/p&&p&&strong&特定主题的技术分享&/strong&。即,我们限定好一个大的主题,每个人挑选一个特定的主题来分享,它可以人为地提高整个组在某一领域的水平。当时我们做过 SOLID、设计模式、前端相关等特定主题的分享——每个人挑选设计模式中的一个模式,然后做相关的技术分享。当你做分享的时候,你对这模式就比较了解;而别人做分享的时候,也能引发你的思考。由于这些主题之间的相关性比较强,它可以加深对这一领域的印象。&/p&&p&&strong&其他杂七杂八的内容&/strong&。过多的技术分享,可能会导致大家精疲力尽,因此就会有一些技术之外的分享。比如,你喜欢的各种动漫啊、知乎上流行的程序员女装啊等等。&/p&&p&而就效果来说,技术分享对于分享者的能力提升比较大,听众则是知道有这个东西,启发性一般都会比较少。如果是针对于提升能力来说,应该采用 workshop 等方式。&/p&&br&&h3&&strong&workshop&/strong&&/h3&&figure&&img src=&https://pic3.zhimg.com/v2-c5ab1730dac7d5f6fcdbe_b.png& data-rawwidth=&981& data-rawheight=&303& class=&origin_image zh-lightbox-thumb& width=&981& data-original=&https://pic3.zhimg.com/v2-c5ab1730dac7d5f6fcdbe_r.jpg&&&/figure&&p&当项目上要采用一个新的技术栈时,仅仅中是一个技术分享是不能解决问题的,你还需要有 workshop 这样的东西。比如你们将在新的项目里引入 Next.js,那么这个时候就需要有一个 Next.js Workshop。由组织者来规划每一步的内容,第一步做什么,第二步做什么,等等。参与者则是单独或者结对的形式,按照组织者的步骤一步步往下来做相关的技术练习。比如在 workshop 开始前,先 clone 并搭建好基础代码(hello, world)。开始的时候,便是先实现一个简单的 header,然后是添加样式等等。&br&&/p&&p&也因此在这样的 workshop 里,我们不仅可以听过相关技术栈的知识,也能掌握一些相关技术栈的具体实践。&/p&&h3&&strong&kata&/strong&&/h3&&p&一种编程练习方式,针对某个题目反复进行操练,达到熟能生巧的目的。简单的来说,就是你一直练习某一个特别的东西,直到你习惯了。比如,对于 TDD(测试驱动开发,先写测试,并由测试驱动出功能) 的练习。&/p&&p&在平时工作的时候,我们不会总是习惯于 TDD 的流程:测试 -& 实现 -& 重构。特别是,当你的卡就要被打包到新的 Release 包时,&strong&先实现总是会保证交付的&/strong&。又或者是,当你对代码库特别熟悉的时候,你可能两三分钟就改完代码,然后去喝咖啡,再回来花个十几分钟写一个测试。而当你不熟悉 TDD 的时候,你更不会采用这种方式,你会的可能就是 Test First。为了将 TDD 的思维融入你的想法里, 你就需要大量的这种练习~~。&/p&&p&在这个时候,我们就需要严格的按照步骤,一步步往下执行。以便于在将来,我们可以严格的按照这些步骤来执行。&/p&&p&除此,还有一种方式可以做,只是我们没有在这个项目里实施。&/p&&h3&&strong&dojo&/strong&&/h3&&p&dojo,(日语:道场)。在西方世界,dōjō 一词主要指的是一个专门针对日本武术的训练场所。在敏捷团队里,Dojo 的进行方式比较『诡异』,也比较有意思。&/p&&p&如果你了解过结对编程的话,可能就会对两个人的结对过程比较感兴趣。按我的理解,结对编程存在着三种不同的阶段:teaching(引入门),driver-navigator(有经验与新手),结对(有经验与有经验)。即在实现功能的时候,两个人会轮流写测试和实现功能——你先写测试,我实现功能,然后换角色。而 Dojo 就是一堆人在轮流写代码:&/p&&p&即在有限的时间里,每个人上去实现同一功能的代码。&/p&&p&如,A 实现了测试,B 上去实现业务,C 上来重构。D 上来看了看,你们写的代码都是 xx,于是 Revert 之前写的代码。可惜 D 的时间也只有七分钟,所以 E 上来 Revert Revert。。。&/p&&p&笑~~&/p&&h2&花时间投入练习&/h2&&p&限于之前已经有相当多的文章,介绍练习相关的技巧,如:&/p&&ul&&li&&p&《&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMjM5Mjg4NDMwMA%3D%3D%26mid%3Didx%3D1%26sn%3Da68b9b1c37b3e7b3f3fa140d%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub连击500天:让理想的编程成为习惯&/a&》&/p&&/li&&li&&p&《&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMjM5Mjg4NDMwMA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dbaeec28e0af83bd1bscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&关于编程,你的练习是不是有效的?&/a&》&br&&/p&&/li&&li&&p&《&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMjM5Mjg4NDMwMA%3D%3D%26mid%3D%26idx%3D2%26sn%3Dff167c628bbccb%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的成长四步曲&/a&》&/p&&/li&&li&&p&《&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMjM5Mjg4NDMwMA%3D%3D%26mid%3D%26idx%3D1%26sn%3Da499fae3d1fa8scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我并不聪明,只是多练习和思考&/a&》&/p&&/li&&/ul&&p&这里就先略过去了~~,有兴趣的读者可以阅读上面的内容。&/p&&br&&h2&假想项目的重构&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-6eee0852b9_b.png& data-rawwidth=&717& data-rawheight=&325& class=&origin_image zh-lightbox-thumb& width=&717& data-original=&https://pic2.zhimg.com/v2-6eee0852b9_r.jpg&&&/figure&&p&哈哈,如果你觉得你的项目技术栈老旧,那么你一定在脑子里使用了 N 种技术栈,对他们进行重构了。并且当你有一些时间可以分配到上面,如下班前的一个小时时间,又或者黑客马拉松等等。那么,你一定会开始去做这样的事。&/p&&p&与上面的技术活动相比,这是一个对于业务(我的意思是,对于公司来说)更有价值,并且更容易说服别人的方式。&/p&&ol&&li&&p&&strong&学习别的项目的技术栈,然后将之应用到现有的系统上。&/strong&&/p&&/li&&li&&p&&strong&使用一个新的技术栈练习, 以此作为技术支撑,在未来替换现有的系统。&/strong&&/p&&/li&&/ol&&p&由于我们与其他项目大组的业务是相似的,并且他们的团队规模差不多是我们的 10 倍。当某个新的应用完成后,我们要做的便是:&strong&fork from xx&/strong&,将改吧改吧,应用到我们现有的模式上。&/p&&p&这个时候就有问题了,一般这些新的项目都会采用最新的技术栈。在正式引入项目之前,我们都是要学习这些技能,并配合业务做一些修改。也因此,我习惯性的将这种项目视为修改 bug、bUg、Bug。&/p&&p&后来,我们突然有机会弯道超车了,我们可以先重构某一部分系统。『因为已经做好相关的技术积累,并没有遇上一些太大的问题』。只是我们实施一半的时候,就发生了一些意外~~。后来的后来,这个项目“到期结束”了~~&/p&&figure&&img src=&https://pic2.zhimg.com/v2-9a9c6a5fc5a87a_b.png& data-rawwidth=&730& data-rawheight=&410& class=&origin_image zh-lightbox-thumb& width=&730& data-original=&https://pic2.zhimg.com/v2-9a9c6a5fc5a87a_r.jpg&&&/figure&&br&&p&现在是 2017 年,当你的项目还在使用旧的 jQuery + Backbone,又或者是 Angular 1.x。并且你们觉得他们有一些问题,这些问题采用一些新的框架,如 Angular 2,又或者是 React 能解决这个问题的话。这个时候,我们就可以尝试去学习新的技术栈,并验证它的可行性。当有一天,你们需要去重构现有系统的时候,你拿出的直接是一个可行性的 Demo,而不仅仅是一个理论上的东西。&/p&&p&当时我们的项目想替换掉旧的搜索引擎,我们先是用 Solr 实现了一遍 DEMO,又用 ElasticSearch 做了一遍 DEMO。同时,我们也在计划替换应用部分的功能,我们先用 React 实现了一遍 DEMO,又尝试用生态纯静态的方式玩了一遍。。。生命可贵,可以多玩就多玩一些吧。&/p&&h2&小结&/h2&&p&所以,你是因为加班呢,还是因为加班,才没有时间学习???&/p&
比起写业务代码更不幸的是,主要工作是修 Bug,bug,buG, bUg。在一家大的公司里,不同的人总会有不同的运气:运气好的人遇上一个好的项目,升职加薪,从此就走上了人生的巅峰。运气差的人摊上一个差的项目,升不了职,少加了薪,并且还获得不了技术成长。…
&figure&&img src=&https://pic3.zhimg.com/v2-00eb9c0dff3c5be5feedd_b.jpg& data-rawwidth=&1642& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1642& data-original=&https://pic3.zhimg.com/v2-00eb9c0dff3c5be5feedd_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-af1f70cd4ab021_b.png& data-rawwidth=&640& data-rawheight=&256& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-af1f70cd4ab021_r.jpg&&&/figure&&br&&p&3 年经验的大厂程序员,是 HR 眼中的香饽饽,本应在招聘市场上受到追捧,然而,最近我发现一名履历不错的程序员,跳槽时未能通过技术面,此反常结果令我感到疑惑。&/p&&br&&p&在与他交谈后,我又与多名相似履历的程序员进行沟通,发现不少 3 年工作经验的大厂程序员,会因技术瓶颈陷入职业困境中。&/p&&br&&p&观察数名程序员所陈述的焦虑表现无非是:失去了主动学习的热情,不再刻苦钻研技术,长时间消息闭塞,对新技术、新领域不了解。&/p&&br&&p&他们处在自信与焦虑的挣扎点,一方面对现有工作得心应手,另一方面又找不到技术和职场的突破口。当程序员们技术处在瓶颈期时,自然会恐慌:无论资本处在狂热还是寒冬,无法成长的人,注定是竞争中的牺牲品。&/p&&br&&p&我认为,他们患上了「大厂通病」。&/p&&br&&br&&h2&&b&大厂通病:3 年时遇见技术瓶颈&/b&&/h2&&br&&p&技术瓶颈的外在表现,往往源于内因。根据候选人们的表述,无法提升的内因如下:&/p&&br&&p&1)成为熟练工种后,不再尝试挑战&/p&&p&2)大厂加班过多导致缺乏个人思考时间&/p&&p&3)精力过于分散,无法集中精力做编程&/p&&br&&p&然而,细究所谓「大厂通病」,我们难以认同这些「内因」,它们更像是借口,也形成悖论:熟练工种会认为工作无压力,真正觉得工作轻松的人,会常无效加班、精力易分散吗?&/p&&br&&p&让我们分别分析「内因」背后的「借口」是什么。&/p&&br&&br&&p&&b&借口一 : 成为熟练工种后,不再尝试挑战&/b&&/p&&br&&p&很多出现技术瓶颈的大厂程序员表示:他们技术提升最快速都在工作第一年,会花费大量时间钻研与学习。理由无非有二:1. 刚毕业具有冲劲和好奇心 2. 工作对于新人难度大,会在磨练中成长。&/p&&br&&p&当技能逐渐熟练,解决工作内容显得得心应手时,他们会失去好奇心,失去压迫感,从而满足现状:放低自身要求,认为编程技术在满足开发软件需求情况下,编出来就行,如果要达到更苛刻标准,纯看上司要求,或自身兴趣,无奈他们已然没了兴趣。&/p&&br&&blockquote&&b&拆穿借口:&/b&熟练是伪装外皮,无危机感、无上升意识是本质。他们最大问题在于:技术仍停留在一两年前,没有所谓 3 年工作经验,错将重复性操作当作技能经验。&/blockquote&&br&&p&&b&借口二 :大厂加班过多导致缺乏个人思考时间&/b&&/p&&br&&p&一名 4 年工作经验的 Java 候选人,正在 100offer 看机会,如今有份 A 厂的 offer 摆在他面前,leader 虽认可他的技术基础能力和业务理解能力,但仍在观望中,offer 还未给到我们的候选人,深究原因,令人深思——&/p&&br&&p&A 厂目前在布局大数据,需要大量人才,在缺少 Scala 工程师的前提下,A 厂会需要 Java 工程师来做大数据工作。该候选人表示:首先,这与他现在做的 SDN 开发有太大出入,其次,他虽然有 4 年 Java 经验,但大厂通常爱加班,导致他几乎没有个人时间,从而渐渐失去了解新领域、新技术的精力和兴趣,对于大数据崛起也只是略有耳闻。&/p&&br&&p&认为加班使得个人成长停滞不前的人不止他一个人,骇人听闻的 996、周末轮班工作等制度,会让他们精力过多被消耗,对待工作稍显应付,回到家中也无暇思考。&/p&&br&&blockquote&&b&拆穿借口:&/b&不关注外界信息和加班多无必然联系,并且,问题在于,他们自身成长速度完全取决于其工作内容的强度和难度,当工龄久了,工作只有加班强度,没有技术难度,成长便会停滞。&/blockquote&&br&&p&&b&借口三 :精力过于分散,无法集中精力做编程&/b&&/p&&br&&p&某 F 轮后 O2O 大厂的 Java 候选人,正在准备寻求新机会,问他为何选择离开前景大好的公司时,他和我们描述了两个原因。&/p&&br&&p&第一,该公司盈利重点处在转型期,餐饮、金融、物流都打算发力,战略转型使得各部门资源都不足,打法显得混乱,甚至有争夺资源产生内耗的现象。身为基层技术 leader 的他,渐渐感觉精力过于消耗。&/p&&br&&p&第二,新任领导的管理风格更让他不满,作为中间层的技术管理,大部分时间和精力都浪费在了上下级的沟通中,至于技术,很早以前就处于停滞不前的状态了。&/p&&br&&p&不止他一人有以上烦恼,3 年工作经验的程序员,不会再只做编程,还会参与到软件设计、项目管理、与用户或领导沟通中,精力难以集中。如果遇上公司转型期或动荡期,更会分身乏力,导致无论是主动学习还是钻研技术上,都失去热情。&/p&&br&&blockquote&&b&拆穿借口:&/b&不需要沟通的技术人员根本不存在,合理利用精力用于沟通,是用技术解决问题的快捷方式之一。&/blockquote&&br&&p&我并不是否认以上三点「大厂通病」不存在,的确是多数3年工作经验大厂程序员的共有困惑,但是,撕下借口的伪装,从逼迫自己改变开始,才是正解。&/p&&br&&br&&h2&&b&如何解决「大厂通病」所带来的技术瓶颈?&/b&&/h2&&br&&p&扔掉借口从改变环境做起,跳槽 or 转岗?无论怎么选,都是逼迫自己改变的开始,陷在悖论中倒不如去打破僵局,打破的方法,我从以下两点来深究。&/p&&br&&p&&b&1. 熟练工?加班多?是你太舒适了&/b&&/p&&br&&p&我近期重点跟进了一名架构师候选人,他 6 年工作经验、跳槽前年薪 64 万、持 15 万股票,纵观他职业发展路径,除去第一家公司,后三家公司皆为大厂,他在 3 年工作经验时,未遇见所谓的「大厂通病」,更没有技术瓶颈。&/p&&br&&p&首先,来看该候选人在 3 年经验的工作内容:&/p&&br&&p&1)承担工作为数据团队前端开发(各种 js 编写,熟悉 jquery,extjs 等常用框架及原生 js)&/p&&p&2)报表工具制作(主要适用技术是 extjs / finereport / jfreechart)&/p&&p&3)日常分析任务(mapreduce / hive)&/p&&p&4)调度系统的维护和某项目开发(前端+后端 jsp+struts2+hbase+redis+mysql+hadoop)&/p&&p&5)分析团队的定时任务的管理&/p&&br&&p&对 3 年工作经验的程序员来说,以上工作并不轻松。他在接受 100offer 采访时表明,他会先注重个人的输入,每日阅读两小时技术书籍,每周都研究源码,之后,他更看重他的有效工作,即具有创造性的输出,重复性代码是不会带来实际性成长。&/p&&br&&p&在他发现开始做大量重复性代码、无法通过工作内容上升技术时,他选择了跳槽。&/p&&br&&p&跳槽后,他在中间件团队工作,中间件是独立系统软件,分布式应用软件能借助该软件在不同技术间共享资源,他认为那是他「创造性输出」的最好时机,他负责了基础组件开发,主要是可靠消息系统 qmq 和异步 redis 客户端,参与研发任务调度系统,做了类鹰眼的 trace 系统、dubbo 服务化工程、监控系统等。&/p&&br&&p&通过他的案例,能够察觉:实践始终是源于理论又高于理论的,不难发现,所谓「熟练工」、「加班多」仅是个人借口,要做的,是远离舒适区,逼迫自己成长。&/p&&br&&p&&b&首先,请发挥主观能动性,做出改变。&/b&我给出以下两点建议——&/p&&br&&p&1)多次检阅基础知识,将有效技能掌握牢固,把各类基础知识串联成完整体系。技术不可满足现状,懂得把编程技术从功能实现转向软件构架、参数化设计等高阶方面,在共享、通用、标准化方面有所建树。&/p&&br&&p&2)当你觉得自己了不起时,多看源码,多研究源码,不少所谓 3 年经验的程序员,根本没达到熟练程度,研究源码,会发现太多不足。Java 学得精深的人,可以横向去了解 Scala,看看Java 有哪些局限;或者纵向的去深入钻研底层的 JVM,如果在学习新技能时感到吃力,你便知:你并未了解自己,你实力仍处于普通阶段。&/p&&br&&p&&b&如果你缺乏自制力,再考虑换离环境。&/b&回想你为何初入职场时能快速提升?是因为新手期的你确实在技术上缺乏太多,所以愿意在工作中快速学习。同理,当你转岗或跳槽后,会面临新的挑战,从而逼迫自身成长。&/p&&br&&p&&b&2.精力被分散?你得先弄清楚技术究竟是干嘛的&/b&&/p&&br&&p&技术是用来解决问题的。很多大厂程序员都认为唯有技术才是实力的体现,这是很大的误区。当你不懂与同事沟通、不懂如何推进工作,你磨练的技术也解决不了问题。&/p&&br&&p&编程技术只占到工作能力的 40%,客观分析自己劣势所在,有时并不是外界分散了你的精力,导致无法专心技术,而是自身根本没有理解技术和工作的关系。&/p&&br&&p&&b&首先,从主观上解决沟通所带来的精力分散问题。&/b&&/p&&br&&p&&b&1)时间管理。&/b&沟通是有技巧的,学会分配沟通时间,无论是与上司、同事、下级还是用户,都在沟通前预约好沟通时间,在不是真正紧急的情况下,他人打断你的工作思路,你可以合理表示拒绝,选择预约其它时间交流。&/p&&br&&p&&b&2)表达清楚更重要。&/b&《计算机程序的结构与解释》一书说:程序写出来是给人看的,附带能在机器上运行。写代码其实是书面沟通的另一种表现方式。技术成长到一定程度,多数人都会到达无法增长的天花板区域,决定初级程序员和优秀程序员的关键点,不是他们会多少类编程语言,也不是他们 C++、Go、PHP 用得更厉害,而是表达清楚想法,让他人协助他高质量完成工作内容,通过思路完整的技术文档,让其他程序员能读懂,通过逻辑清晰的沟通,让产品、设计也能够接受,不必让代码重新再写一遍。&/p&&br&&p&附赠一句卡耐基的名言:一个人的成功,约有 15% 取决于知识和技能,85% 取决于沟通——发表自己意见的能力和激发他人热忱的能力。&/p&&br&&p&&b&其次,如果完全是外界的原因,你的选择依旧是:换环境。&/b&&/p&&br&&p&当公司不能让你的能力提升时,离开是好的选择,优秀的公司自然会让员工也随之提升,实现个人价值,才会进一步实现共同价值。&/p&&br&&p&换环境无非是转岗或者跳槽。如果你在公司内部转岗,会给你带来技术广度,在工作中主动吸收新技能的知识。选择跳槽则有两个可能性:1.换领域,依旧是增加广度。2.同一领域,增强工作压力,这是深度的体现。&/p&&br&&p&我给出一点建议:同一领域下的深耕经营,会有更远发展,即便是细分领域,也不会影响你在技术上的知识广度。&/p&&br&&p&&b&100offer说&/b&&/p&&br&&p&「大厂通病」给程序员所带来的技术瓶颈必然存在,但面对问题时,更多人是拿所谓「通病」当挡箭牌,缺乏主观能动性。&/p&&br&&p&如果做不到主动改变,那么,患了「大厂通病」的程序员们,你该考虑考虑转岗或跳槽,逼迫自己成长,也是一剂良药。&/p&&br&&br&&p&更多热门职位相关文章:&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzA5NzkxMzkwNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D00b9d93dcdf58d7d2acb2de%26chksm%3Dbff6d9d6c36c1c281e2eab357bd1cb7e91bc3a64e6debf31%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&前几年不温不火的 Java 为何突然在 2016 年分外抢手?&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzA5NzkxMzkwNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D68f6aec40f13b9cfc9dfa9f961e9f901%26chksm%3Dbff6d91f2dffd3e02b96ebef7f%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&从技术 Leader 的招聘需求看,如何转岗为当前紧缺的大数据相关人才&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzA5NzkxMzkwNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D447e6c680115efc5645bdb01bfchksm%3Dbff6d90e19ee8ec724cec5f5fa732fdaa0dd373adca4d8dfef7c05123c%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&35岁以后的大龄程序员,正处于怎样一种状态?&/a&&/p&&br&&p&2016年度薪资报告:&/p&&br&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzA5NzkxMzkwNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3Db56a5f64d7a2d%26chksm%3D8881509bbff6d98d8a1e852db97ef45b23e30c2fbcb9bfbb714be88a%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&资本寒冬?2016年互联网人年薪仍上涨17%&/a&&/p&
3 年经验的大厂程序员,是 HR 眼中的香饽饽,本应在招聘市场上受到追捧,然而,最近我发现一名履历不错的程序员,跳槽时未能通过技术面,此反常结果令我感到疑惑。 在与他交谈后,我又与多名相似履历的程序员进行沟通,发现不少 3 年工作经验的大厂程序员,…
&p&哇,一晚没开知乎发现这么多赞,感谢大家。&/p&&p&问题都是从&a href=&https://www.zhihu.com/topic//top-answers& class=&internal&&「根话题」 - 话题精华 - 知乎&/a& 来的,然后写了个小小爬虫爬下来的。&/p&&p&------------------------------------------------------------&/p&&p&原链接是到问题的,做了一点修改,保证链接点进去就是那个高赞回答&/p&&p&另一个收藏top100的回答:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何找到知乎上被收藏最多的 100 个回答?&/a&&/p&&p&------------------------------------------------------------&/p&&p&这个问题很久没人答了,放一个赞数TOP100吧&/p&&p&------------------------------------------------------------&/p&&p&TOP1 | 134751 @肥肥猫 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&哪些素质很重要,却是读书学不来的? &/a& &/p&&p&TOP2 | 127896 @庄力 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些很重要又被忽视的炒菜技巧? &/a& &/p&&p&TOP3 | 126616 @Jee Xin &a href=&https://www.zhihu.com/question//answer/& class=&internal&&想要充实自己,有哪10本书和10部电影值得推荐? &/a& &/p&&p&TOP4 | 97803 @朱炫 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&要怎样努力,才能成为很厉害的人? &/a& &/p&&p&TOP5 | 97241 @匿名用户 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何看待「医生拒绝给艾滋病人做手术」? &/a& &/p&&p&TOP6 | 89226 @Seasee Youl &a href=&https://www.zhihu.com/question//answer/& class=&internal&&思念到极致是什么感觉? &/a& &/p&&p&TOP7 | 88467 @夏目 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些好看的高智商悬疑电影? &/a& &/p&&p&TOP8 | 87805 @白诗诗 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何长时间高效学习? &/a& &/p&&p&TOP9 | 87139 @蛇先生 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&被蟒蛇盯上了,如何保命? &/a& &/p&&p&TOP10 | 85881 @王不二 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&历史上有哪些成就颇高但鲜为人知的人? &/a& &/p&&p&TOP11 | 83752 @倪一宁 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&好朋友之间是如何变淡的? &/a& &/p&&p&TOP12 | 81677 @大树下的小孩子 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&人截肢了以后会有什么感觉? &/a& &/p&&p&TOP13 | 81058 @梦尧 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&体质极差的人如何从头开始恢复身体素质? &/a& &/p&&p&TOP14 | 80717 @闻佳 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&淘宝上有哪些网购美食? &/a& &/p&&p&TOP15 | 77081 @秦月明 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些外行人看来很蠢的设计实际上却是精妙无比? &/a& &/p&&p&TOP16 | 75474 @匿名用户 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&让你感到最憋屈的事是什么? &/a& &/p&&p&TOP17 | 74011 @夏小正 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些必备的知识技能? &/a& &/p&&p&TOP18 | 72390 @刘志国 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&《不能说的秘密》是部好电影吗? &/a& &/p&&p&TOP19 | 71818 @小约翰 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&谁是 2016 年的演技最差的男星? &/a& &/p&&p&TOP20 | 70807 @天奇 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&吃的方式是否具备教养内涵? &/a& &/p&&p&TOP21 | 70268 @肥肥猫 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&就 2015 年初而言,国人的审美大体处于一个什么样的水平? &/a& &/p&&p&TOP22 | 70048 @无色方糖 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你写过或者听过哪些「魔性」的故事? &/a& &/p&&p&TOP23 | 68995 @程浩 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你觉得自己厉害在哪里? &/a& &/p&&p&TOP24 | 67438 @河森堡 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有文化有多可怕? &/a& &/p&&p&TOP25 | 66935 @Jun zhou &a href=&https://www.zhihu.com/question//answer/& class=&internal&&在交通工具上靠着陌生人的肩膀睡着了或是被陌生人靠着肩膀睡着了是怎样一种体验? &/a& &/p&&p&TOP26 | 66523 @寺主人 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些可以提升情商、判断力和谈话技巧的书籍? &/a& &/p&&p&TOP27 | 65957 @skiptomylou &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你有什么道理后悔没有早点知道? &/a& &/p&&p&TOP28 | 65330 @[已重置] &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有什么知识,你知道后你的世界马上就不一样了? &/a& &/p&&p&TOP29 | 64738 @田吉顺 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&医生为什么不搭理未挂号的病人? &/a& &/p&&p&TOP30 | 64106 @Hannibal Lecter &a href=&https://www.zhihu.com/question//answer/& class=&internal&&在学校门口卖铁板鱿鱼的大二女生,以后会有什么发展? &/a& &/p&&p&TOP31 | 63826 @奶牛Denny &a href=&https://www.zhihu.com/question//answer/& class=&internal&&最适合在办公室吃的零食是什么? &/a& &/p&&p&TOP32 | 63428 @仲树 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你亲身经历过哪些听起来像段子一样的故事? &/a& &/p&&p&TOP33 | 63173 @邵云蛟 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些软件堪称「神器」,却不为大众所知? &/a& &/p&&p&TOP34 | 62650 @何谦羽 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如果800个小时后发生世界大战,你最想怎么做? &/a& &/p&&p&TOP35 | 60727 @ccc zhao &a href=&https://www.zhihu.com/question//answer/& class=&internal&&男女交往中男性的核心竞争力是什么? &/a& &/p&&p&TOP36 | 60282 @匿名用户 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&现实可以有多美好? &/a& &/p&&p&TOP37 | 60030 @花吃了那女孩 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有哪些你第一眼看到就爱上的句子? &/a& &/p&&p&TOP38 | 59913 @特种作死狗 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你亲身经历过哪些听起来像段子一样的故事? &/a& &/p&&p&TOP39 | 59836 @曾加 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&日常生活中有哪些十分钟就能学会并可以终生受用的技能? &/a& &/p&&p&TOP40 | 59762 @匿名用户 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&和成熟女人谈恋爱是什么感觉? &/a& &/p&&p&TOP41 | 59596 @一笑风云过 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&长得凶是一种怎样的体验? &/a& &/p&&p&TOP42 | 59204 @era Eth &a href=&https://www.zhihu.com/question//answer/& class=&internal&&有一个妹妹是怎样一种体验? &/a& &/p&&p&TOP43 | 58840 @匿名用户 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&中国真的有很多穷人吗? &/a& &/p&&p&TOP44 | 58725 @德贝维奇 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你什么时候被狗的智商震惊了? &/a& &/p&&p&TOP45 | 58648 @周指弱 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&哪些实用的小方法、小技巧、好习惯能让人每天进步? &/a& &/p&&p&TOP46 | 58253 @彼得威 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&装逼成功是怎样一种体验? &/a& &/p&&p&TOP47 | 57627 @张英锋 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&数学里的 e 为什么叫做自然底数?是不是自然界里什么东西恰好是 e? &/a& &/p&&p&TOP48 | 57590 @Falcon Leo &a href=&https://www.zhihu.com/question//answer/& class=&internal&&低学历是否比高学历更加会赚钱? &/a& &/p&&p&TOP49 | 57214 @采铜 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你有什么相见恨晚的知识想推荐给年轻人? &/a& &/p&&p&TOP50 | 57048 @倪一宁 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&什么样的青春片才是如今国内需要的? &/a& &/p&&p&TOP51 | 56966 @魏则西 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你认为人性最大的「恶」是什么? &/a& &/p&&p&TOP52 | 56527 @刘红林 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&知道后最让你震惊的冷知识是什么? &/a& &/p&&p&TOP53 | 56426 @乐乐 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&现实中的警察像电影中那么勇猛吗? &/a& &/p&&p&TOP54 | 56252 @真知棒 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&最让你震惊的一个杀人案件是什么? &/a& &/p&&p&TOP55 | 55942 @飘叶 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&与网络卖家发生纠纷后如何出气? &/a& &/p&&p&TOP56 | 54204 @yolfilm &a href=&https://www.zhihu.com/question//answer/& class=&internal&&二十多岁该做些什么,将来才不会后悔? &/a& &/p&&p&TOP57 | 53658 @罗罔极 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&六小龄童演的孙悟空真的好吗?好在哪里? &/a& &/p&&p&TOP58 | 53220 @马力 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&女生光头是种什么体验? &/a& &/p&&p&TOP59 | 53171 @纯韦 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你听过最心酸的一句话是什么? &/a& &/p&&p&TOP60 | 53156 @壁虎 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&你经历的最让你觉得人心可怕的事是什么? &/a& &/p&&p&TOP61 | 53021 @咖喱鸡 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&福建莆田私人医院的历史是怎么样的? &/a& &/p&&p&TOP62 | 52540 @潜水的鱼 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&得知越来越多的女大学生被包养,已有的价值观开始动摇怎么办? &/a& &/p&&p&TOP63 | 52178 @白云杰 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何看待 36 岁清华毕业 IT 男马桶上猝死,死前对母亲说「太累」? &/a& &/p&&p&TOP64 | 52157 @张英锋 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&昆虫为什么不会因趋光性齐刷刷地奔向太阳? &/a& &/p&&p&TOP65 | 52155 @大儿童 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&月生活费 800 的女大学生如何在保证三餐不受影响的情况下提升自己的着装搭配和品味? &/a& &/p&&p&TOP66 | 51907 @王豖 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何布置独居小房间能惬}

我要回帖

更多关于 毒纪刀妹天赋 的文章

更多推荐

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

点击添加站长微信