干活很6,面试1脸懵?你需要知道这3点

引子

每周我家都会举行一个复盘活动,复盘自己的优点、缺点,干得好的、不好的。在复盘活动上,老公每次只能想到自己的优点,觉得自己特完美。嗯……我的角度看完全不是这样。


举个例子,他是典型的双标。如果他加班特别晚,我等他,等到他之后抱怨一句,那他就会大发雷霆。觉得自己加班这么天经地义的事情,我竟然要抱怨。如果我加班晚了,他也会大发雷霆,觉得我就是没有做好规划,事情没有做好,所以加班。实际情况是:我的技术水平绝对不比他差,工作上我帮他的事情时常有,他能帮到我的事情没有。并不存在我需要加班的事情对他来说很轻松,不需要加班就能搞定。

再举个例子:他自己会不自觉地运用煤气灯效应。他自己制定规则觉得他人要无条件遵守,以他为尊。比如如果用洗手间的时候没有把马桶盖掀起来,他也会大发雷霆,觉得这是不道德的。我自己算了算,这个马桶用的人数比例男生:女生是1:1,为什么要遵从男生的标准呢?

看到这里,大家是不是觉得我得换个老公了?可是我娘家人一致认为老公人特别好,甚至胳膊肘往外拐,让我更加好好对待老公。人家在工作中也干得不错,我见证了他所在的每一家公司,大家对他各方面都很认可。那我的描述和他人的认知是否矛盾呢?

说这个是要引出自己的今天的观点:干活很6,面试1脸懵。这里存在一个看事情的角度问题。想在面试中脱颖而出,需要知道以下这3点:

1、认知局限

2、知识不系统

3、不懂就问

认知局限

每个人都有自己的认知局限,在工作中不断成长的过程就是不断把格局撑大的过程。

来分析一下这句话:干活的时候他们会的我会,他们不会的我也会,我没遇到过技术栈看看也可以搞定,面试一问一脸懵

从这句话可以看出这个朋友学习能力很强,很聪明。再来看一下软件工程师职称评定的级别及标准:

一、见习程序员(AP:assistant programmer) 

  1. 计算机相关专业毕业;英语通过国家四级。 

  2. 具有较强的学习能力,可以编写代码,达到公司的工作要求。 

二、程序员(P:programmer) 

基本要求: 

  1. 本科学历,半年以上工作经验;英语通过国家四级。 

  2. 达到工作承担要求;具有一定的沟通能力和工作责任心。

技术能力要求: 

  1. 负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。 

  2. 了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。 

  3. 所编写的代码质量较好。

  4. 能够按照要求编写文档,文档结构条理清晰,内容详实准确。 

  5. 具有独立理解所担当模块的业务理解能力和问题阐述能力。

  6. 能阅读**文技术文档。 

三、高级程序员(SP:senior programmer) 

基本要求: 

  1. 获得程序员资格1年以上;或满足程序员级别标准,2年以上相关行业工作经验。

  2. 完成年度工作量指标;具有较强的沟通能力和责任心。

  3. 所承担的项目满意度达到满意以上。

技术能力要求: 

  1. 精通一种主流语言及对应的开发工具;精通数据结构。

  2. 具有较好的业务理解能力和技术调查能力。

  3. 编写高质量代码并具有代码审查能力。

  4. 具有详细设计能力。

  5. 熟悉系统测试工具,对系统问题具有改善的能力。

  6. 能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。

  7. **语达到*级水平或者具有同等水平,能够阅读*文资料,按照要求编写*语技术文档。

  8. 了解质量管理体系和项目管理知识。

四、软件工程师(SE:software engineer) 

基本要求: 

  1. 获得高级程序员资格2年以上;或满足高级程序员级别标准,4年以上相关行业工作经验。

  2. 完成年度工作量指标;具有较强的客户沟通能力。

  3. 担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。

  4. 所负责的项目客户满意度达到满意以上。

