美文网首页
带着思考去学习软件开发

带着思考去学习软件开发

作者: 是馄饨呀 | 来源:发表于2021-07-21 12:53 被阅读0次

1.项目开发,你考虑了什么?

2.算法只是实现就行了?

3.设计模式为什么重要?

最近在面试和复习中,有些感悟,便分享给大家。

肯定有很多小伙伴们都是计算机相关的,而我自身也是计算机软件方面的,而经过这大概一个月的时间,通过面试和复习,带给我的感受还是蛮多的,这里我不想说那些学习的东西,而是想表达一点,带着思考去学习。

项目开发,你考虑了什么?

 在上周面试的时候,一个老哥看了我的简历。

老哥:小伙子做过项目是吧,我看你这写了负责登录,那你说说你们登录是怎么弄的。

我:我便说用户登录,将账号密码进行比对,如果有,那么就返回确认登录,如果没有,就不让登录。

老哥:除了这些呢?

我:进行了权限校验,去进行判断是否具有权限访问。比如会员登录,或者普通用户登录。

老哥:那还有呢?

我:进行了优化,比如当前用户如果没有,传入数据库数据检查是十分耗性能,那么我们进行了优化,采用Redis的布隆过滤器。

我们会发现,一个功能的产生,需要很多地方去思考,权限,安全,性能方面的考虑,如果只是单纯的实现账号密码匹配,对自己的个人成长也是没有多少好处的,这里我想说,多思考,带着问题去设计,而不是直接开干

算法

这个是我今天做程序员算法经典题时看一个老哥的见解,如果我是面试官,我会怎么问?

面试题 01.01. 判定字符是否唯一

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。

示例 1:

输入: s = "leetcode"

输出: false

示例 2:

输入: s = "abc"

输出: true

限制:

0 <= len(s) <= 100

如果你不使用额外的数据结构,会很加分。

这个题其实很简单,那么我们来看老哥以面试官的角度怎么看待问题。

如果我是面试官,我会希望看到什么?

可能有点偏题,毕竟这里主要就是做题的地方。。

如果我是面试官,会考虑主要考察什么,就我的工作经验看,大多数主要是招聘工程师的,面试者如果什么问题都没有,直接写个二重循环搞定,会首先给个50分,如果能写点判断字符串是否为null的,60分。

直接上手什么bitset,什么位运算的,我会先问他,题目中有没有交代字符串的字符一定是26个英文字母?如果是unicode环境,你是不是要准备2^16/8个字节的空间?在实际项目中,风险可控,结果可期更重要,绝大多数时候不在乎那点时间和资源。

所以我期望面试者不要急于解答,我希望他先问我问题:

字符串的字符范围,如果我告诉他,26个小写英文字母,那可能一开头直接判断如果字符长度>26, 直接返回False,做到这一点的,80分

如果我告诉他ascii字符集,然后他的代码里有边界检查,并且针对不同的范围有不同的侧重点,比如说ascii字符集,那也就是128个可能性,16个字节的位运算比较好

如果我告诉他是unicode,没有字符范围,老老实实排序再判断是比较符合我对工程师的要求的,因为算法性能稳定,没有额外资源要求,一眼看出没什么不可预见的风险,100分。

就是说,有些东西,没想到或者一时没想到根本不是问题,日常工作中稍微提示一下即可,但是缜密的思维对于程序员来说更重要。

所以,对于算法,我们不是说实现了就可以,而是要多去判断,多去思考,分不同的情况考虑

设计模式

设计模式自我感觉在实际开发中的用处还是很大的,因为这也是前人经过大量的应用实战,总结经验,使得我们在开发的时候,避开一些弯路,错路,使得开发效率提升。而不仅仅是使得代码的耦合一堆,不好维护不好管理。

虽然脑子里想了很多,但发现其实总结下来也就几句话,多带着问题思考,多想多问,追求性能,分多个场景考虑。如果我们只是一味的完成任务,那么很可能对自己的成长并没有那么的大,这也是送给今后的我,希望能在日常中多思考,而不只停留在简单的完成。

相关文章

  • 带着思考去学习软件开发

    1.项目开发,你考虑了什么? 2.算法只是实现就行了? 3.设计模式为什么重要? 最近在面试和复习中,有些感悟,便...

  • 学习分享——带着思考去阅读

    悟空领罪,上告尊师:“我也离家有二十年矣,虽是回顾旧日儿孙,但念师父厚恩未报,不敢去。”祖师道:“那里甚么恩义?你...

  • 读书笔记|少有人走的路4|阅读方式

    如何更好地阅读? 带着问题去阅读、思考、演讲,带着目标去行动、计划、学习。 主题清晰,带着主题去思考。 阅读的目的...

  • 带着思考去摄影

    手机摄影入门课程学习体会 20186.13 三天的手机摄影入门课程结束了!改变了我以往认为摄影就是把自己看到...

  • 带着思考去工作

    在职场中,我们会面临着离职、面试,但是离职绝对不能是未经考虑就做出的决定,而是在权衡了所有利弊后给自己一个更大舞台...

  • 带着思考去教与学

    经过三天的培训,分别从广东王家文、温州方海东、郑州宋君、郑州郭文祥四位名师的讲座中,最大的感受是“能思考的人才是力...

  • 带着思考去生活、工作

    日更挑战第141天,希望通过写作,提高自己的逻辑思维能力、结构思维能力。 看过一段视频说了这些话“怎样废掉一个人:...

  • 带着思考去迎接明天

    是否曾记录过,一天24个小时中,有多少时间用来打发,又有多少时间去真正有意义的生活。 也许从某一天开始,感慨时...

  • 带着思考去寻找答案

    同样学识与职位,工作表现却大有差别,有的人思路清晰自信满满,有的人却浑浑噩噩谨小慎微,差别在于思考力的区别。 果敢...

  • 必须带着思考去阅读

    人们常说“认知的高度决定了一个人成就的高度”,人们还说“一个人无法挣到超越自己认知的钱”。可见,在知识技能高...

网友评论

      本文标题:带着思考去学习软件开发

      本文链接:https://www.haomeiwen.com/subject/lxyjpltx.html