精华内容
下载资源
问答
  • 2019-12-17 10:26:16

    我们公司和大部分传统软件公司一样,随着业务的发展和新领域的开拓,公司的管理风格越来越像华为,这是不是最佳的演进路线,我觉得值得探讨,以下是我的思考,希望跟大家讨论。

    一个问题

    前段时间跟一个创业的朋友聊天,说起他们最近在做的一个项目,这是一个教育行业的管理系统,业务非常复杂,牵涉到的决策人,需要对接的系统也非常多,最后问到他们做了多久完成这个项目,朋友告诉我2个多月,6个人,其中还括一个美工,一个项目经理;剩下的都是开发人员,没有测试,没有前端开发;朋友问我,如果这个项目给你们做,你们需要做多久;我想了想说,这个项目如果交给我们做,顺利的话,至少要半年。

    为什么差异这么大呢?

    我们一个一个环节来分析一下,朋友的团队跟客户沟通需求的时候,功能性需求只用一个原型草图,非功能性需求就一个excel表格;如果我们公司做的话,至少要做需求调研报告,需求规格说明书;这个阶段的负责人甚至不会画原型,要到设计阶段才有人能画原型;

    到设计阶段,朋友的团队几乎没有什么技术设计,业务按模块给开发人员分一下,各人设计好自己的数据库模型,汇总起来给项目经理看一下,没问题就进入开发阶段了,界面设计花的时间比较久,跟客户反复确认了两三次;如果我们公司做的话,至少要产出原型设计(低保真描述功能的设计稿,高保真描述界面的设计稿),概要设计,详细设计(技术设计、架构设计、网络设计)等等ÿ

    更多相关内容
  • 公司做凤尾,还是小公司做鸡头?

    万次阅读 多人点赞 2019-08-18 21:40:01
    相对而言,小公司更倾向于选用快速扁平化的技术架构,相对来说技术的沉淀就不会像公司这么多,所以你会发现公司里和小公司里,大家的技术思考可能也不太一样。 公司里通常牛人很多,相对来说小公司里...

    阅读本文大概需要 4 分钟。

    作者:黄小斜

    大家都知道互联网大公司一向以技术强悍而知名,BAT的技术在国内互联网公司里算是比较领先的了,这也是因为大公司的业务繁杂庞大,必须要有足够优秀的技术去支撑。

    相对而言,小公司更倾向于选用快速扁平化的技术架构,相对来说技术的沉淀就不会像大公司这么多,所以你会发现大公司里和小公司里,大家的技术思考可能也不太一样。

    大公司里通常牛人很多,相对来说小公司里的牛人相对少一点,当然也有很多从大公司过去的牛人。所以这就出现了一个问题,在大公司里,你的技术可能平平无奇,甚至比大多数人都要弱一些,而在小公司里,你可能就会有更多的机会,更多的施展空间,但是你也可能学不到那么多先进的技术。

     

    遇到这样的问题,你该如何选择呢?简单来说。是选择在大公司里做凤尾,还是在小公司里做鸡头呢?

    首先,从成长方面来考虑,在小公司里,相对来说,做的事情比较独立,而且大公司里,做的事情非常细化,往往你只要负责一个模块,你并且把它做得非常的出色,你需要能够在某一个方面、某个系统或者模块中能够出色的完成任务。

     

    同时,在大公司里,你必须要保持快速成长和学习,才能达到比较好的水平。因为身边的人基本上都非常优秀,所以你也没有时间去浪费,你必须要马跟进,要么就会掉队。

    在小公司里则不太一样,你可能需要负责比较多的工作,需要承担更多的工作,可能你要负责整个系统的规划、设计,以及各方面的一些考量。

    可能在一个项目中的大大小小的事情都需要你来安排和规划,你也可以接触到更多的工作内容,当然了,小公司里主要的问题就在于,你需要做的事情太多了,可能稍微显得会不够专业化,你做的事情可能深度不够,

     

    这是小公司里程序员经常遇到的一个问题。当然了,小公司里可能会有更多的机会,因为公司的人比较少,如果你比较优秀,其实很容易就能看出差距的。

    这种情况下,你的机会相对在大公司里要更加的多,毕竟大公司里人多优秀,人也多,你就比较难以脱颖而出,这时候如果你能到小公司里去做一个更适合你的工作的话,可能更加的容易完成晋升。

    对比完大公司和小公司的优缺点之外,我觉得这个问题更应该按照人的特质去回答。

    比如你是一个比较自我的人,不太喜欢太多的团队合作,或者不喜欢跟太多人打交道,可能小公司更适合你。很多时候你可以独立做完全部的事情,不需要太多的和太多的人和事打交道,你可以专心做一个事情。

     

    如果你是一个比较能吃苦,并且学习能力比较强的人,大公司显然正适合你,因为大公司的技术比较成熟,如果你能快速进行技术学习,就更有机会成为这里的优秀人才。

    到时候你也不必担心去别的公司会有什么问题,只能说,在大公司里可以更快地成长和历练,在小公司里更适合你去带一个项目或者团队。

    也就是说,在你拥有了一定的技术沉淀之后,再去小公司可能会更加的得心应手一点。对于普通的同学来说,在公司里的最初几年,你只能当凤尾,很难超过你的前辈。

    所以,在大公司一定要保持好自己的心态,多向他人学习,不要放弃自己的成长,一定要多看多学多问,这样子,你才能更快的抓追追赶上其他更优秀的人。

    否则实力不进则退,身边的人太优秀了,你可能会感受到一定的压力,但是这是你前进的动力。

    事实上,我只在大公司做过凤尾,并没有在小公司做过鸡头,所以如果以上YY的内容有什么偏差,那么也欢迎发表你的看法~

     

    谈到大公司和小公司,这里分享一下我之前写的一篇文章《从三流小公司到一线大厂,聊聊程序员的成长之道》

    用我的一些经历,来给大家一些更直观的感受。

    作者:黄小斜

     

    我想,没有一个程序员能够一步登天,一下子达到很高的高度,有些路是我们必须要走的,有些阶段是我们必须要经历的。有入门,才有进阶,才有更上一层楼。

    别看我现在在大厂,但是我也待过小到不能小的小公司,也许你会感兴趣,那么不妨听我说说,我在学习编程路上待过的公司吧。

     

    不到20人的小公司

    我在大学的时候学的不是计算机,上的课程基本上和计算机也没太大关系,但是我从小还是比较喜欢捣鼓电脑的,不瞒你说,以打游戏为主,修电脑为辅。

    兴趣使然,于是大学期间想要自学编程,但是无从入手,于是让家里人介绍了去了当地一个小公司学习php,对,就是那个世界上最好的语言。

    公司一共就10多个人,大老板就在旁边办公。当时我对计算机语言的认知是:Java好像很火,php没听说过,上班(学习)之前只在w3cschool上看了一些简单的教程,然后就自信满满地去公司实习了。

    结果一看公司里的代码就懵圈了,这啥玩意啊,我学的怎么都用不上呢。再看看其他人,都很熟练地写着php代码,所谓的“师傅”压根也没空搭理我,索性我就开始自学,学了几天html和css,写了几个小页面就开心得不得了,给我师傅一看,他特别鄙夷地看了看,然后再也没管过我。

    一个月之后,我就开溜了,当时主要也就是想体验一把程序员的生活,顺便学习一下世界上最好的语言。

    这么一体验可把我打击坏了,原来写代码这么难啊,这么小的公司代码我都看不懂,哪有可能去大公司啊。

    所谓初生牛犊不怕虎,大概也就是这个意思吧,无知可怕,但一直无知就很可怕了,后来有一个契机,让我再次接触到了编程。

    500人左右的公司

    大三的时候交换了一段时间,学习了几门编程语言,像Java、前端、php、Android等技术都接触了一些,算是对编程有了比较具体的理解,特别是在Android课程上,写app让我特别有成就感,那时候我就想,我以后就搞Android吧!

    当时想法很单纯,感觉搞app有意思呀,于是想找一份Android的实习,我们家那边的IT公司本来就不多,稍微大点的也就一个,几番争取之后,在这家公司也获得了一个实习机会,只不过当时他们不需要Android工程师,于是安排我做Java Web,于是我和Java Web就这样结下了梁子,以至于我后来就在这条路上走到黑了。

    这是我大学毕业那个暑假参加的实习。因为当时已经考上了研究生,所以想积累一点实习经验。

    这个公司比上一家靠谱一些,当时用了一些框架,还需要我自己写前端代码,那时候我基本也是0基础的状态,一边学Java语法,一边学html、css、js,然后还要完成部门安排的新人作业。那时候感觉自己真的菜啊,隔壁几个学历不高的小哥哥都可以熟练上手,各种开发,我还一脸懵逼,无从下手呢。

    那时候我学会了向技术大牛提问,用有道云笔记做笔记,以及使用eclipse,也算是误打误撞地入了门,当时觉得Java Web好难啊,我要去做Android开发,不过最后还是没有等到机会,于是呆了两个月就走了。

    然后,我就开始念研究生了。

    网易和百度

    在读研之前,我是没有想过我能进大厂工作的,我记得大四的那个招聘季,投了我们省内的一些公司,罕有面试机会,有面试机会的岗位也都没有通过,当时仗着自己有Java实习经验就去投Java岗位,结果各种吃闭门羹,其实都不是什么有牌面的公司,但是却都拒绝了我,可见当时我的水平有多次。

    于是从研一开始,我终于确定了Java这个方向,并且疯狂补基础,计算机基础、Java后端技术栈,需要什么补什么,大厂怎么要求我就怎么学,可能是我的执着也感动了我自己,后来就拿到了网易的实习机会,再后来也拿到了百度的实习机会。

    在网易实习让我过了一把大厂瘾,当时去实习也就是打打杂,做点边边角角的任务,但是已经很震撼了,大型项目用到的技术、代码量、架构设计、标准业务流程,都让我很兴奋,不过当时光顾着兴奋了,没用到多少资源西就走了。

    百度是第二次大厂之旅,相对来说没有那么兴奋,但是百度的技术还是比网易要靠谱一些,能学到的东西也更多,部门的技术栈虽然和我不是很搭,但是作为热爱学习的我来说,还是愿意花时间去学习的,在百度呆了半年,说实话技术没提升多少,其他的东西倒是学习了很多,比如百度自研的一些技术,以及部门在用的OpenStack和docker。

    有了两段大厂经历加持之后,秋招也变得顺风顺水起来。最后能拿到不少大厂offer,我想是时间帮了我最大的忙。

    阿里

    刚刚开始,且行且珍惜

     

    个人公众号:程序员黄小斜

    微信公众号【程序员黄小斜】新生代青年聚集地,程序员成长充电站。作者黄小斜,职业是阿里程序员,身份是斜杠青年,希望和更多的程序员交朋友,一起进步和成长!专注于分享技术、面试、职场等成长干货,这一次,我们一起出发。

    关注公众号后回复“2019”领取我这两年整理的学习资料,涵盖自学编程、求职面试、算法刷题、Java技术学习、计算机基础和考研等8000G资料合集。

    技术公众号:Java技术江湖

    微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,专注于 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!

    关注公众号后回复“PDF”即可领取200+页的《Java工程师面试指南》强烈推荐,几乎涵盖所有Java工程师必知必会的知识点。

     

    展开全文
  • 说实话,对于学习路线这种文章,一抓一堆,我也不大喜欢去建议别人究竟该怎么学习,学习顺序之类的。不过对于大学,很多人进入大学的时候,可能都是同一个起点,大学四年过后,却是完全不同的人生轨迹。正好我也想...

    前阵子有些读者问我大学期间的学习路线,说他自己现在有点迷茫。说实话,对于学习路线这种文章,一抓一大堆,我也不大喜欢去建议别人究竟该怎么学习,学习顺序之类的。不过对于大学,很多人进入大学的时候,可能都是同一个起点,大学四年过后,却是完全不同的人生轨迹。正好我也想记录下自己从高中进入大学这几年的学习与变化,我的大学经历,可以说是非常普通,没有参加任何竞赛,也没拿过奖学金(当然,国家助学金得拿,哈哈)。也正是因为普普通通,我才要分享,因为我相信你们都看过很多充满各种牛逼的大学经历。

    所以这篇文章,就以时间的顺序,记录下这几年的学习、想法、看过的书等,或许,普通的大学经历,更加有参考性也不一定哦,嘻嘻。

    一、非计算机专业的大一

    在我高考分数下来的时候,看了下分数。我去,比预想中了至少少了几十分,真心想不通我的数学和英语为啥能考这么差,平时数学、物理是我的强项,算是经常全班第一,不过高考数学得比预想中的少了几十分,处于及格边缘,而且,英语也并预想的少了二十多分,当时还是很郁闷的,高考这么重要的场合,居然考这么低。

    不过说实话,当时我并不伤心,因为我觉得,学校虽然挺重要,但也没有那么重要,我相信自己要干的事,在哪个学校都能干,而且在我看来,技术与成绩,只是大学的一部分而已,虽然是比较重要的一部分。当然,能上个牛逼一点的学校当然比较好了,至少还能装个逼,哈哈。

    当时我是想读计算机类专业的,不过以我的分数,如果选择省内一本学校的话,我会读不上计算机专业,只有被调剂的份(当时没有考虑省外)。不过我是一定要读计算机专业的,并且也想尽量进个一本的学校(不是说看不起其他批次学校哈),当时我就查哪些学校转专业比较容易,所以后来我是报读了一个容易转专业的学校,也就是选择被调剂,之后在转专业到自己相对喜欢的专业。当然,这里存在转专业失败的风险。

    后来我是被调剂到木材科学与工程这个专业,也算是意料之中,在开学的前几天,我看过一本对我影响挺大的书,叫做《李开复自传》,书里面有一句话一直影响着我,大致的意思就是『当你把大学所学的知识全部忘光时,剩下的,便是教育的本质』,说实话,我还是很喜欢这句话的,当时我解读为,在大学,提升自己的思维、学习能力才是最核心的。所以在之后的学习中,我都是比较在意自己的学习能力的,对于一件事情,我也会去认真做好,因为我觉得,认真去做一件事情,非常重要,它可以间接着去提高你的学习能力,尽管这件事情可能和你所学的专业没有任何关系。

    在木材科学与工程里,有一门科目,就做《工程制图》,我去,我真的是被这门课给折磨了,画各种图。例如根据一张螺丝的图片,画出它是三视图,这种东西对我来说,太难了。后来我就想,我认真去学习下我就不信我会搞不定,后来事实证明,人真的是各有所长,对于制图,我真的不行,虽然认真学能搞懂,但是花是时间多,并且效果也不大好。从那时起我就觉得,虽然学习能力是通用的,但是,有些技能,你还真的不大适合,因为兴趣、以往的技能积累影响着你对这门技能的擅长程度。选择自己比较擅长的技能去学习,还真的挺重要,从而也更加坚定了我要转专业的想法。

    大学第一学期的国庆,我开始自学 c 语言,主要是看书。当时自己跟着书本打 demo,感觉挺有意思,好像七天时间,我学到了结构体部分,感觉自己还学的挺快的,当时可以说是不求甚解(就是感觉自己稍微理解了就接着下一章),接着学指针,我去,难度顿时加大,感觉遇到了瓶颈,之后就随便看了下没继续看了。

    稍微学了点 C 语言之后,就像写个稍微好玩一点的程序,然后并不知道 C 语言能干什么,书上也没有啥有趣程序的案例。后来我就去水百度贴吧,发现有好多人发了游戏程序,不过好多有些设计到其他知识,我也不懂。最后找到了个贪吃蛇的程序,这应该是我见过最简单的贪吃蛇了,只有黑色的界面以及把一个方块自己当做蛇头,不过我当时还是挺感兴趣的,就跟着源码打程序,之后在自己理解了原来游戏是这样弄的画面的动态效果是这样搞出来的,把程序运行起来之后,稍微添加了一些自己的东西。

    讲这个贪吃蛇的故事我是想说,兴趣和喜欢探索我觉得是非常重要的,当时在没有任何人教的情况下,自己去折腾,去搜索,最后写了个简单的贪吃蛇,我还是非常开心的。这个过程之中,也对我学习能力的提升很重要,在一个自己完全陌生的环境中,如何快速去适应,愿意折腾很重要,但是,懂得利用搜索引擎,也非常非常重要。很多人经常问我一些搜索引擎就能解决的问题,说实话,我是懒的回答的。有些人让我帮他解决下 bug,我笑笑不说话,不是我不帮你,是我帮不了你,也不大愿意帮你,bug 这种东西,你是自己搞出来的,你自己才是解决的最佳人选,解决的过程中,你真的能学习到好多东西,而且这些东西,是潜意识的,看不见的。

    二、入坑数据结构与算法

    在大一的寒假,了解到转专业考试是在 3 月份,我也在寒假赶紧重新学习指针,并且也学习了链表,说实话,对于当时的我来说,链表太他妈难了,真的被折腾了好久,因为当时并不大懂内存地址之类的,直到参加考试,也是对链表似懂非懂。说实话,如果你学习了好几天都搞不懂链表,别怀疑自己的智商,对于初学者来说,真的挺难,特别是对于我这个 C 语言只自学了大致十几天的非科班。

    这里多说一些建议,对于没学过 C 语言的,如果有时间,我还是挺建议大家学习下 C 语言的,特别是指针那部分,也很欢迎大家把 C 语言中作为入门语言,我觉得,学习了 C 语言,以后学习别的语言,可以帮你理解的更深刻,而且也可以很快就入手其他语言,例如 Java 中的引用啥的,这不就是地址吗。反正,我觉得 C 语言如果有时间,是必须语言。当然,只是我个人的看法。

    后来转专业通过了,巨开心,终于可以肆无忌惮着学习编程了。当时是真的对学习充满兴趣(这句话意味着后面学习不上心)。大一第二学习,学校开了一门数据结构与算法的课。这门课我觉得算是比较难的一门课了,相信很多人也都是被这门课折磨过。

    但是,我想说的是,这门课,也就链表难,如果你学会了链表,后面我觉得一点也不难,由于我自己折腾过链表,所以我很快就上手这门课了。我也没有看学校的教材,学校的教材是清华大学初版的严蔚敏的书,说时候,这本书个人感觉真的不适合初学者,反正我看不下去,可能是我比较菜吧,当时自己另外卖了本《数据结构与算法分析—C语言描述版》。说实话,这本书我很喜欢,感觉看着特别舒服,如何你要学习数据结构与算法,那么可以选这本,有 C 语言版,也有 Java 版,不过如果可以,我建议大家用 C 语言来实现那些数据结构。

    在数据结构与算法书里,对链表的讲解比较详细,加上我之前看过一些链表的文章,所以很快就理解了链表,也跟着书上一点点去实现链表的基本操作(增删查改),这里我必须说下,千万别自己理解了就不动手写代码,一定要动手写,因为写的过程,你一定会遇到很多 Bug,通过解决这些 bug,你会对链表理解的更加深刻。

    对于数据结构的学习,我基本是没听课的,因为我觉得老师讲的不适合我,当时老师链表还没讲完的时候,我自己已经学到了那部分了。反正那本书涉及到的算法,我基本都学了,也都实现了,大致有:链表、队列、栈,二叉树、图,图学的比较久点,感觉设计的算法比较多,如深度遍历,广度遍历,最小生成树,拓扑排序,最短路径,我觉得,这几个图算法都很实用,也很重要,不懂的建议大家学。

    三、选择不玩 ACM

    没进入计算机专业之前,我还是非常想进学校的集训队的,感觉 acm 很牛逼,自己也经常去学校的 OJ 刷题,买了本算法入门的书籍《算法设计与分析基础》,这本书我觉得非常适合入门,用伪代码实现的,很简单,我好像一个星期就看完了。后面也买了本《挑战程序设计大赛》的算法书,我去,当时感觉这本书讲的挺不错,这本书主要是刷题,学的不亦乐乎。虽然学的不亦乐乎,不过我感觉那些竞赛的题太他妈难了,一道题有时搞了一天才懂,少则几个小时,并且还是看着答案来理解的。当时还是刷了挺多题的,不过当时感觉要是自己去打 acm 的话,凭借着我这种程度,感觉拿不了啥大奖,也感觉自己确实对这些竞赛题并不怎么敏感,不能一眼就看出解法,而且一道题几个小时,自己实在搞不来,所以我也就放弃了参加学校 acm 的打算了。

    不过那几个月对算法的学习,也为了打下了不错的基础。后面我也自己想做点东西,不过 C 语言写的界面黑乎乎的,不大喜欢。所以后面学了些 HTML,这种即学即可以看出成果的技能,感觉学的比较有趣,学了几天,把大致的知识点学完,后面发现单单 HTML 不行,还得学下 JavaScript。然后花了十几天学了 JS,然后就没有然后,因为我移情别恋了。

    不过这让我懂得了一些前端知识,说时候,我觉得就算你以后不学前端,那么也要应该懂点前端的知识,这是必须的,就算是做后端,也是经常需要用到前端的知识的。

    四、瞎搞的暑假

    1、windwos 编程

    大一结束后的暑假,我挺想写个游戏,可是 C 语言又没有界面,怎么办?后面我发现 windows 编程可以画界面,画图之类的,也是用 C 语言实现的,所以当时我就看小甲鱼的视频学习 windows 编程,自己也顺便买了本《windows编程》的书,那本书 900 页,呵呵。我觉得 windows 编程还是挺难的,各种句柄啥的,大概学了差不多一个月,900 也大概看了 600页,各种键盘事件,鼠标事件,反正好多好多。后面靠着这些知识,写了个计算器,我去,当时还是很开心,还告诉我姐,让他试试这个计算器。然后就没有然后了,我又移情别恋了,哈哈。

    不过 windows 编程的折腾,也让我学到了很多,例如知道了我们平时鼠标移动是怎么回事,知道了我们文本编辑器的底层是如何实现的,感觉知道了很多相对底层的东西,也让自己的学习能力更强了。

    2、安卓的学习

    因为 windows 编程写出来的程序,在手机不能运行,根据没人用我的程序,所以我转行学 Android,不过 Android 听说用 Java 实现的,所以我入门了 Java,好像是看了几天的视频入门的,只学了点皮毛就去写 Android了,买了本书,也是学的不亦乐乎,大概折腾了二十几天,跟着书本写了个天气预报,学习的过程中,由于自己太多的不懂了,遇到了很多 Bug,也是好几次把自己搞奔溃。后面还写了个《快乐学数字》的 app 发到应用宝上,当然,这些程序是跟着书本写的,哈哈。而且还几十个人下载了,当时也是挺开心。然后又没有然后了,我又移情别恋了,,,,

    五、步入正轨

    说实话,大一真的折腾了很多东西,那时候学什么都充满干劲,虽然学的很多知识都是后面用不上的,但我觉得很值,因为我觉得,大一大二这段时间,千万别问别人干学啥学啥,如果你有感兴趣的,就去折腾,全心全力的折腾,真的能学到很多东西,而这些东西,远远不是那些具体的知识点,更多的是,你的学习能力,折腾能力,逻辑思维

    到了大二,关注了『码农翻身』这个公众号,自己通过这个公众号,理解了挺多知识点,这个时候的了解,更多的是一种『广度』的了解。大家感兴趣的话,也可以去买《码农翻身》这本书,可以先看下目录再买,主要是用故事讲解技术。

    在大二主要学习了《离散数学》,这本书可以让我们学到听说算法与数据结构的知识的,后面学了《Java编程思想》,不过我觉得这本书对新手不友好,看不懂,期间看了 尚学堂Java300集,感觉讲的很好,哔哩哔哩可以搜索到。看了这个视频之后,我感觉自己的 Java 很牛逼了,懂了很多东西。接着再来看《Java编程思想》,我去,感觉这本书讲的太好了,推荐学习Java的看。反正从这个时候开始,我就决定学习 Java 体系了。

    六、开始有目标着学习

    对于 Java,我就觉得看了 尚学堂 300 集 + 《Java 编程思想》感觉自己掌握的差不多了,后面听说学习 Java 进阶得看虚拟机,于是就买了本《深入理解Java虚拟机》这本书看。之后感觉自己的Java挺强了,不过上面这些,对多线程的知识讲的不多,关于Java的多线程,这里推荐《Java并发编程艺术》和《Java并发实战》,感觉讲的不错。我也就看了上面这些书而已,当然,零零散散看了挺多其他书的,这里不列举,因为我觉得上面这些,差不多够了。

    不过,语言只是一门工具,我觉得我们需要选择一门语言,并且深入学习它,这里我选择了 Java,不过这还不够,了解到大厂面试,非常看重计算机基础,于是自己学习了计算机网络,当时在哔哩哔哩看韩老师的《计算机网络原理》这个视频,感觉讲的很好,之后跟着学校的课程学习了操作系统,看的是《操作系统:精髓与设计原理》,也学了《计算机组成原理》。如果你想学习计算机基础,我觉得这两门课都要学下,这里我推荐看《深入理解计算机操作系统》,这本看感觉把这两门课都差不多综合在一起。

    不过这些知识学了后由于很少用,容易忘记,不过我觉得这并不重要,因为学习的过程中,你会学到很多设计、算法思想等。到了大三,学校开了门计算机网络的课程,所以我再次学习了计算机网络,当时看的是《计算机网络:自顶向下》这本书,我觉得讲的很好,并没有看学校的教材。当然,期间也学习了数据库等知识,这些课程的掌握、推荐书籍等,我不说了,可以看我之前的文章【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?

    由于自己写的有点长,字数有点多了,所以接下来可能就写的简洁点了,好像有点有头没尾?哈哈

    七、公众号的开通

    在大三这一年,我开通了自己的公众号,并且也开始写文章,说实话,我开通公众号的目的有三个:

    1、挣钱

    2、通过技术博客给面试加分

    3、训练自己的软能力

    事实证明,公众号给我带来了很多收获,认识了很多人,也挣了些钱。不过说实话,弄公众号,真的花了我很多时间,写一篇文章需要几个小时,还要排版等各种,我觉得我要是不弄公众号,现在学习的东西,肯定多很多,技术肯定牛逼很多。在弄公众号的这一年里,虽然少学了很多东西,不过我并不后悔,因为我说了,技术和成绩只是大学的一部分,玩公众号,我也学了很多其他的东西,例如运营,也接触了这几年兴起的所谓的知识付费,很多人也考这个挣了不少钱。

    并且通过公众号,我也实现了经济独立,再也不用向爸妈要钱了,当时真的挺开心,后来依靠自己的努力买了属于自己的一加 6T,Mac 笔记本,还给爸妈寄了几次钱。玩公众号到现在一年3个月,大概挣了七八万吧,虽然这些钱不值一提,不过对于还没毕业的我来说,真的很开心。虽然在公众号花了不少时间,不过秋招还是凭借着自己扎实的基础找到了想去的大厂。并且靠着公众号,在没毕业前,实现了月入过万。对于公众号这方面的折腾,我觉得我可以再写一篇长文了,大家感兴趣的话,之后可以写一篇关于公众号的历程。

    大家千万别看到公众号这么好挣钱就去玩公众号哈,很多东西看着容易,弄起来还是很不容易的,有多少人是写着写着就放弃的,我当时也中途放过,只能说,公众号还是给我带来了很多收获的,而不止是期间挣到了钱。

    八、烂尾

    感觉这篇文章要烂尾了,哈哈。核心写了自己的大一大二的折腾,一不小心就写了六千多字了,关于步入正轨的学习介绍的很少,主要是因为步入正轨之后,感觉没啥好说的,主要就是那些计算机基础知识的学习,如果要详细写的话,感觉要分三篇文章写,所以我选择了烂尾。后面再写吧,估计这篇近 7000 字的文章写了三四个小时,不知道有多少人是看完的,所以还是不写那么长了,不然就没人看了,嘻嘻。大学这三年,总结下来就是 大一的折腾与探索,大二基础知识的积累,大三公众号的运营以及秋招面试的准备

    当然,上面说的只是技术方面的学习与折腾点,还有很多人生的感悟没写,后面再来写了,虽然你们可能并不感兴趣。好吧,不知道有多少人是看到这里的,看到这里的绝对是真爱。

    九、最后的最后

    虽然自己的大学普普通通,平平凡凡,但自己还算满意,至少有了自己的公众号,没事可以来扯扯淡,找到看自己想去的公司,哦,大学忘了谈个恋爱,大一和初恋分手之后,就佛系没继续找女朋友。现在的目标是,好好学习 sql + Linux + go,好好写技术文章,好好为未来的工作做好准备,好好挣钱!如果你喜欢我写的文章,或者和我的经历似曾相识,欢迎大家关注我的微信公众号『帅地玩编程』每天都会分享数据结构+算法+计算机网络+操作系统+MySQL+Linux的文章哦,不过主打数据结构与算法的文章。

    兄dei,如果觉得我写的不错,不妨

    1、关注我的原创微信公众号「帅地玩编程」,每天准时推送干货技术文章,专注于写算法 + 计算机基础知识(计算机网络+ 操作系统+数据库+Linux),听说关注了的不优秀也会变得优秀哦。

    2、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我,嘻嘻。

    作者简洁

    作者:大家好,我是帅地,从大学、自学一路走来,深知算法计算机基础知识的重要性,所以申请了一个微星公众号『帅地玩编程』,专业于写这些底层知识,提升我们的内功,帅地期待你的关注,和我一起学习。 转载说明:未获得授权,禁止转载

    展开全文
  • 可能很多刚接触 Spring Boot 的伙伴都会有这样的疑问,Spring Boot 要怎么,要不要先 SSM?今天结合自己的经验,和大家说一说我的看法,也顺便推荐几个 Spring Boot 学习资料。 1.Spring Boot 是什么 我们刚...

    可能很多刚接触 Spring Boot 的小伙伴都会有这样的疑问,Spring Boot 要怎么学,要不要先学 SSM?今天结合自己的经验,和大家说一说我的看法,也顺便推荐几个 Spring Boot 学习资料。

    1.Spring Boot 是什么

    我们刚开始学习 JavaWeb 的时候,使用 Servlet/JSP 做开发,一个接口搞一个 Servlet ,很头大,后来我们通过隐藏域或者反射等方式,可以减少 Servlet 的创建,但是依然不方便。

    再后来,我们引入 Struts2/SpringMVC 这一类的框架,来简化我们的开发 ,和 Servlet/JSP 相比,引入框架之后,生产力确实提高了不少,但是用久了,又发现了新的问题,即配置繁琐易出错,要做一个新项目,先搭建环境,环境搭建来搭建去,就是那几行配置,不同的项目,可能就是包不同,其他大部分的配置都是一样的。

    Java 总是被人诟病配置繁琐代码量巨大,这就是其中一个表现。那么怎么办?Spring Boot 应运而生,Spring Boot 是 Pivotal 团队在 2013 年开始研发的一个基于 Spring 的全新框架,试图将 Spring 中臃肿的配置进行简化,使 Java 开发更加轻量与快速,这个框架非常活跃,官方也非常重视。

    Spring Boot 主要提供了如下功能:

    1. 为所有基于 Spring 的 Java 开发提供方便快捷的入门体验。
    2. 开箱即用,有自己自定义的配置就是用自己的,没有就使用官方提供的默认的。
    3. 提供了一系列通用的非功能性的功能,例如嵌入式服务器、安全管理、健康检测等。
    4. 绝对没有代码生成,也不需要XML配置。

    Spring Boot 的出现让 Java 开发又回归简单,因为确确实实解决了开发中的痛点,因此这个技术得到了非常广泛的使用,大概从 2017 年年初开始,Spring Boot 基本上面试必问,现在流行的 Spring Cloud 微服务也是基于 Spring Boot,因此,所有的 Java 工程师都有必要掌握好 Spring Boot。

    从 Spring Boot 诞生的过程中,我们可以看到:

    1. Spring Boot 并非另起炉灶,而是在现有的 Spring 框架的基础上整出来的,它把 Spring 中繁琐的配置进行了简化。
    2. Spring Boot 降低了 Spring 家族的使用门槛,使新手更易上手 Spring 框架。

    既然 Spring Boot 不是另起炉灶,那么 Spring Boot 学习要不要跳过 SSM 呢?听松哥来分析。

    2.要不要跳过 SSM

    这是很多人问我的一个问题,我的建议是:不要

    Spring Boot 基于 Spring,简单且容易上手,很多人想当然的跳过 SSM 直接上 Spring Boot。但是当我们细究 Spring Boot 中的自动化配置、条件注解、Java 配置等东西时,实在找不出太多新鲜玩意,Java 配置是 Spring3 开始提供的,条件注解 也是 Spring 中的东西,很多很多,都是 Spring 中就有的,只不过这些东西在 Spring Boot 时代大放异彩。

    也就是说,即使你跳过了 SSM 直接去学习 Spring Boot,实际上还是在学习 Spring 中的东西,那既然这样,我们还不如坐下来,老老实实把 Spring 过一遍。

    各个领域的开发工程师其实都会面临类似的问题,学习了一些优秀的封装框架之后,还有没有必要去学习底层?当然有必要!因为底层的东西可以让你深刻的理解你目前用的这个东西,也能让你在出问题时快速解决掉问题。

    其实无论你想搞什么技术,都要有牢固的基础知识,这些牢固的基础知识就像肥沃的土壤,可以孕育出各种不同技术方向的牛人,基础掌握好了,学什么框架都快。今天你跳过 SSM 直接学了 Spring Boot,假如有一天 Spring Boot 不行了,Pivotal 团队又基于 Spring 框架搞了一个新的框架出来,那你是不是又要去学一遍?但是如果你一开始就掌握了 Spring 的各种用法,无论基于它搞出来什么样的框架,你都能快速上手。更进一步,如果你研究透了 Spring 中的 AOP、Ioc/DI,你会发现很多框架大同小异,核心思想就是这些东西,那么你在学习 Spring 之外的框架,就会容易很多。

    如果你对 SSM 还不太熟悉的话,可以在公号后台分别回复 springspringmvcmybatis 获取松哥手敲 5 万余字的干货教程。

    3.都要学哪些

    那么 Spring Boot 学习都要学哪些东西呢?我这里列举了一个进阶路线:

    1. 最基础的当然是 Spring/SpringMVC 相关的东西了。
    2. 搭配各种页面模版的使用,例如 Jsp/Thymeleaf/Freemarker/Groovy Templates 等。
    3. 和各种 SQL 数据库的整合,以及一些常见的数据持久化框架,例如 JdbcTemplate、MyBatis、Jpa 等。
    4. 和各种 NoSQL 数据库的整合,例如 Redis、MongoDB、Elasticsearch 等。
    5. 搭配安全管理相关的知识点,例如 Spring Security、Shiro 等。
    6. 缓存的使用,例如 JCache、Ehcache 等。
    7. 和消息中间件的搭配整合,如 ActiveMQ、RabbitMQ、Kafka 等。
    8. 数据校验/定时任务/邮件发送等。
    9. 各种监控的使用。
    10. 结合 WebSocket 的使用。
    11. Spring Cloud 中相关组件。

    上面这些只是我列出来的一些比较常见的技术点,每个技术点都还可以延伸出很多其他的东西,大家可以结合自己的情况,按照顺序一个一个来学,这里边还涉及到很多第三方的框架,例如 Redis、MongoDB、RabbitMQ 等,Spring Boot 的出现只是让这些组件在和 Spring 家族的产品整合时变得更加方便,但是并不会简化这些组件原本的用法,所以,该学 Redis、该学 MongoDB、该学 RabbitMQ 等等,还是一个不能少。以 Redis 为例,学会了 Redis,学会了 Spring 整合 Redis,再回过头来看 Spring Boot 整合 Redis,那简直太 easy 了(大家在公众号后台回复 redis,有松哥手敲的 redis 教程)。

    当然,学习 Spring Boot 最终我们还是奔着快速开发和微服务去的,所以,像 Docker、Spring Cloud 等技术,也是需要去了解一下的。

    4.怎么学

    Spring Boot 发展到今天,网上的资料和图书现在是越来越多了。在看资料学习的同时,大家也要留意以下几个点:

    1. 多看源码。不同于其他全新的框架源码你可能会看懵了,由于 Spring Boot 是基于 Spring 的,所以只要你 Spring 基础扎实,看 Spring Boot 源码可以说是毫无压力。如果看 Spring Boot 源码觉得有压力,那可能你 Spring 基础不牢靠,这个时候不妨放下 Spring Boot,去复习下 Spring。
    2. 每当学会 Spring Boot 中的一个知识点,不妨想想这个功能在 Spring 框架中要如何使用,如何配置,两边都搞懂了,互相印证,加深对一个知识点的理解。
    3. 多多关注 Spring Boot 的发展动态。不同于传统的框架可能一年更新一两次,Spring Boot 更新非常频繁,二次每次更新都会带来一些好玩的东西,可能会有新的 API 加入进来,也可能会有旧的 API 失效,变化大,因此多多关注,避免掉坑。

    最后,我这里给大家列举几个我自己经常关注的几个资源。

    4.1 官方文档

    老实说,Spring Boot 的官方文档是我接触的所有官方文档中最条理清晰浅显易懂的,大家做开发,多多少少都接触过一些第三方的开放平台,很多平台的文档真是让人忍不住想吐槽,框架都做出来了,认认真真写个文档有那么难么?

    不过 Spring Boot 的官方文档可以算是非常非常友好了。虽然是英文的,但是实际上对英文要求并不高,连读带猜,其实很容易明白它的含义,我一般对 Spring Boot 中某个知识点有疑问的时候,都是首选官方文档,当前最新版的官方文档地址是:

    • https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/html

    当然,如果你嫌官方文档打开慢,松哥也帮你下载好了最新版的 pdf,公众号后台回复 springboot2.2.4 可以获取。

    4.2 Spring 官方博客

    每次 Spring 或者 Spring Boot 发新版本,松哥都会去看一下新版本有哪些好玩的东西,增加了哪些内容。我不可能把源码读一遍然后总结出来它的变化,那一般是如何获取权威的第一手信息呢?关注 Spring 官方博客即可。

    打开 Spring 官网,在顶部菜单里有一个选项就是 Blog,关于 Spring 家族产品的任何更新计划,更新结果,都会在这里通知到大家。

    在这里插入图片描述

    松哥也推荐大家多多关注这个 Blog,一方面能够及时接收到一手信息,另一方面还能提高英语,一举两得。宅在家,泡一壶茶,细细的品一品这个网站,真的蛮不错。

    Blog 地址:

    • https://spring.io/blog

    4.3 中文资料

    说到中文资料,就不得不说松哥自己的在线教程和离线 pdf 文档了。手敲了 274 页教程,囊括了 Spring Boot2 常见的各种用法,即有离线的 pdf 供大家下载,也有在线的学习网站,这就是满满的诚意,还没下载 pdf 的小伙伴不要错过。

    在这里插入图片描述

    在线教程地址:

    • http://springboot.javaboy.org

    离线 pdf 下载文档,在公众号后台回复 springboot 获取百度网盘地址。

    4.4 学习案例

    除了这些文字性的东西之外,一些在线案例也至关重要。这里给大家推荐两个仓库,这两个仓库中的所有案例都是基于 Spring Boot2 来做的。

    首先就是我公众号上文章的配套案例:

    GitHub 地址:

    • https://github.com/lenve/javaboy-code-samples

    Gitee 地址:

    • https://gitee.com/lenve/javaboy-code-samples

    这个仓库中的大部分案例都是针对 Spring Boot 的,而且有一个好处就是这些案例都有对应的讲解文章,每个案例都对应一个文章,岂不美哉。

    在这里插入图片描述

    另一个仓库就是我整理的比较完善的一个仓库,但是就没有对应的讲解文章了:

    GitHub 地址:

    • https://github.com/lenve/javaboy-video-samples

    Gitee 地址:

    • https://gitee.com/lenve/javaboy-video-samples

    5.小结

    资料贵精不贵多,关键是要动手去学。大学时候,有的同学热衷于收集各种资料,电脑硬盘塞得满满的,但是就是不学,这些资料再多也没有用。

    展开全文
  • 适合普通大学生的前端开发学习路线

    万次阅读 多人点赞 2021-04-12 15:22:41
    假如你没有明确的目标,或许可以按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,因为我认为,东西列的太多,反而不利于新手的学习,所以我列举的,都是比较必要的知识,当你把这些知识了的时候...
  • 做为一名多年前端,当然希望你来学习前端了,不过后端也不错。 其实还是要看你自己喜欢,前端的工作,就是能看的到,跟所有人会有交流。那后端来说,就是做的工作内容,一般人看不到,业务逻辑相对来说多一点。 ...
  • 对于很多想学习java编程的伙伴来说如何学习是个很的问题,不知道 从何下手,所谓万变不离其宗,掌握基础才是关键,根据本人学习及工作经验给大家总结了入门学习Java的路线,希望能对你们有所帮助。 1、首先要...
  • 但也有些遗憾,大学的时候没有把这些计算机基础课程学好,有些甚至没有,导致工作后有很长一段时间蛮吃力的,全靠近些年“废寝忘食”的补课,才有所好转。 希望学弟学妹们,能从我这些经验中获得一些启发,少走...
  • 程序员如何在“小公司成长”和“公司学习”

    千次阅读 多人点赞 2018-04-11 00:00:00
    除以上两点外,你还可能纠结于现任公司的大小,觉得在小公司做事多而杂,想去公司,在公司工作单一无趣,想去小公司历练,仿佛被困进职场的“围城”无法抉择,如果你也有这样的困扰,下边的文章可能会帮到你!...
  • 2021年【学生Python学习】社区年度总结
  • 编程是些什么东西

    千次阅读 2022-02-26 18:22:36
    (1)分解——锻炼孩子拆解复杂问题的能力 分解,就是把一个复杂的问题拆解成更可执行、更理解的步骤。 例如,这位学员想制作一个飞机大战的游戏,他就自己亲自撰写了项目计划书,一步步拆解自己要实现的...
  • c++和java区别 哪个比较

    千次阅读 2021-04-10 11:34:12
    Java主要包括Web开辟、移动互联开辟等,应用场景较多,市场的需求量上来看Java程序员的市场需求量更一些。Java和C++有什么不同1、Java源码会先经过一次编译,成为中间码,中间码再被解释器解释成机械码。对于Java...
  • 虽然两种编程语言分属于不同的编程思想,用的时间长了觉得差异也不是很,现在就个人的从业经历,讲述下两种编程语言的差异和共同之处。最后,如果大家如果在自学遇到困难,想找一个C++的学习环境,可以加入我们的...
  • 而且还得面试,不要去相信培训机构的高薪就业,那是取决于你的努力和学历,去培训机构的都是皮毛和某些基础,培训出来能力强的学生工资还是不错,但大多数学生都很平庸,甚至部分的人找不到工作就被淘汰了。...
  • 去年十月份的时候,我分享了一篇关于我三年大学的文章:普普通通,我的三年大学,说实话,这篇文章还是激励了不少伙伴,给很多人带来了动力。写这篇那会,我刚结束了自己的秋招,结束秋招的那一刻,可以说是 2019 ...
  • 硬件好还是软件?软件和硬件哪个更吃香?

    万次阅读 多人点赞 2019-09-16 13:44:46
    做硬件好还是做软件?硬件真的不如软件有前(钱)途?这不是一个新鲜的话题,而是很多电子硬件工程师长久以来的无奈和痛楚。尤其近几年,全球互联网发展迅速,让软件人才变得炙手可热。供求关系决定价格,加之软件...
  • 二、GitHub找项目技巧 与盲搜项目不一样的点就在于,你会使用技巧在GitHub上面过滤掉一些你不想要的项目,直接找到你想要的东西。 方法1:按照项目名/描述/自述来过滤 在搜索的时候使用关键词就可以搜索到相关的...
  • 大学四年,研究生三年,我的学习宝典。

    万次阅读 多人点赞 2021-05-20 11:13:45
    看视频,往往是所有东西过一遍,了个大概,但对基本概念不甚明确。知识没有书里详尽,会导致基础不扎实。 所以,看书的过程必不可少。 在学习过程中,我们可以先有个全局观。 因为看过视频,所以涉及的知识点是有...
  • 另外,就是也会看一些公司内网的文章,大公司内网的博客技术分享质量都比较高,所以不会有水文的烦恼,基本上或多或少能收获点东西。 ROI 于我 所以,其实理论上从 17.02 算起,我的学习历程也就 4 年多而已。 这...
  • 后面还是通过去问伙伴才勉强安装完成,你不知道此时内心多少个CNM ,所以前期软件安装的时候一定要看清楚安装教程,安装位置,配置,和版本(中英文版本) 学习3D建模需要坚持,人们常说坚持就是胜利,确实如此。...
  • 普通二本,去了小公司,我也想改变

    万次阅读 多人点赞 2022-03-10 17:28:56
    就是学校并不好,在学校的时候也没有十分刻苦,春招秋招也没有找工作的信息和渠道,以至于稀里糊涂去了小公司,在小公司干的不开心,然后幡然醒悟。 所以也希望给 正在上学,但学校不太的录友,给已经工作,但...
  • 同学们,我是王老师——二哥呀!(笑喷) 巧!前几天有同学私信问过我这个问题:大学计算机专业,面临分专业,计科,软工,大数据,物联网,网络工程,该选什么?再加上高考结束后填报...我之前在的一个公司(十年
  • Android开发该学习哪些东西

    万次阅读 多人点赞 2017-06-15 14:58:55
    开篇: 本人也是众多Android开发道路...2019年更新:已经过了两年,回头看自己曾经写的文章,自己基本已经走完了之前给自己规划的路,Android 开发相关的基础知识部分还是那些东西,不过市场环境也有了新的变化,...
  • 老Java程序员谈谈swing要不要

    万次阅读 多人点赞 2021-05-23 17:02:29
    在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AWT(Abstract Window Toolkit),即抽象窗口工具包。AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形...
  • 大学四年嵌入式学习心得体会

    万次阅读 多人点赞 2018-08-14 00:44:15
    我所在学校是普通的本科...在此写的这篇 Chat 主要是针对大学学习嵌入式的童鞋的,嵌入式不容易,牵扯的内容,知识点太多,你是否不知道如何下手呢?是否在迷茫为什么我的这么吃力呢?下面作为过来人的我为您解...
  • 外包公司与小公司你选哪个?

    万次阅读 多人点赞 2019-07-21 22:00:59
    不过还是不能松懈,接下来会写些docker方面的东西,今天就 谈谈换工作的心得。 1.危机感 网上一直说我们这一行已经不行了,好多互联网公司都在规模的裁员,包括前段时间的oracle中国区裁员。所以当你找工作或是换...
  • 我在阿里工作的这段时间里,都到了哪些东西

    万次阅读 多人点赞 2019-08-18 21:38:28
    1、 有段时间没写过原创了,想了各种理由,发现其实理由就一个,没时间。 我来阿里,已经几个月了。这段时间,最大的感受就是累。我是在今年的四月份加入阿里的...之前就听说过阿里的工作强度,可能会比较,但...
  • 关于大学计算机相关专业学习路线的见解与分析

    万次阅读 多人点赞 2018-03-18 12:25:27
    这个时期你一定要多学东西,当然第二门语言并不意味他将成为你的全部,我推荐你去多接触一下C++、Python、JavaScript、Lua等等。刚刚入门的小白需要迅速增加知识储备,越广泛越,你了解的越多,你越能明白你自己...
  • Linux到底什么

    万次阅读 多人点赞 2019-09-27 21:07:57
    ​我们常常听到很多人说要学学Linux或者被人告知说应该学学Linux,那么Linux到底要什么? 为什么要Linux 在回答什么之前,我们先看看为什么要。首先我们需要认识到的是,很多服务器使用的是Linux系统,...
  • 但是成绩就是很,她化学进了学校的竞赛培训班,数学也很,但是平时完全没有死命的迹象。 第二个,另一个寝室的,我们是寄宿学校要求交手机,她没交,经常看见她玩,成绩也是铁打的特别。 我观察了一下,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 715,027
精华内容 286,010
关键字:

学东西大公司好还是小公司

友情链接: PcCode_200841802012752.rar