致在校大学生:作为一名移动开发程序员,除了编程语言本身,这五点你必须知道
Posted BUGgogogo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了致在校大学生:作为一名移动开发程序员,除了编程语言本身,这五点你必须知道相关的知识,希望对你有一定的参考价值。
有不少大学生表示在学校里很迷茫很浮躁,完全静不下心来做事,现在大三了,突然发现身边很多同龄人都考研的考研、进入大厂的进大厂,不少同龄人已经有房有车,月入过万,经济完全独立,有的甚至准备创业自己当老板了。
相比较之下就感觉自己一无所成,知道自己该努力奋斗,但是很迷茫,不知道该怎么学习。希望我可以提出一些建议。
在这里,我就针对还在大学的准攻城狮们提出一些关于学习的建议。
一、端正心态,少想多做
很多人都说:为什么我看到好多同龄人都很成功,好多年轻人,不是买房就是开豪车的,难道是错觉?
关于这一点我只能回答:那是你们刷抖音、刷知乎、刷脉脉刷多了。
- 抖音上人人都是帅哥美女,不仅有颜还有钱,人均吴彦祖开豪车,不是这样的都不好意思拍视频露脸。
- 知乎人均 985、211高学历,刚下月球,年入百万,全是年轻有为的时代精英,不是这样都不好意思回答问题。
- 脉脉上人均 BAT,滴滴、华为、小米都是垃圾公司,年终奖不拿它十个月以上都不好意思说出口。
上面这些都是众所周知的,但现实中年薪百万的真的是凤毛麟角,仅有的那几个基本是极品中的极品,精英中的精英了。
年入百万了暂且不提,如果可以年入二十万,就能跑赢全国 90% 的人了。
所以说,有点焦虑是好事,焦虑会催生自己进步,但是过分焦虑会让自己丧失信心,丧失奋斗的动力。与其想那么多,不如脚踏实地先走走看。
二、重视底层基础能力
你是不是也曾觉得数据结构和算法,跟操作系统、计算机网络一样,是脱离实际工作的知识?可能除了面试,这辈子也用不着?我曾经也这么想过,因为在未真正走出社会之前,思想一直处于封闭的状态。后来阅读了很多别人写的文章,才猛然发现这种想法是错误的。
(一)现在的面试越来越重视底层基础
校招的时候,参加面试的学生通常没有实际项目经验,公司只能考察他们的基础知识是否牢固。社招就更不用说了,越是厉害的公司,越是注重考察数据结构与算法这类基础知识。
相比短期能力,他们更看中你的长期潜力。以字节跳动为例,有的热门岗位招实习生不要求有任何的技能,因为进去直接一对一有导师帮你带你,招聘需求只有一个,有扎实的计算机基础。
(二)基础知识是万变不离的本宗
当面临行业变动、新技术更迭的时候,那些所谓的新技术,核心和本质的东西其实就是当初学的基础知识。掌握了这个“规律”之后,学任何东西都很快,任何新技术都能快速迎头赶上。
(三)基础决定了我们的高度
老人常言:基础不牢,地动山摇。
基础知识就像是一座大楼的地基,它决定了我们的技术高度,而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”到位。
在这一点结束再送给大家一句很扎心,同时也很现实的话:“技术宽度决定了你是否能够进入一家公司,技术深度这决定了你offer的等级”,这也就不难解释了为什么我们的同学能找到工作,但薪资却不是很高的原因了。所以,同学们,请务必重视底层基础能力!!!
(四)建议:多看信息密度大、质量高的资料
这里建议大家多看一些计算机基础知识的书籍,下面是一个基础知识的经典书单,希望大家好好看看:
- 计算机组成原理知识:《深入理解计算机系统》
- 计算机网络:《图解 HTTP》、《图解 TCP/IP》、《网络是怎样链接的》,再深入的话推荐《计算机网络:自顶向下》
- 操作系统:《现代操作系统》、《操作系统—精髓与设计原理》、《Linux内核设计与实现》、《鸟哥的 Linux 私房菜》
- 数据库:《SQL 必知必会》、《高性能 mysql》、《Redis 深度历险:核心原理与应用实战》、《MongoDB权威指南》
- 设计模式[图片上传中…(image-de00eb-1623157138906)]
我提到的这些书籍,虽然读起来很费时间,但学完后知识也会更加的全面和系统。这些可以说都是业界公认最优质的资料,如果你能认认真真从里面学到 70%,可以说已经领先大部分人了。
这里推荐一份很多人都推烂了的《移动开发架构师筑基语言基础》
,如果是已经确定了移动开发的方向,这份资料相信你不容错过。
// Wechat number(可复制):
study5233
三、打造一个自己的知识体系
所谓“知识体系”,指的就是把大量却不同知识点,系统、有序、指向性明确地组合成某种类型的知识架构。通过这个知识架构,我们可以更好地理解某些问题,解决某些问题。
当然,建议“知识体系”的这个过程并不简单,一般都需要经历以下六步,这里就不一一展开,想要更加深入了解可以自己去做进一步的了解。
作为一名有着快八年开发经验的老android,这里我把自己的一个知识体系分享给大家,给大家提供一个参考。
- 底层基础(或者可以叫他《移动开发架构师筑基必备技能》第二点里面有分享,这份资料是一个基础知识的整合)
- Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
- 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化
- 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
- NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
- 微信小程序:小程序介绍+UI开发+API操作+微信对接
- Hybrid 开发与Flutter:html5项目实战+Flutter进阶
我喜欢一边学习一边总结,也喜欢做分享。
这些年来,我一直都在充实并丰满自己的这个知识体系,并把自己的总结整理成为了《移动开发架构师八大体系学习笔记》
(对应上面我的只是体系框架图),有需要的朋友可以直接点击【此处】或者通过下方代码块找我免费获取全套资料。
// Wechat number(可复制):
study5233
四、积极培养各方面的兴趣爱好,少玩或者不玩游戏
我说的“少玩或者不玩游戏”,这里的游戏不单单是指传统意义上的各类卡牌、沙盒、MOBA等游戏,还包括各类短视频、视频、广播等视听娱乐软件提供服务。
现在是一个信息爆炸的时代,充斥着大量的“垃圾信息”。整个社会也弥漫着一股浮躁的气息,我们要学会过滤掉无用的消息,将有限的时间和精力放在能够带来长期价值的事情上。
所以我建议大家在**业余时间,少沉浸在信息中,多培养下自己各方面的兴趣爱好,**例如我一直热衷的事情:阅读、写作还有画画(后面自己还建了一个公众号,定期更新)。
另外,考虑到咱工作必定长期久坐,**也建议大家没事的时候多健健身,跑跑步,注重身材的管理。**这实际上也是一种变向的自我投资,回报就是让你拥有一个更加健康的身体,和更全面的综合能力。
我很早之前也会玩游戏,但后面发现游戏带给人的刺激,快感都是临时的,麻木的。跟刷短视频一样,在你稍不注意时收割你宝贵的时间。等时效一过,你就感觉不到充实,甚至会有些许“愧疚感”。
因此,我彻底将游戏给戒了,然后我发现,原来自己有这么多的时间可以利用起来,做自己想做的事情,这本身就很有意义。对于我来说,有了更多的时间看书,有了更多的时间花在写作输出上,有了更多时间去经营自己的社群,与读者粉丝交流,有了更多时间去社交,接触更多优秀的人,向各行各业的前辈们取经 。
相信坚持下去,你会对生活充满热情,对未来充满期待,整个人的状态也会变得更积极主动,这是你把时间花在“玩游戏”,“刷短视频”上所收获不到的。
五、伟大的牛逼背后是傻逼式的坚持
计算机这个行业已经很卷了,对吧?但每年依然有大量的新人涌入,你不刷题,你不下劲,不钻技术,自然就会有人把你甩在身后。
想要牛掰,想要赚钱,找到好工作,拿到满意的 offer,建议收藏本文,有时间了好好看看我上面说的这些点,按照我上面说的来!该打基础的使劲打!
你可能会在很多地方看到一些大牛侃侃而谈,似乎他们在吹逼。但是你要看到他们背后的辛苦,他们背后付出的努力和付出的汗水!
众所周知,咱这个敲代码就是门手艺活,不信看看你键盘上的 ctrl+c 和 ctrl + v,咳!总之,该敲的代码一定要敲!
最后祝大家有一个充实而愉快的大学生活,都能学得愉快,学得开心,假期里拿到大厂的实习offer,毕业后直接顺利转正, 祝一键三连的朋友都能收获满意的 Offer,成为大牛!
以上是关于致在校大学生:作为一名移动开发程序员,除了编程语言本身,这五点你必须知道的主要内容,如果未能解决你的问题,请参考以下文章
致在校的学弟们:作为一名Python开发程序员,除了编程语言本身,你还须知道这五点
致在校的学弟学妹们:作为一名Java开发程序员,除了编程语言本身,你还必须知道这五点