曾几何时,无数人羡慕的码农高薪职业,如今成为了工作996生病icu的代名词。
曾几何时,无数人转型互联网行业,如今却迎来了互联网寒冬。
春招的时候去试了试水,了解一下,才知道如今的互联网门槛已经不是当时的那么容易了,企业的要求已经远远不是只要求简单的crud操作就可以得了,那些bat的大厂更是学历在前,算法在后。对框架底层的要求更是越来越深了。
前一阵子面试了一轮的大数据学长回来,向我们传授了点经验,分享了他面试的经历,大厂的招聘主要是考察两个方面,即广度和深度,广度自然指的是互联网行业各个方面,以及专业的广度,可能会问你数据结构,计算机网络,数据库理论等等,深度上往往指的是源码级别的实现,对某一个点的是否有深入的了解过,一个资深的面试大牛,会跟你一根杆子,看看你能够爬多高,比如:使用springmvc的IOC控制反转的是怎么实现的,使用这个有什么含义呢,为什么使用这个。NIO和BIO有啥区别,NIO有什么好处。
算法:
个人比较后悔没有参加ACM等等算法比赛,对此,内心十分遗憾,大学期间学的东西很杂,忘得快了解的也多,经过2018年在学校的实习的一段经历,虽然技术上并无太大增长,但是也明白了技术永远服务于业务,对人员,项目流程,生产上线,领导的反馈和提拔,在亚信敏捷开发的那段经历和在亚信CRM项目测试的那段很长很长的日子中,明白了这个行业的竞争压力和竞争核心力,技术上的提升要区别于别人,便是深入的理解底层上的东西,能力的上的提升便是解决问题的能力和方式方法。算法作为大厂考察应聘者的首要目标首先是底层的实现以及算法的实现,有句话曾经说:面试造火箭,干活拧螺丝。这样的考查方式,其实是对企业其他人的一种负责,精通算法和底层实现的人,无论是在基础和思维逻辑上都要较其他人更好一些,那里的大厂更是不能要那些猪一样的队友。毕竟有句话说,不怕神一样的敌人就怕猪一样的队友嘛。
再说算法,数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等这些,远远比日新月异的语言重要的多。这些都是本质,是“万变不离其宗”的东西。
真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。
通俗来说,算法是数学理论和工程实现的杂糅,是一门十分神奇的学问。
但是,个人建议,如果你是正在读相关专业的大一学生,希望能够接触一些基本的算法。就算不能熟练掌握,不能够写出优美代码,也需要了解其中思想。因为有可能在以后的某个项目中,你就会用到。这是每个程序员都需要掌握的“内功”。不学,可能就会吃亏。因为,不管在什么时候,算法都是计算机科学领域最重要的基石之一。
---------------------------------------------------------------------------------
另外欢迎关注我的公众号,领取免费干货学习资源