精华内容
下载资源
问答
  • 怎么才算对自己好点
    万次阅读 多人点赞
    2016-09-21 16:05:06

    今天让我们来谈谈代码吧。代码重要吗?当然,代码就是设计(Jack W.Reeves, 1992);代码是最有价值的交付物。我们需要好代码吗?在给“好代码”下个定义之前,这个问题无法回答。那么,究竟什么是好代码?

    看下面这段英文解释:

    ‘Good code’ is code that works, is bug free, and is readable and maintainable. Some organizations have coding ‘standards’ that all developers are supposed to adhere to, but everyone has different ideas about what’s best, or what is too many or too few rules. There are also various theories and metrics, such as McCabe Complexity metrics. It should be kept in mind that excessive use of standards and rules can stifle productivity and creativity. ‘Peer reviews’, ‘buddy checks’ code analysis tools, etc. can be used to check for problems and enforce standards.

    解释如下:

    好的代码是代码运行正常、bug很少、并且具有可读性和可维护性。一些企业自己有所有开发人员都必需遵守的编码规范,但是对于什么样的代码是最好的每个人的都有自己的标准、或者有太多的或太少的编码规则。这有多种原则和标准,例如,McCable 的复杂度度量。的确使用过多的编码标准和规则可能降低生产率和创造性。“同行评审”或“同事检查”代码分析工具等,都能用来检查问题或坚持标准。

    那么接下来我们深入介绍下,什么是好代码的标准呢,请看下面解释:

    一、代码命名规范:

    1、 package包名全部由小写的ASCII字母组成,用“.”分隔。在此项目中,所有的包均以“com.abc.ticket”开头。

    2、 class 类名应当是名词,每个内部单词的头一个字母大写。应当使你的类名简单和具有说明性。用完整的英语单词或约定俗成的简写命名类名。
    【示例】public class UserManager

    3、 interface接口名应当是名词,每个内部单词的头一个字母大写。应当使你的接口名简单和具有说明性。用完整的英语单词或约定俗成的简写命名接口名。
    【示例】interface TicketManagement

    4、 Class 成员属性及变量的命名 (*) 变量名全部由字母组成,头一个字母小写,以后每个内部单词的头一个字母大写。变量名应该短而有意义。变量名的选择应该易于记忆。一个字符的变量名应避免,除非用于临时变量。通常临时变量名的命名规则为:i,j,k,m,n用于整数;c,d,e用于字符。

    5、常量的命名,Java 里的常量,是用static final 修饰的,应该用全大写加下划线命名,并且尽量指出完整含义。
    【示例】static final String SMTH_BBS=”bbs.tsinghua.edu.cn”; 

    6、数组的命名,数组应该总是用下面的形式来命名:byte[] buffer; 

    7、方法的参数和变量的命名规范一致,且应使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。
    【示例】setCounter(int size){ this.size = size; } 

    8、 方法命名(*)方法的命名应当使用动词,头一个字母小写,以后每个内部单词的头一个字母大写。在方法名的选择上应意义明确便于记忆。对于属性的存取方法,应使用getXXX()和setXXX()名称,以isXXX(),hasXXX()来命名返回值为boolean 类型的方法。

    以上几条如果符合就算是好代码了吗?当然不是,这只是代码中最基本的命名规范而已,就算不符合最多就是代码不好看,没什么其他影响。

    二、代码逻辑规范

    1、需求、设计中的重点功能(结合需求/设计的评审产出)

    2、代码格式校验
    action/façade等系统入口是否有数据格式校验
    需要存入数据库的数据字段是否有长度校验

    3、分支/循环
    if-else/switch是否处理了所有分支
    分支的条件语句是否有“副作用”;即,条件语句是否会改变系统状态/数据等
    循环边界是否覆盖了所有元素
    是否有死循环等

    4、异常处理
    是否有“吃掉异常”的情况
    是否记录了异常日志
    如果二次抛出,是否有合理的异常层次/结构
    如果内部处理,对异常的处理是否能保证后续代码正常运行

    5、单元测试
    是否有单元测试
    单元测试是否自动化
    单元测试是否能完整覆盖需求

    6、 事务处理
    事务范围是否合理;或者说,是否把不必要的操作放到了同一个事务中
    事务传播方式是否合理(required,never,new等配置)

    7、sql语句
    sql语句是否正确
    使用mybatis的动态语句时,是否有潜在的sql语法问题

    8、第三方组件
    使用Redis,RabbitMQ等组件,是否真的对组件完全了解,在使用的过程中是否正确执行了开启与关闭操作。

    写到这里,可能会有不少读者认为,代码规范也就这些了吧,按照上面二类写完算是优秀的代码了吗?其实还是远远不够。

    三、可读性,可维护性

    曾经看过一段代码,一个method几千行代码,所有业务逻辑都揉在了一起。然后没有人愿意再维护了,修改一点就会引发不可预知的错误,代码又臭又长。在这种情况只能重构,于是我在部门内部推广二本书《代码整洁之道》和《重构-改善既有代码的设计》并且制订部门自己的开发风格,通过组织所有开发人员练习小项目的开发,使整个部门的开发风格整齐划一,不管是老同事还是新同事,都能够非常快速的上手,程序中依赖度降低,结构非常清晰。

    四、性能瓶颈

    在真实工作中,很多程序员其实在开发完程序后不去真正关注程序的性能和响应时间到底如何,凭的是以往开发经验在开发的过程中尽可能的去减少问题点。

    这样就只能在生产环境中去验证性能问题了,实际这种做法风险较大,所带来的损失也是较大的,我们在开发完程序后,不仅要采用Junit或者JMock这样的工具进行业务功能自测,更重要是能够采用相应的工具和命令进行代码性能和响应时间的测试,在第一关就能够找出可能出现的一部分问题点,那么经常使用的工具和命令如下:
    top,vmstat,pidstat,Hprof,Btrace,Dtrace等命令。

    具体可以参考我以前写过的文章二篇:
    http://blog.csdn.net/u013970991/article/details/52035153
    http://blog.csdn.net/u013970991/article/details/52035133

    五、代码容错

    • 曾经有一个案例:
      X同事在“统一配置管理系统“中将一个参数配置在里面,当参数进行修改的时候相应的程序会马上做出改变进行相应逻辑调整,可是另一个A同事在操作这个系统的时候配错了参数,这时候系统在生产环境中就开始报错,以致于应用程序崩溃,逻辑无法进行下去造成较严重的生产事故,最后恢复完参数故障时间已经进行了十几分钟。针对这个问题当时产生了争论,到底是配置人员的错,还是开发人员的错。

    其实在我看来,到底是谁的问题暂且放在一边,关键是开发人员是否在写程序的过程中有没有多一丝的思考,多考虑一些问题点,程序员要时刻怀着一颗怀疑的心和敬畏的心对待自己写的程序,像上面的问题我们完全可以做一些异常捕获和默认设置,在出错的时候至少能够让应用程序跑下去而不能整体报错,让用户无法继续使用。

    • 再说一个案例:
      某部门在开发“统一配置管理系统”,使用的是Zookeeper组件,而且它的工作原理是当某节点改变的时候,主动去通知所注册的系统,但是有个前提是如果那些系统,有一部分没有得到通知,有一部分得到了通知该怎么办,比如某几个系统在通知的时候正好在重启,这时候zookeeper就不能通知到相应的系统,于是在使用该“统一配置管理系统”的时候,出了生产事故。

    其实还应该再重复说一下,程序员应该持有怀疑的精神面对调用的系统和被调用的系统,不要把稳定、安全、可靠寄托于别人身上。

    究竟怎样写代码才能算好代码?这是一个有争议的话题,每个人的理解可能都不同,关键是通过讨论这个话题制订一个符合自己部门要求的规范,这样有依据的代码才可能成为好的代码。

    更多相关内容
  • 如何让自己发生质变

    前言

    人生就是一个自我投资的过程,关注我,这会是你程序员道路上最好的投资。

    “只有知识的积累,而没有深度思考,终究无法完整蜕变。”——《感动中国》年度热心观众,程序员囧辉

     

    ROI

    ROI,即 Return on Investment,也就是投资回报率(投入产出比),它是一个投资术语。

    在我看来,ROI 法则对于我们的工作、学习、生活,同样适用。

    本文源于个人过去几年的成长、思考和总结,可能不完美,但是相信会有所帮助。

     

    1、ROI 于工作

    ROI 对于工作而言,主要体现在:1)绩效晋升;2)技术能力。

     

    在工作中,很多程序员的工作模式应该是:做需求 -> 做需求 -> 做需求...,永无止境的做需求。

    说实话,这种工作模式的 ROI 是非常低的,因为绝大部分需求都是在已有的框架里进行简单的 CRUD,即使在一些 QPS 几十万上百万的部门也会有很多这样的需求。

    这些需求其实无法让你学到太多的东西,天天做这些需求,技术得不到进步,绩效和晋升也和自己彻底无缘,只能成为别人眼中苦逼的 “老黄牛”。

    述职答辩时,不知道写什么,感觉自己好像很忙,做了很多需求,但是好像没啥有技术含量的可以写。跳槽时,简历不知道怎么写,都是一些 CRUD,真是头大。

    因此,在工作中,我们需要“聪明点”,尽量让自己的工作 ROI 高一点。

     

    以下是我自己这几年总结的常见提升工作 ROI 的思路:

    1)可以做一些简单的 CRUD 需求,也必然会做一些简单的需求,但是绝对不能一直做简单的需求。可以主动去揽下一些线上问题排查、性能优化的事情,主管可能还会夸你积极。

    2)解决问题是让自己技术能力提升最有效的途径,例如:解决线上问题、进行接口的性能优化、进行项目重构等。程序员说到底,就是拼谁的解决问题能力更强,解决问题的过程中会有很多新的认知,能让自己得到很多宝贵的经验。

    3)任务排期时,一定要留有 buffer,可以按 0.7 ~ 0.8 来算,例如 8 天的工作量可以排 10 天,这样万一有什么线上问题之类的情况,自己就能从容的应对,而不是自己默默的加班。

    4)需求是永远做不完的,你就算每天上24小时的班,需求仍然做不完。所以,请稍微自私一点,不要把自己的所有工作时间都排给做任务,尽量每天能留给自己 0.5~1 个小时的时间自由安排,利用这个时间去提升自己:思考、总结、看优秀技术文章、看源码都是不错的方式。

    5)每做完一个任务,不要急着进入下一个任务,一定要进行思考和总结。

    • 对于当前的工作绩效:思考这个任务里面的价值点在哪,产出了什么,提升了多少指标,有哪些是可以在自己之后的述职和晋升答辩里用上的?
    • 对于日后的跳槽:思考有这个任务的复杂点在哪,有没有什么技术点是后面自己跳槽时能写到简历里的,是否有一些点能让面试官觉得很牛逼的?

    将自己的思考通过文档记录下来,经过思考和总结下来的内容通常是后面述职答辩时很好的材料,并且有文档记录,也能让主管看到你实实在在的产出,如果你的思考和总结内容足够好,说不定主管会在他自己的报告里使用上你的内容,那你在主管心中的地位一下子就上升了。

    6)公司只付你 5 天的薪水,尽量不要在周末加班干活,把这个时间留给自己,有家庭的多陪陪家人,单身的可以看点书提升自己,最重要的,每周进行锻炼,身体是革命的本钱,照顾好自己。

    7)解决问题和优化的过程可能很痛苦,有些甚至可能会持续到几个月,但是正是这些让你痛苦的时刻,逼迫着你成为更好的自己。

    8)最重要的:多思考,多思考,多思考。程序员在每次迈向一个新的台阶时,必然要经历一个蜕变的过程,当你不断积累知识的同时,只有不断思考,才能让自己完成量变到质变的飞跃。

     

    2、ROI 于学习

    ROI 对于学习而言,主要体现在:1)面试;2)技术能力。

     

    程序员行业目前内卷非常严重,而 Java 后端毫无疑问是 “卷王之王”,需要学的内容太多了,你要每个都去学,说实话不现实。

    因此,就像我们以前准备考试一样,我们需要将时间合理的分配,优先准备那些重要的知识。

    对于 Java 后端而言,我花三个月学习了 redis,你花三个月学习了 k8s(kubernetes),无论是日常工作,还是面试,毫无疑问肯定是我的 ROI 更高。

    选错方向是很多新人容易犯的错,花了几个月,结果学了个寂寞。

     

    对于 Java 后端知识体系而言,按当前面试题的重要程度/出现频率而言,我对各知识点的分档如下,越靠前越重要,学习的 ROI 越高:

    • 一档:集合(HashMap、ArrayList)、并发编程(线程池、synchronized、CAS、Lock、AQS、ThreadLocal、volatile)、MySQL(索引、锁)、Redis(缓存、分布式锁、高可用)、JVM(运行时数据区、GC、CMS、G1)
    • 二档:Spring(IoC、AOP)、MQ(Kafka)、Zookeeper(注册中心、分布式锁)、RPC(Dubbo)
    • 三档:MyBatis、设计模式(单例、代理)、算法(剑指offer)、分布式理论(BASE、CAP、2PC、TCC)
    • 四档:TCP、HTTP、Netty、SpringMVC、SpringBoot、Elasticsearch
    • 其他

    如果你认为有些知识缺少了,或者觉得分档有问题,欢迎留言和我探讨。

     

    同时,干我们这行的,大部分都要花业余时间去学习,但是很多人的学习思路可能不对,导致学习的 ROI 很低。

    对于个人在业余时间的学习上,以下是我个人觉得的有利于提升 ROI 的经验:

    1)知识的深度和广度都很重要,但是若要选择其中一个进行深造,我会选择深度。我自己也是这么做的,看我博客多的同学也应该能感觉的到,我其实写的知识点不会很多,但是深度基本都是在我能力范围内拉满。

    2)深度是你进入大厂很重要的敲门砖,而且当你的深度足够深时,去提升广度你会发现非常容易,因为绝大部分优秀的开源软件其底层的设计思想都是相通的。

    3)源码会让你更自信。如果一个知识点你没有深挖到源码,你在对线面试官的时候必然就会不自信,因为你没有亲自看过其“真面目”,面试官多问一句,你心里就虚了。

    4)学习源码会让你付出很多,但是同样回报很多,自己亲眼看到“真相”的那种感觉,只能用一个字形容——爽。

    5)学习源码的前提是你对这个东西有基础的了解,了解其核心的使用。在学习的过程中,不要硬怼,硬怼效率很低,而且容易出错。多参考已有的文章和书籍,站在巨人的肩膀上,我们才能看的更远。

    6)99.9% 的公众号/博客文章都只能让你在某个知识点入门,有小部分能让你和 BAT 面试官对线,但是要达到和 BAT 面试官轻松对线的程度,还是需要自己去挖源码,自己去看真相。

    7)看文章不在于多,而在于精。网上好的文章不少,但是水文更多,要学会辨别,文章注重质量而不是数量,一篇好文章的收获是非常可怕的。

    8)文章也好、书籍也好,某个知识点看一遍不懂很正常,收藏起来多反复阅读理解,不懂的名词百度搜搜资料帮助理解,这个过程会让你的知识体系像树枝一样不断向外蔓延,这就是成长的过程。

    9)尝试使用费曼学习法。我写博客是不赚一分钱的(这你还不关注?喵喵喵~),那我写博客的 ROI 岂不是很低?其实不全然是,如果是,那我不是在打自己的脸。

    写博客其实是我落地“费曼学习法”的最终实践,所有你们看到的我发表出来的文章,其背后都可能是我反复看了无数遍文章和源码、无数遍自我提问、无数次的自我总结和思考、无数次的修改,最终才得出来的。

    所以,我能很坦然的说,这就是我能力范围内拉满的文章了。

    10)加一些优质优质优质的学习交流群,三个臭皮匠赛过诸葛亮,很多你想半天想不懂的问题,可能在别人那就是几秒钟的事。当然,那种只有群主每天定时发公文的群,加再多也没用。

    11)有办法结交自己学习领域的大神,就多结交一点,当你不断的成长,到后面你会发现你要学的东西在网上资料很少,很多东西都只能自己硬怼。c++菜鸡的我在看 MySQL 源码时深有感触。

     

    我的学习历程

    都聊到这了,给大家送个“福利”,简单介绍下我的学习方式,供大家参考。

    15.7~17.01:这期间我是完全不学习的,就是一条彻头彻尾的咸鱼,看过我文章的同学也应该知道。

    17.02~18.10:如梦初醒,通过面试题和书籍,快速成长,也开始写博客。

    18.11~20.09:源码、写博客,将每个知识怼深了,通过写博客落地费曼学习法。

    20.09~如今:项目、源码、写博客,换了个业务量很大的部门,努力学习积累中,源码和写博客当然也不能拉下。

    可能有同学会问我难道不看别人的公众号/博客文章吗?

    说老实话,虽然我自己写公众号,但是其实我自己很少主动看别人的公众号文章,因为要找到一篇好文章太难了。

    我看别人文章的情况,大多是在我学习一个知识点时,我会去参考一些其他人的源码分析文章,来辅助自己的理解。

    另外,就是也会看一些公司内网的文章,大公司内网的博客技术分享质量都比较高,所以不会有水文的烦恼,基本上或多或少能收获点东西。

     

    ROI 于我

    所以,其实理论上从 17.02 算起,我的学习历程也就 4 年多而已。

    这期间的学习为我带来了多少回报了,最直观的方式就是看年薪,我在 20 年跳槽的时候的年薪比 17.02 当时年薪已经增长超过 5 倍。

    而如果以 20 年跳槽的时间点来算,其实就过了 3.5 年。而入职新公司以来,我最薄弱的项目也在飞速发展中,所以现在我的售价应该另算,哈哈。

    就目前的互联网行情而言,我知道自己的薪水提升空间还是很大的,所以也还在努力提升自己。

    程序员其实是一个相对比较公平的职业了,你只要坚持努力,多多少少会收到回报。

    送给大家一句话:奋斗吧,将来的你一定会感谢现在努力的自己。

     

    最后

    能多一个朋友,不要多一个敌人,随手就能帮的忙,随口就能说的好话,多做一点,可能会让对方感激很久。

    比如我在文章最后求赞,有些人可能会想,求赞狗我才不点,我就要白嫖;而有些人则很 nice,花了几秒钟,点赞收藏留言一气呵成。

    可能这随手的一键三连,就让我们成为了朋友,以后他有什么工作或职场的问题,我可以给出一些有用的建议,那这几秒钟的 ROI 是不是就很高了。

    展开全文
  • 计算机考研,这样选学校是正解

    万次阅读 多人点赞 2019-11-22 07:24:08
    写了一篇《启舰:计算机专业来说学历真的重要吗?》,一时间N多同学咨询自身情况要不要考研,眼看有点...”我本科绩不高,能报学校吗?“ “我跨考计算机,选哪个学校合适啊?” 我的天……,我感觉我要在...

    写了一篇《启舰:对计算机专业来说学历真的重要吗?》,一时间N多同学咨询自身情况要不要考研,眼看有点Hold不住,索性又出了一篇《启舰:计算机专业有必要考研吗?》,结果,又有同学说:

    “我是渣渣二本,想考985是不是难度太大?”

    “大城市竞争力是不是很大,我考研是不是应该考偏僻点的城市啊?”

    ”我本科绩点不高,能报好学校吗?“

    “我跨考计算机,选哪个学校合适啊?”

    我的天……,我感觉我要在写考研攻略的路上一去不复返了。

    根据自身经验加之搜遍全网,将其整合,方有此篇。我敢说,看完此篇,全网再无攻略。

    千万记得点赞呀,可累死我了……

    报考学校选择绝对是整个考研过程中第一重要的事情,考研的目的,不是考分高,而是考得上!!!

    太多的同学高分落榜,而其他同学低分上岸,这样的案例数不胜数。“方向不对,努力报废”这句话用来形容没有选好报考学校的重要性再合适不过了。

    当年我考研时,国考408考了342分,国家线是315,80%的985/211都过线了。但我却选择的是中科院软件所。差一分没过线。因为本科是渣渣二本,调剂无门。虽最终在同学帮助下进入中国海洋大学,但就我自己调剂而言,那基本上就是落榜了。

    所以,千万不要用你的勤奋来掩饰战略上的懒惰!!!!报考学校,值得你好好研究!!!!

    文末,也帮大家整理了考研复习的各种视频资料、历年真题、报考指南等资源,近500G,免费送给大家。记得帮我点赞呀。

     

    目录:

    • 报考学校有哪些必知秘密
    • 螺旋报考,降低风险
    • 高校排名与分布情况
    • 研究报录比、大小年走向,最终确定志愿
    • 一些建议

     

    一、报考学校有哪些必知的秘密

    1、全日制vs非全日制

    非全日志研究生能继续上班挣钱又能有工作经验还能参加校招,感觉比读全日制还强。

    但事实是,非全在一些企业是受歧视的。最大的优势在于能参加校招,对于不歧视的企业而言,非全的同学有研究生学历又有工作经验,这对于全日制同学绝对是碾压性优势。为此,上海已经不允许非全同学参加校招了。

    而对于强学历要求的岗位,比如事业单位,建议大家还是考全日制。

    2、学硕vs专硕

    专硕分数相对较低,但由于在校年限短,有些导师不招专硕学生,导致专硕名额相对学硕少。后面会教大家如何看某学校的招生人数,这点不必担心。

    很多同学担心专硕学位在就业时有歧视。

    我参与校招、社招这么多年,在企业招聘中,学硕和专硕绝对是一视同仁的。

    在不太坚定读学硕搞科研的前提下,建议读个年限短好毕业的专硕,性价比很高

    但需要注意的是学硕和专硕培养方式不同,如果就业为主,学硕、专硕都可以考,如果想读博、做研究、大学当老师,那还是要报考学硕。

    3、必须要知道的地域优势

    在北上广深和省会地区的学校,你以为单纯的是个学校这么简单?

    在大城市的高校,无论就业还是实习,机会都非常多,而且这些城市一般都会有各个大公司的分部,而犄角旮旯的地区,别说大公司分部,能有几个像样的企业就不错了。

    尤其是想要考二本研究生的同学,更要重视这一条!!!!地域优势,对二本研究生来说,那简直就是救命稻草……我的这篇文章里,详细描述了学历对校招的影响:《启舰:对计算机专业来说学历真的重要吗?》,一般而言,二本、三本、专科的同学在校招时,人家基本上连简历都不会看的。但如果你这个学校是本地的二本,人家知道,情况就是另外一种。而且,本地有大公司分部的情况下,二本的同学可以通过实习的方式进入大公司,并最终转正。

    杭州有个浙江理工大学科艺学院,其实是挂了浙江理工大学名字的三本学校。但它的位置非常好,在阿里对面。这里的学生,每年都有进阿里实习并转正的。而其它的二本、三本学校的同学连简历都进不来。

    地域优势,无论对实习、就业还是学习时兼职,都非常重要!!!

     

    二、螺旋报考,降低风险

    年轻时,我信奉有理想就去拼,哪管它天高地厚。上了年纪,凡事我更讲究性价比。

    你可以像我一样,从一个广西渣渣二本直接报考中科院软件所,中科院是我们学校自建校以来都没人敢报的学校。你可能会成为神话,但更容易跌落神坛!!!后来才知道,人家中科院根本不要二本毕业的学生!!!对整个社会的无知,会使你所有努力白费。

    如果你有自己坚定的梦想,全当我下面这块说的是放P。我支持有梦想的同学,也喜欢和尊重有梦想的同学。我想对你说的是:加油,拼尽自己的一切,无悔就好。

    如果你想保险一点,请参考我下面的建议:

    计算机院校是分三六九等的。大致分为六级

    • 第一级:清北、中科院强所、强985优势专业
    • 第二级:强985高校、普通985但强势专业、211特色强校
    • 第三级:普通985高校、211优势专业、普通特色强校
    • 第四级:普通211、一本强校
    • 第五级:普通一本、二本强势专业
    • 第六级:普通二本、三本院校

    在这些划分中具体有哪些学校,后续将会给出,小赞先点起来

    可以看到大致的分级策略很简单,就是学校好就直接高一档,985>=211>=一本>=二本,能让你在当前等级上能否提一级的,是看你的专业是不是强势专业。也就是211高校强势专业等于普通985。

    所以,大家根据自己当前的学校等级遵循螺旋式上升报考即可。

    即当前在第三级,最保险的是平级读研,如果报考第二级,颠颠脚够得着,如果报考一级,需要加倍努力,建议大家最高跳两级。

    虽然知乎上每年都有二本考上武大,三个月双非上清华,在职半年复习考复旦这类激动人心的标题,但是一定要冷静分析,统计学上概率低于5%的叫不可能事件,希望大家明白。

    三、高校排名及分布情况

    1、名校分布

    前面,我们提到了地域优势,这里先列出一张全国名牌高校地域分布图,供你参考:

    (文末付高清版下载地址)

    说明一下:图中高校分布是按照省份进行划分,标记方法如下:

    这张图,大家可以保存下来,在择校时候,不用特地百度这个院校的百科了(适合对985/211高校不能全面了解的孩纸)。

    2、高校排名

    上面的地图列出了985\211\双一流等名校地域分布,从上面的图中,你也可以明显看出985、211、双一流学校都有哪些

    在螺旋式报考高校划分时,我们是将学校等级和专业优势结合起来进行划分的,下面就是再来分析专业排名。

    至于专业是不是强,国家已经给过明确答案,就是第四次全国高校学科评估结果:

    这时候,再结合螺旋式高校梯度划分,就可以知道,在螺旋式各个等级中,分别包含如下高校。

    第一级:清北、中科院强所、强985优势专业

    就是A+列高校+中科院

    第二级:强985高校、普通985但强势专业、211特色强校

    对应A、A-列高校

    第三级:普通985高校、211优势专业、普通特色强校

    对应B+、B列高校

    第四级:普通211、一本强校

    对应B-、C+列高校

    第五级:普通一本、二本强势专业

    对应C、C-、未参评特色211高校

    第六级:普通二本、三本院校

    不建议考,普通二本类研究生,真的没太大意义,这个学历并不能为你增彩多少,反而浪费了三年。

    需要注意的是,在学校评估里有些并不是211高校的学校,但专业评分很高的学校,也都是值得去读的。这类学校有南邮、西邮、重邮、杭电等高校

    另外,关注公众号【启舰杂谈】,回复『考研』,有482G资料,包括详细的择校指南、历年真题、408复习资料等,这里就不一一列出来了,所以资料免费,大家自己去看吧。

    四、研究报录比

    经过上面的螺旋式报考和一些考试建议,相信你最终会把眼落在几个特定的学校上。那怎么从这些学校里,最终确定报哪个呢?这里告诉你。

    首先,报录比是什么?

    报录比 = 报考人数:录取人数

    如果一个专业考了6个人,录取2个人,那么报录比就是3:1。

    对于备考2020来说,在确定考研目标院校时,报录比的查询是必不可少的数据分析工作。例如,在两所目标院校实力相当,自己无法取舍的时候,选择报录比较小的院校是明智的选择。这样不会因为报考人数太多导致录取分数节节攀高,避免自己成为考研的牺牲品。

    就算是心中已经有了明确的目标院校的同学,做好报录比查询也能给自己带来不少益处,如果报录比过高,就得提醒自己考研路上不要松懈,如果报录比较低,则让自己不要背负太大心理压力,安心准备就阔以啦。

    报录比获取方法有如下四种:

    1、目标院校的研究生招生网

    幸运的话可以在目标院校研究生院看到各专业的报录比,自然是得来全不费工夫,比如中国人民大学都公布了具体报录比。


    中国人民大学研究生招生网

    对外经济贸易大学研究生院

     

     

    你可以百度输入XX大学研招办,查看自己院校的具体情况!

    但如果很不幸,没有报录比的信息,那就得学会分析官网有限的数据。虽然报考院校不会将历年的详尽数据全部公开,但录取人数一般是会公布的。

    如果没有公布录取人数,你可以找一下拟录取的名单,根据该院校专业复试名单和最终的录取名单来算出一个大致的报录比,然后再结合院校当年的全部录取人数,基本可以估出这个院校的报录人数了。

    2、中国研究生招生信息网

    (1)、进入研招网,点击硕士目录(https://yz.chsi.com.cn/)

    (2)、进入搜索页面,学科类别是必填项,其它项如果不知道,可以不填,会自动进行模糊搜索。

    比如下面,我搜索了浙江省有计算机科学与技术的招研究生的高校

    (3)、结果如下,点击目标高校,比如浙大

    (4)、点击拟招生人数和考试范围

    在拟招人数中可以看到今年这个专业总共招多少人(浙大计算机科学与技术今年招收33人)

    在考试范围中,可以看到这个专业初试都考啥

    (5)、结合去看复试分数线,预估今年难度

    同样在研招网中可以找到,不过我地址给你找好了:2019年考研分数查询及复试分数线汇总_中国研究生招生信息网

    这里列出了历年各个高校的复试分数线,从2015-2019年的,点击具体年份即可看到,比如,我们点击浙江大学的:

    比如,我们计算机应用技术是工学类目,他2019年的各科及总结如上所示,你的分数过了这个线,就表示通过了。

    三、网络找前辈

    善于利用网络人脉,找目标院校专业的学长学姐打听,学长学姐在研究生入学的时候肯定也打听过自己当时是踏着多少人的“尸体”进入院校学习的。

    现在网络社交如此发达,找到目标院校的学长学姐还是方便的,可以去目标院校的贴吧,QQ群寻找,既可以找群里热心的学长学姐帮忙,也可以和同期考研的网友互通有无。

    四、打研招办电话

    最后,是一个笨却有效的方法,当然是在官网没公布报录信息的情况下,官网有公布你还打电话,那不显得你傻了嘛。不要觉得不好意思,老师不知道你是谁,隔着电话咬不到你的。

    去目标院校的研究生官网查到研招办的联系电话,然后一个个去打电话咨询,当然切记打电话一定要在上班时间,然后要有礼貌,无论老师有没有解答你的问题,都要说谢谢哦!

    总结:最终确定志愿

    考研大小年指的是如果上一年度的复试分数线较高,就会造成下一年度报考人数的变化,会使下一年度报考人数变少,从而使下一年度复试分数线降低。

    反之如果上一年度的复试分数线较低,就会造成下一年度报考人数的变化,会使下一年度报考人数变多,从而使下一年度复试分数线提高,合称俗称大小年。

    通过历年分数线对比,即可分析出该校初试线的大小年走向。结合报录比,最终确定报哪个学校。

     

    五、一些建议

    1、在能力有限的前提下,建议优先选学校,而后顾专业,好学校≥好导师≥好专业。

    过来人经验告诉你,学校比专业重要,只要是计算大类中的专业,只要有项目经验都不会受歧视。并不是说,你学的专业是网络安全,你就必须从事安全类的工作。如果做程序员就会受歧视。并不存在的!!!!用人单位筛人只有两个标准,第一:学校,第二:是不是学计算机的,仅此而已。

     

    2、有些高校口碑不好,尽量避开

    2018年西南某大学泄题事件(《西南某大学泄题后续:500余考生已重考,多名老师被调查》),你知道吗?导致500多名考生重考。试想,如果事件没被发现,多少人当炮灰?多少人一年的努力付诸东流?

    然而这都是冰山一角,漏出于水面的始终只有一小部分,大部分的黑暗是看不到的。

    你觉得考研公平吗?实话告诉你,只有高考才是绝对的公平。

    考研?保送的怎么说,复试内定的怎么说?复试题提前告密的怎么说?国家监管的只有初试,只要初试过了,复试?一切由人定而已。

    我们怎么办呢?多看看前人的经验,避开那些全网都黑的学校。

    在知乎上两个话题,很多人回答,自己去看吧。

    考研学校有哪些名声不好的大学?

    考研学校有哪些名声好的大学?​

    3、跨考、二战、非一本同学尽量求稳

    对于跨夸的同学而言,本身计算机知识缺乏,并不占优势,即便初试过了,复试也会受些歧视。有关复试如何复习的问题,后面会有文章再讲。如果初试没过,想走调剂?那可就难上加难了。如果本科学校就是211/985的话,尽量选择本校报考,复试前,通过认识的同学介绍下导师,都一个学校的,很好操作。

    总之,建议跨考同学求稳,建议本校了考或平级报考。

    对于二战同学而言,压力较大,也建议求稳,如果此次再失利,想必也不可能再考研了。如果一战时因为复试被刷,建议择校时避开原学校,除非你非它不上,能承担失败的风险。

    对于非一本同学而言,尽量报考普通一本或普通211类高校为主,相对容易报考,毕竟咱们学历是会被歧视的。

    4、要学会利用资源,主动向已经上岸的学长、学姐示好

    每个学校每年都会有考上的学长学姐,看看他们去哪了,有没有你想去的学校,向人家了解下情况。而且如果初试过了,可以在复试前让他把你推荐给他的导师,可能,你就是被内定的那一个。

    考研不光靠的是努力,信息战同样重要,最忌讳的就是闭门造车,要埋头拉车、更要抬头看路。

    5、招生人数少于5人的专业一定要慎报

    对于招生人数少于5人的专业,一定要仔细研究他的历年报录比,慎重报考,本来录的人不多,再加上些内定的,可能根本就已经没有名额了。你的牛逼分数很可能沦为鸡肋。

    6、报考时,报一个保底的,报一个理想的

    考研有两个阶段,第一阶段在报考学校时,是可以同时报两个学校的。但在临考前,会让你确定学校,此时只能确定一个,这个学校就是你最终报考的学校。

    建议在报考学校时,选一个保底的学校,选择一个理想的学校。最后在确定时,根据自己当时的复习情况来具体确定,实在不行,也不至于一年努力白费。

    保底的学校建议根据螺旋报考法中选择本校、平级学校报考。理想学校根据个人意愿而定,同样建议最多不要跨两级。

    但年轻人总是要有梦想的,传奇也总是需要有人缔造的,我的所有策略不过是保全之法,在梦想面前狗屁不是,有梦就大胆去追吧。

    关注公众号【启舰杂谈】,回复『考研』,有482G资料,包括详细的择校指南、历年真题、408复习资料等,所以资料免费,大家自己去看吧。

     

    启舰:452G计算机考研初试/复试资料汇总(初试辅导视频+各大高校复试资料,全免费!!!)

     

    有关考试科目、初/复试复习的问题,我们另外开篇再说,可以先关注专栏,有文章会自己提醒。

    最后,把我考研时,循环播放一年的一首歌送给大家,希望大家都能如愿考到自己想去的学校,加油。记得帮我点赞哦。

    信乐团-海阔天空

     

    关注公众号【启舰杂谈】回复『Android』、『java』、『ReactNative』、『H5』、『javaweb』、『面试』、『机器学习』、『web前端』、『设计模式』、『考研』、『产品经理』、『运营』等关键字获取对应资料,共2184G,涉及43个开发方向,入门/进阶/实战都有,一千多册电子书和九百多套视频教程。

    公众号【启舰杂谈】,作者启舰,出过书、创过业,呆过阿里、现在VIVO,啥都会点的安卓开发。

    启舰:全网2184G计算机各方向视频教程/电子书汇总(持续更新中)​

    启舰:452G计算机考研初试/复试资料汇总(初试辅导视频+各大高校复试资料,全免费!!!)

     

    建议阅读:

    考研相关:

    计算机考研,这样选学校才是正解

    考研杂谈一:计算机专业有必要考研吗?

    程序员杂谈:你还有梦想吗?

    职场、面试:

    启舰:职场中有哪些典型的「学生思维」?

    启舰:有哪些让程序员受益终生的建议【爆帖】

    对计算机专业来说学历真的重要吗?​【爆帖】

    如何在计算机面试中牵着面试官鼻子走?

    在中国程序员是青春饭吗?【爆帖】

     

    更多杂谈文章请参考:

    启舰杂谈文章列表

     

     

    本人所有文章都受版权保护平台签约保护,著作权归启舰所有,未经授权,转载必究,谢谢合作。

    展开全文
  • 就在工资,奖金,销售额的时候……会有一个莫名奇妙的现象。最近就连续有2位同学提出来,明明数据没有错,按计算器时也没有手抖,为什么用Excel计算的结果,和用计算器按出来的结果不一样?有一个结果,不管...

    今天简单一点,分享一个非常实用的Excel小技巧吧。

    很多资深Excel表哥表姐, 都曾经被小难题折腾不轻。就在算工资,算奖金,算销售额的时候……会有一个莫名奇妙的现象。

    最近就连续有2位同学提出来,明明数据没有错,按计算器时也没有手抖,为什么用Excel计算的结果,和用计算器按出来的结果不一样?

    156513379_1_2019031511002899

    有一个结果,不管对错,可能你就忽略了。但是有2个不一样的结果,就一脸懵啊。

    156513379_2_20190315110028162

    曾经有一位同事,没有注意这个细节,把工资表打印给老板签字的时候才发现,这就尴尬了。

    156513379_3_20190315110028349

    (老板:一分都不能多!)

    怎么办呢?两种方法帮你快速解决问题~

    ▌01 以计算精度显示数据

    强行砍掉看不见的小数位,按照你所看到的数据来计算。

    打开Excel的【文件】菜单-【选项】-【高级】,往下滚动找到公式类选项,点击勾选上【将精度设为所显示的精度】

    156513379_4_20190315110028506

    确定以后,整个Excel文件里的数据都会强行转换成显示精度数据,表里如一。

    ▌02 用Round函数

    Round函数可以按指定位数,四舍五入的截取小数位。如果出错的数据都是用函数公式计算得来,那就在外层再套一个round函数强行四舍五入。

    例如,下面的表格,用公式=round(B2,2)

    156513379_5_20190315110028678

    这样,就可以将数据强行保留2位小数啦。

    为什么会有这样的结果?这两种方法,为什么会起作用?

    这个说来就复杂了,它是计算机浮点运算方式的后遗症,对于一些整数的计算显示,会有“富余”。比如,下面是2个时间相减的时间差。看起来结果是整数的1,但是编辑栏里的1后面还拖着一长串的小数。

    156513379_6_20190315110028865

    如果你想刨根问底,可以自行百度搜索浮点运算去了解计算机原理吧(懵脸)。

    黄群金King:其实这些技巧,在百度上随手一搜技能找到答案。为什么还要自己写一遍,发到公众号里?我也想过这个问题。

    以前我总觉得,别人写过了,我还要必要再写吗?可是,在教学的过程中,反反复复会有人碰到,他们没能很快的找到解决问题的答案。恰恰是这样一些小问题,解决不了很耽误时间。

    所以,我还是想把一些高频的常见问题解决方法再写一遍,也是对自己知识体系的整理。以后,再有人问到,我就直接给TA发文章好了。

    展开全文
  • 虽然你进去之后,他们很可能自己都有一套内部用的法库。但是商业公司有没法要求应聘者熟悉他们内部库吧。所以都会贴opencv。而且很多内部开发也参考了opencv的架构。 至于有人说opencv算法效果的问题,实际上...
  • 大家,我是路飞!又是一年毕业季,大学四年还没来得及好好体验校园生活,就匆忙收尾了!这四年时光里,有过目标和追求,也有过遗憾和不舍,从四年前刚踏入大学校门时满怀的憧憬和期待,到现在终于结束了自己长达十...
  • excel如何自动百分比

    千次阅读 2021-07-26 03:56:29
    excel如何自动百分比腾讯视频/爱奇艺/优酷/外卖 充值4折起excel自动百分比的方法:自动百分比步骤1:如图,要求每个项目的花费占总数的百分比。自动百分比步骤2:点击项目1花费右边的单元格(即C2单元格),...
  • 技术经理成长复盘-对自己开发的模块要认真负责

    万次阅读 多人点赞 2020-07-13 13:22:40
    其实做到这些还是远远不够的,因为真正考验你对自己做的模块是否认真负责,是在上线后。假设你开发的模块在今天上线,隔天就出了问题,老大来个连环问: 老大:问题影响面有多广? 我:? 老大:能回滚吗? 我:? ...
  • 但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思。 但是办法总归是有的,正如前篇文章《最近厚着脸皮联系了不少老同学》所聊,虽然我自己不从事这些方向,但寻思了一下,我的同学和朋友中,...
  • 如果要问一个人的眼睛大一些?还是小一些?相信大家都会异口同声的回答大眼睛!可是如果将这个问题中的一个字做改动,变为“大眼镜、小眼镜哪个更...通常我们不建议大家执意选择相对自己脸型过大镜框或者过小的...
  • 从去年开始,一股关于数字藏品的炒作风席卷了互联网,一时间各大平台都开始发行自己的数字藏品,部分数字藏品的价格也被炒到天价。那么,我们作为收藏者,应该如何快速判断数字藏品价值呢? 大家,我是NFT先锋,...
  • 愤怒!竟然还有学校还在教 Java 的 Swing

    万次阅读 多人点赞 2021-05-24 08:34:36
    昨天,有个读者私信我说,“老师正在教 Swing,这个知识还需要学习吗?” 说句实在话,刚看到这个问题的时候,我是想骂娘的!不是骂读者啊,你懂得,骂学校,骂老师。但我硬是掐着自己的大腿忍住了,很客气地回复...
  • 这四个是真正的低代码平台

    万次阅读 多人点赞 2021-04-22 00:13:42
    自此,微软的低代码平台才算完整。 (3)微软为啥要搞低代码、为啥要收购github 微软为啥要搞低代码、为啥要收购github。其实这个逻辑和阿里云+钉钉+宜搭是一个逻辑。 我随手画了一张图来给大家直观解释。 应用入口...
  • 遂问买了游戏的同事借来账号,并安装游戏后打算做一个比较详尽的游戏画面选项的分析和效果对比贴,让大家不同级别效果之间到底有些什么区别,区别大不大,帧数影响如何有个比较直观的了解,也算是本人在出新...
  • 时光不负,我来说不寻常的一年 | 2021 年终总结

    万次阅读 多人点赞 2022-01-04 12:58:07
    欢迎大家关注 Lucifer三思而后行 CSDN 算是我今年收获最大的平台了,收获了近 5w 粉丝儿,虽然没有白嫖到啥奖品,但是这是我写作的起源地,还是有些感慨的,这一年平台改变了不少,期待做的越来越,虽然大家他...
  • 掌握基本规律,轻松玩转24游戏

    千次阅读 2021-06-16 04:10:25
    其实,扑克牌也是锻炼思维和培养数学计算能力的很的工具,比如利用扑克牌计算24的游戏,就在上个世纪八十年代流行全美。往前追溯,1979年我国出版的《有趣的数学》也24数学游戏进行了讨论。24游戏,就是...
  • 工作不上很累吧,项目紧的时候加班是肯定的,我记得最多的时候,差不多每天都是 11 左右回宿舍,周末也不例外。 有那么一个月,加班费比工资还要多。工资到账的那一刻,一点累的感觉也没有,就是觉得:咦,好像...
  • 比特币白皮书:一种点对点的电子现金系统 原文作者:中本聪(ナカモト サトシ/Satoshi Nakamoto) 执行翻译:http://8btc.com 巴比特 QQagent 白皮书原文:http://www.bitcoin.org/bitcoin.pdf 本翻译转载自:...
  • 程序员到底要不要读研,过来人给你几建议!

    万次阅读 多人点赞 2019-03-13 17:28:56
    那时候有个不大不小的理想,就是想进一个互联网大厂,特别是游戏公司情有独钟(你懂的)咱们的网易爸爸游戏开发岗位的要求上明确写着只要 “985以上学历” 的优秀同学,那我这不是连门槛都到不了吗。 这下我可不...
  • 现在很迷茫,完全不知道自己能干什么

    万次阅读 多人点赞 2019-03-07 22:09:17
    “王二,你好,我也是一个大专院校毕业的人,高考没考
  • 程序员转行做运营,曾被逼得每天想离职,最后...

    万次阅读 多人点赞 2022-04-19 23:02:09
    这个时候有上进心的傻瓜肯定会问:敖丙上面的我都会,那怎样才算一个厉害的运营呢? 那问题来了如何成为一个资深运营? 成为运营一年,我觉得我可以简单的回答一下这个问题。 因为我还是个菜鸟,下面的大部分能力都...
  • 工作一周年,带你认识杭州最好的电商公司

    万次阅读 多人点赞 2020-08-13 11:09:48
    面试的时候在电梯遇到这里上班的人,我觉得都会打扮,那个时候我就这个定位时尚的公司暗生情愫。 熟悉我的人都知道我一直想成为一个不那么程序员的程序员,不知道怎么用语言表达,反正我就想会打扮一点,...
  • Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面小伙伴们进行360°的刁难。作为一个在互联网公司面一次拿一次offer的面霸(请允许我使用一下夸张的修辞手法),打败...
  • 职业规划-IT方向(超详细,超具体)

    万次阅读 多人点赞 2019-06-21 21:30:13
    你可以自己算一下,每天10分钟,一年是多少分钟。 刚刚有提到,大脑的内存是有限的,这些资讯也容易分散注意力,我们要尽量聚焦到自己当下的目标和任务上来。也不是说一定不能看,在早晨宝贵的那么些时间里,如果...
  • 三维计算机视觉(四)--关键

    万次阅读 2017-09-30 15:55:28
    关键又称为感兴趣的,是低层次视觉通往高层次视觉的捷径,抑或是高层次感知低层次处理手段的妥协。 1.关键,线,面  关键=特征;  关键线=边缘;  关键面=foreground;  上述三个概念在信息学中...
  • 共勉!...虽说 RPC 的原理实际不难,但是,自己在实现的过程中自己也遇到了很多问题。Guide-rpc-framework 目前只实现了 RPC 框架最基本的功能,一些可优化都在下面提到了,有兴趣的小伙伴可以自行完.
  • 大学四年零基础自学Java的路线

    万次阅读 多人点赞 2020-09-02 12:14:16
    所以这一期我把目前所了解的技术栈加上之前电商系统的经验臆想了一个完整的电商系统,大家会看到很多熟悉的技术栈我相信也会看到自己未接触过的技术栈,我也会每个技术栈的主要技术提一下,至于细节就只能大家在...
  • 发现自己的长处,深入自己擅长的事情

    千次阅读 热门讨论 2018-09-09 11:42:18
    发现自己的长处,做自己擅长的事情 其实就是扬长避短,这里我只想说...但是最终却说不出自己到底哪里,有什么长处优点,有哪些闪光,能够在众人中脱颖而出的. 千篇一律的技术: springMVC、springBoot、M...
  • 与这本书相识大概是四年前是在老家的北方图书城里,当时看到目录的感觉是真的惊艳,当时刚入行的自己来说,这简直就是为我量身定做的扫盲科普集啊。 但是可惜的是,这本书在后来却一直没机会读上。然后经过四年...
  • 我意识到这是个机会,招聘信息里面大部分是邮箱或者工作电话,其实联系的成功率并不高,但是这种私人电话基本是点对点,中间不存在邮箱这种轮询或者工作号码背后的一层Nginx。 我直接把号码拨过去,询问对面是不是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 310,548
精华内容 124,219
热门标签
关键字:

怎么才算对自己好点