该文是前两年因为机缘巧合和阿里的一位p8在一场经验分享会上所得.原来是语音,然后将其翻译成文字.并且进行修正.但仍有部分语句,因为自身能力水平有限,请各位读者见谅.
这里主要从学习,面试,工作三方面讲起,结合其自身经历来分享一些经验看法,希望能够帮到大家.
学习篇
要不要吃透sql范式?
sql范式
不要纠结范式,经验与设计原则少使用join使用冗余来提高查询性能
使用场景考虑
要不要吃透restful编程,命令式编程?
restful编程,命令式编程,只需掌握概念,实际工作中没有意义冗余设计,自行取舍
关于Mycat学习是否有必要?
mycat小公司不要,大公司用,借助mycat实现的能力mycat学的是思想,分库分表思想
我们学习语言的方向
语言类(java,go...)-数据结构-设计模式数据结构与算法多看多学
自我反省是否高效睡眠?学习方式是否有效?
大前端介绍
真正意义上来说,我写一套代码可以再各种各样的一个前端的一个复杂的环境上面,去做一个适配和使用的东西.其实这就是所谓大前端的这种概念
不要纠结到底使用什么语言
学语言本身还是看他所应用的一个场景或范围,但是呢,如果说排一个优先级的话,语言的优先级可以是最高的,也可以是最低的,你确定了什么样的语言,学会了他,然后深入的理解,它用它做一些项目,然后再反过来去看你是否还要去学别的语言。
一前端多端什么概念,值得学习不
然后呢,这个所谓的一前端多端使用的这个技术肯定%是会被普及的,而且呢,现在许多大公司正在做这样的一个事情,所谓的大前端的技术总监对吧,这种薪资都是很高的上百万的级别,这种样子的形式势必就造成了是说我们要统一一个所谓的一个技术栈去做这样的一个解决方案,而且呢,这种技术现在是可以落地的.并不是一个虚空的概念,是可以落地落地的,所以说呢,走前端这条路线的同学从大前端入手绝对是靠谱的.但是呢,就像我说的前端的技术本身就是由各种各样的技术栈堆叠起来的一个大前端的概念,如果说没有办法完全的去理解这样的一些东西的话,其实它的一个路是走不长的,所以说走前端路线要快也要稳。
学设计模式——看书
我举个例子,要你要学设计模式,那毋庸置疑买书是最好的选择,因为第一他没有官方文档给你看,对吧?第二你在视频当中会发现一些录制视频老师虽然讲解了一些东西.但相对来说还是比较肤浅的,因为它对应的并不是一个偏应用型的东西,而是一个理论家应用型的这样一个能力,那可能看书是一个最好的选择。
选择适合自己的学习方式
那我呢,总结一下,就是说如果说你要学习的一些东西是一些开源的组件上面的一些应用,比如说redis,比如说sql,那你肯定是优先通过官方文档的方式掌握他的一个大部分的一个应用层的一个能力,然后再配合一些书籍,包括csdn,博客园等博客网.然后去深入的学习它内部的一些原理性的内容,最终掌握它,这是针对那种中间件或者外部组件第三方插件这种样子的一个学习方式。带着问题去啃官方文档
然后如果说你要学习的是一种纯理论式的一种东西的内容,比如说像一个设计模式.**然后MySQL内部的一个索引的什么原理什么东西,那这种样子东西肯定是要买书.那这个书的话,我建议大家不要买老的,要买那种最新版本的.**因为老版本的,比如说现在MySQL已经出到8了,对吧?你可能就看一下,这种样子啊,不要去看他MySQL5.6这种样子的一些东西。
然后呢,如果说是另外一种体系的是一些创新类的,比如说最近刚刚兴起的一些什么概念,然后呢,要是你想去了解一下.那我建议是通过一些视频的方式专门去找那些大厂出来的那些大佬.去看一下他们分享出来的一些视频方面的一些资料跟经验,然后配合一些文档自己去玩一下,那这些文档可能就是csdnblog这种这样子的一些东西。
关于自己技能树问题
那这个问题你学习的所有技能树里边有什么大数据,AI乱七八糟的这种东西对吧。没有任何一个东西能够回答对应的这样的一个问题,也就是说你的技能树的深度是不够的,你的技能树的广度,OK,深度是不够,那面试官可能会有一个最直观的印象,觉得学校不行,学的太杂,需要不仅将大部分的时间浪费掉了,那这个人的培养的潜力跟我另外一个候选人专门对比,花了一年的时间去深度学习了秒杀相关的所有的知识点来说,你觉得我们这个职位会选择哪一个同学呢。
我不否认知识点学的越多对应的个人的竞争力提升的越多,但是在有限的时间下,人是不可能能够学到学的生那么多的知识。我个人是不太赞同这种就是相当于广撒网的这种方式,因为毕竟是说在你去寻找工作的过程当中肯定是某一个固定的岗位,那其他的另外两个岗位的话,可能就是说跟你的面试,是完全没有关系,即便你告诉他说我懂这一块东西,其实面试官也会觉得你懂得,其实也不是特别深入,而且的确也是这样的肯定不会是很深入的,因为单纯的靠一些理论知识,并且在一个很短时间内是不太可能有很深入的一个表现的。
刚毕业时不要总想要想着学习新技术
针对大家这种所谓的刚毕业或者是刚刚选择工作的对吧,不要去浪费时间,想着要弯道超车.从业去赶在一个所谓的好时节上想去弯道超车,这个东西很多时候呢,你可能会成功,我不否认啊,可能会成功,但是大部分情况下会去失败,白白浪费自己的这些宝贵的时间。
关于人工智能
人工智能有瓶颈可持续性有待商榷.然后呢,关于人工智能这一块呢肯定毋庸置疑,机器学习吗,Python肯定是个王道,不管是对应的一个之前的一些python的库还是tensorflow,这种样子一个python的集成框架
然后关于就是AI这个问题是这样子的吧,就是说,哎呀这个东西呢,它本身呢,虽然说是人工智能,但是他本质上来说呢就是一个算法工程师,然后呢,并不是说java不能做对应的一个算法,假如对应的一个spark的库也可以做算法,然后呢python的库也可以做算法,但是呢,单纯的人工智能这方面的一个行业,这样的一个就相当于技能树的一个竞争力,其实是我个人感觉是比较比较弱的。
答者献身实践
因为为什么呢,我先说一下这种就是,作为一个我个人的话,其实是一个Java程序员,在五年之前还是一个java程序员.后来我们电商的话,其实要做一个所谓的猜你喜欢这种样子的一个推荐的一个模块,然后呢,我就像同学刚才说所说的我持续学习做了对应的一个推荐算法,那其实呢,就是说算法这个东西跟工程这个东西,在绝大部分的公司当中是隔离.也就是说算法工程师只做算法,他不