白飘冷知识代码 白嫖冷知识小代码
5972023-09-09
大家好,关于程序员面试被要求手写代码,手写代码真的行的通吗很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于为什么不建议写代码的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
本文目录
这个按着已有代码敲好还是背着写好,我感觉的分阶段。我就针对题主提的问题简单说下吧。
题主说自己是培训的,说明是刚刚学习java,背着写代码没思路也属于正常现象,因为缺乏经验。
初级java在学习的过程就是模仿的过程,把javase、ee的基础学习通透(培训重点是把基础理论学习好),怎么才能通透就是相关基础的东西多敲几次,敲多了就成自己的东西。模仿就是学习别人的项目源码(包括项目,一些问题处理办法)?前2次可以跟着敲,敲不是盲目的敲,结合题目以及自己学习到的基础理解的敲,敲完后你要知道本题或者业务丝路,以及每段代码做什么?
第三次就可以照着丝路敲了,即使某个点卡住了,也要去思考写出来,这样坚持多了,自然养成习惯了。
有了习惯,后面多做项目,自然而然就知道代码怎么写了(思路)。
包括工作5年多的程序员也经常从网上找一些代码或者看一些优秀的代码,抄袭代码不可耻,主要是能转换成自己的就ok,你要把解决问题的方法抄袭过来,要不然下次换个问题又不会了(项目就是很多问题的整合)。
我干10年了,也会经常借鉴一些优秀矿建中的代码设计思路,例如:spring、netty、tomcat等项目。你不模仿别人的代码,从来觉的自己代码是写最好的,其实不然。
我会经常在我的知识文章中分享一些经验,可以看看。
从这个问题可以看出,楼主没有写过代码或者说写过但是很少,再退一步说,即便做过,那也只是小系统,没有接触过大系统!!!在这里我想说三点:第一,99%的程序员都是从模拟他人写程序开始的!没有人天生会写程序,一般人接触的是,别人这木写的,我借鉴看看,以后我的程序也可以这木写开始的,这就是所谓的,”不要说你看懂别人了的程序了,你要亲自敲一遍”的道理,程序要多动手”第二,大型系统是很复杂的,模块越多,功能越强,那木功能越细,他们之间共性的东西就很多,可重复使用的东西就很多,你像大型软件和成熟的公司都有公共资源库,很多东西都可以为你所用,要是什么东西都自己做我觉得你也做不成什么事情,比如通讯上使用很多的RS罗德里的算法,说复杂也复杂说简单也简单,但是就算再简单你也要花时间去解决呀,在企业可不是学校,给你那木多时间去解决!第三,局限性!人不是万能的,不可能什么都懂,但是,在你的项目中却需要某个功能,但是你不会,没关系刚好有现成的解决方案,你不懂的,没关系,它能实现就行,至于你现在不懂没关系,公司要的是结果!
虽然这种情况时有发生,但这时候还是要考虑领导是技术领导还是执行领导。
这二者是有区别的。
接下来我们分情况分析。
技术领导拍板技术领导是负责技术方向的,他通常比你对语言与架构有更深刻的了解与经验。此外,他对项目的未来发展也有更清楚的规划,因此通常是由于参考了自己技术领域的经验,结合对当前项目的发展方向,才会敲定用哪种语言更适合,以便让当前的项目快速上马or走的更稳健,所以如果是技术领导让你用不熟悉的编程语言,我认为你只有两个选择,马上开始学习或者拒绝加入这个项目。
但是我个人建议你选择开始学习,因为在现在的大环境下,多掌握一门语言就是多给自己铺一条路。学习语言时,能够实际参与项目是一个很难得,且能让自己快速进步的机会。你在创业公司,明知道你不会还让你上,相当于是付给你工资让你学习,钱是你的,知识也是你的,这样的好事到哪里去找呢。
执行领导拍板如果是不懂技术的领导,就是另一种情况了。他们可能出于各种各样的原因,比如听说某种语言很好用,或者用某种新兴语言方便出去吹牛拉投资等等,总之就是并没有出于技术方面的考量。这时候,你就要承担起技术领导的职责,认真分析项目发展与语言特点是否匹配,如果确实匹配,那么就要和领导说明你需要一点前期学习时间,来保证后期的顺利进行;如果不匹配,那么就要有理有据的将你的分析结果报告给领导,让其明白这种前期学习投入是无意义的。
如果沟通过后,领导坚持己见,那么你也没有别的办法,毕竟付工资的是他,那么不妨来看看我之前的回答,如何快速学习一门编程语言,然后快速上马开发。
以上是我的浅见,欢迎在下方评论区给我留言,与我沟通。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
我有个程序员朋友,在深圳工作。他曾经帮公司面试过一些工程师,也要求现场手写代码。有一次,在一个招聘会上,公司有个职位是嵌入式软件工程师,有一些看着还不错的应届生投了简历,为了做一轮刷选,我那朋友就让他们现场写一段代码,实现流水灯功能。
如果是做过单片机相关的开发和调试,一定会写得出来,因为这是单片机入门的第一个基础实验。而我那朋友,考查的并不是他们书写的语法或格式,而是他们解决问题的思路,只要代码中体现了左移或者右移的算法,就可以通过。
结果有些出乎意料,只有少数几个应届生写得出来,所以就只允许他们进一步去公司面试。
你看,用不着大张旗鼓的给面试题,只需要手写个简单的代码,就刷下了一部分人。
所以,你的问题中,程序员面试被要求手写代码,真的行的通吗?
其实,这不仅行得通,而且还是大部分公司面试程序员时常用的一个方法。理由如下:
一、面试官考查的并不是你的语法,而是你的思路就像我的朋友一样,让求职者手写代码,真不是刁难他们,而是为了甄别更优秀的求职者。在这种情况下,面试官往往会忽略手写代码的语法等错误,只要思路、所用的关键函数正确,基本就算是通过了。
而一行代码都写不出的人,肯定是没有“手感”,这种手感,指的是经常调试软件培养的那种思维保持能力,一旦你没有接触过相关知识点,那么你肯定无从下手。
有人会问,那上机测试来考查不行么?
这也可以,但一旦上机测试,就不会是这么简单的题目了,而且往往花费更多的时间;再说,上机测试,就会提出更高的要求,比如说不能有语法错误,要实现正确结果等,就不是面试官想要考查的重点了;最后,上机测试可以“作弊”,这种作弊,指的是他可以多测试几次来验证,然后反向推导出正确的步骤,这明显违背了面试官的初衷。
所以,手写代码是最快、最好的方式之一。
二、手写代码,最能体现一个人的能力如果一个求职者能当场写出代码,并得到正确的结果,那么,他对代码、算法的临场应变能力还是很强的,在平时工作中,效率也是有保障的。
很多人对程序员有误区,认为他们写代码的时候,就应该像影视剧中的黑客一样,噼里啪啦敲一阵键盘,显示屏不断的滚动刷新黑底白字的英文,就能迅速得到想要的结果。
现实是,很多程序员写代码时,需要通过百度搜索等手段查阅很多资料,有些代码甚至是复制粘贴得来的,调试看起来远没有那么酷。
在这种情况下,一个人能在电脑上写出代码,并不一定能手写出来;反之,能手写出思路、步骤、关键算法等部分的程序员,在电脑上写代码也一定如鱼得水。
所以,手写代码,更能体现一个人在没有外界或电脑的帮助下,自己获取结果的能力。而这个能力,是面试官更看重的。
三、如果被要求现场手写代码,该如何应对?如果面试官要求你手写代码,该如何应对呢?可以参考以下方法:
1)写清实现思路、主要函数及关键节点
就像上面说的一样,面试官考查的并不是结果,而是你实现方法的思路,所以不要纠结于结果,而是把重点放在实现过程,把过程厘清,更能体现自己的能力。
2)写清算法步骤
一段代码的灵魂,本质上就是它的算法。如果你的算法得当,哪怕你写错语法,都没有关系。但是如果你的算法不合理,即使你字写得再好、语法再没错误,也入不了面试官的法眼。
3)多比较几种实现方法的优劣
有时候,面试官想考查你是否会多种方法来解决同一个问题。在这种情况下,你可以尝试写下几种不同的实现方法,然后给出他们之间的优劣,这更能赢得面试官的青睐。
总之,手写代码不像很多人想像中的那么复杂,相反,它反而能简化面试流程,节省大家的时间。作为求职者,你需要在意的,也不是它的结果和语法,而是实现过程和方法,只要把握住以上说的几点,基本上都能通过。
这就是我的看法和建议,希望对你有帮助。
欢迎关注@焱公子,十年500强,专注写职场,每天与你分享职场干货与成长心得。好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!