技术能力要求: 

  1. 精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。

  2. 能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。

  3. 具有系统设计能力及系统提案能力。

  4. 对系统或项目的技术框架有深入的认识和较丰富的经验。

  5. 具有某一领域的行业知识。

  6. 具有项目领导能力。

  7. *语达到*级水平或者具有同等水平,能够阅读、编写*语技术文档,具有简单的口语沟通能力。

  8. 掌握质量管理体系和项目管理知识。

五、资深软件工程师(SSE:senior software engineer) 

基本要求: 

  1. 获得软件工程师资格2年以上;或满足软件工程师级别标准,6年以上相关行业工作经验。

  2. 完成年度工作量指标;具有较强的客户沟通能力。

  3. 担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。

  4. 带领的项目客户满意度满意以上。

  5. 完成年度培训工作。

技术能力要求: 

  1. 精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。

  2. 具有整体系统设计能力及系统提案能力。

  3. 具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。

  4. 深入了解某一领域的行业知识。

  5. 具有大型项目领导能力。

  6. *语达到*级并相当于*级水平,熟练会话和编写*语技术文档。

  7. 熟练掌握质量管理体系和项目管理知识,并能够推进软件开发过程改进。

六、主任软件工程师(CSE:chief software engineer) 

基本要求: 

  1. 获得资深软件工程师资格2年以上;或满足资深软件工程师级别标准,8年以上相关行业工作经验。

  2. 5年项目负责人以上经验,累计超过120人月的技术负责人工作。

  3. 带领的项目客户满意度满意以上。

  4. 完成年度培训工作。

  5. 具有很强的沟通能力,问题判断与解决能力,创新能力。

技术能力要求: 

  1. 精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。

  2. 熟练掌握软件需求分析/大型项目的策划。 

  3. 熟练掌握软件的系统设计。 

  4. 熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问 题的能力。 

  5. 精通至少一种部门项目相关的业务知识。 

  6. *语达到*级水平或相当于*级的水平,熟练会话和编写*语技术文档。 

想达到程序员的标准,就需要掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。 什么叫掌握呢?在《深入理解Java类加载机制,再也不用死记硬背了》中我有介绍掌握一门语言的含义;在《总结篇:消息中间件MQ的学习境界和路线》中我有介绍掌握MQ的含义。学习能力强是AP级别,掌握是P级别。想面试中如鱼得水,那咱们得从用人标准的角度来看自己的知识技能。

知识不系统

自下而上思考,自上而下表达。工作中需要有意识地培养结构化思维。这种培养依赖一种习惯:常反思、常总结。通过自己的思考将自己学到的、用到的纳入自己的知识体系。

这样,在面试官提问的时候,就像是操作了页面点击搜索一样,本身自己有内容,才能找到匹配的答案。完成任务并不能把知识转成能力,思考可以。

不懂就问

有些情况下,回答不出面试官的问题可能是不知道面试官在问什么。作为面试者有心里包袱。总觉得自己没听懂是自己的问题,不敢问。这种想法大可不必。

想想咱们工作中是不是经常遇到下面的问题:

caf8c7f4d0fbd8047b0eb1e0f96d36b2.png

所有的信息在传递过程中都会失真。DDD非常重视通用语言,也是这个原因。但是通用语言往往没有那么通用。我之前也在面试中听过一些黑话,在某个公司内部已经约定俗成,面试官自己都不觉得自己说的是黑话。外人听着却一脸懵,没关系,不懂就问。就算是业界术语,没回答出来已经是0分了,还能扣到负分嘛,大胆问!

总结

这篇文章是【编程一生】用户群里的朋友提出的疑惑,这里聊聊个人的看法,不含面试题。所以次篇把之前自己总结的面试题及自己总结的答案发出来。这个pdf文档我在用户群里发过,看那个的就不用看次篇文章了。

人从书中、文章中能得到的最大收获就是打开视野看到自己的局限。如果可以,非常值。但有些人的心门并不这么容易打开,需要不断的播种。坚持下去,终有一天可以顿悟。

编程一生

因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

PDCA方法论,检查自己是否错过更新:每周三晚上8点左右,我都会更新文章,如果你没有收到,记得点开【编程一生】公众号找一下(*^▽^*)

猜你喜欢

转载自blog.csdn.net/xiexiaojing/article/details/123343189