开学就是大学计算机专业的最后半年了,我该怎样在假期里学习才能掌握更强的编程能力,在面试中脱颖而出?
作者:互联网
毕业后曾经回了一次高中学校,被高中老师拉着给大一的学弟学妹做了一次演讲。今年过年的时候,一个小学弟顺着当时留下的联系方式加了我好友,问了我一些问题。
我觉得这些问题很有价值,或许对正处于大学或者即将走进/走出大学的朋友有所启发,这里就把我的一些建议分享出来。
前言
在当今社会,大学似乎已经成为了一个必经之路,不管好歹,基本上都会读个大学再进社会。
很多人认为,高中才是学习真本事,学干货的时候,高考完就轻松了,想怎么玩就怎么玩,很多大人在鼓励孩子读书的时候也是这样说的。 但是,这样的观点是错误的,大学也是一个非常关键的时期,你在学校的表现会直接关联以后的就业。
那么在大学里,我们应该做哪些准备才能在以后的工作中脱颖而出呢?
作为一个过来人,今天我以自身经历为前车之鉴,给大家讲解一下作为一个Android开发的本科学生在大学里需要注意的一些事情,和一些需要避开的坑。
前车之轨——从渣硕到大厂
笔者是渣硕出身进入社会的。没错,大四的时候我选择了考研,但是并没有进入自己的目标院校,当时父亲在工地受了伤,弟弟在上学,家里又在修房子家里的条件并不允许我二战,我只能接受调剂去了一所双非院校。
今年是我进入社会的第二年,也是我在阿里公司的第二年。是的,我毕业后进入了大厂,现在就分享一下我是如何在完全的劣势下凭借自己的努力进入大厂的经验。
对症下药
计算机专业学习核心就三门课:算法与数据结构,看《算法导论》。操作系统,看 Tanenbaum 的书,这是最最核心的课程。计算机体系结构,看 David Patterson 和 John Hennessy 合写的书。
这里要提醒大家,我们尤其要重视 System 知识,只有基础扎实才能在日新月异的IT行业立足。
另外,在这里也送学弟学妹们一本帮助我拿到BAT 等一线大厂 offer 的算法笔记,是一位阿里大神写的,对于算法薄弱或者需要提高的同学都十分受用,算法一定是计算机学习的重中之重。
(需要的可以复制下方号,加入我们的交流群,共享文件里面有,密码可以找管理员)
// 668350995 (可复制)
再细一点,我认为需要重点掌握学习的就是 :2-3门编程语言(1-2静态编译型 + 1-2 动态/脚本语言)算法与数据结构System(OS、计算机组成、memory、cache等等)工程开发能力(git、linux、shell、环境搭建、部署等)计算机专业的核心课几乎都是围绕着构建上述这些能力来的,比如:计算机学科导论和 C 语言汇编、操作系统、C++、数据结构、离散数学、数值分析和计算机组成原理计算机编译原理和数据库计算机网络与安全和软件工程还有高数、线性代数、离散数学、网络原理、网页设计、多媒体技术、汇编语言、面向对象的设计语言、Java 编程、ASP、SQL等总的来说是 先学习 C 语言和 C++。
教材有:C programming language-K&R、C traps and pitfalls、Algorithms in C 和 Expert C Programming学习数据结构。清华大学严蔚敏《数据结构》,目前还未找到经典的国外教材学习算法。算法导论和具体数学及其应用计算机组成原理。Computer Organization and Design The Hardware-3rd-David Patterson计算机系统。CSAPP操作系统。鸟叔的私房菜和计算机网络当然了。
以上都是基础,不管是以后想搞Java还是Android等移动开发都需要掌握这些。
下面针对我自己的专业,也就是Android开发领域来进行详细的解说吧。
Android 开发进阶学习
我感觉自己是一个比较幸运的人,在我的学习和工作中,我遇到了很多帮助我的贵人,受恩于人,我也乐于分享和帮助他人,下面我来说一下我这一路走来帮助过很多的资源。
大佬的学习路线
我这里有一个曾经带过我的阿里大佬前辈整理的对标阿里 P7 的Android高级架构师的一套大神学习笔记。
大家可以去看一下,如果有需求,可以直接点击此处获取:
耗时298天,8大模块、3382页66万字,Android开发核心知识笔记!
这份学习笔记绝不是在网上那种打包下载的廉价资料,而是大佬他自己需要学到某个方向知识的时候,需要看了,去网上挨个找的,最后汇总而成。
这个笔记分为几个模块,内容并不算多,但贵在精。
大家可以在这里获取,对于学习计算机的同学帮助非常大,且十分系统:这是大佬公众号的原文地址
部分资料展示:
后面的内容大家有需要的可以自己去大佬的原博客去看,我这里就不多说了。
我自己的学习积累
我在大学期间,买了很多书,泡了很长时间的图书馆,也看了很多技术书,但是,我后来发现,其实看书并不在于多,而在于经典和质量。
你把全部专业相关的书看完了也没有啃透一两本经典书籍来的高效。
读经典的书是站在巨人的肩膀上,看得远、悟得深,所以我在这里列出的书,尽量保持少,精简。
这是我大学曾经看过的一些书:
在这里,我也只推荐我觉得比较好的书,宁缺毋滥。
-
计算机思维:
-
CS50,哈佛公开课《计算机科学导论》, B站就有资源,自取~
C语言:
(不要问我为什么要列举C语言,因为移动开发搞音视频开发要用到,而且,这还是一个非常吃香的方向,不信的话,可看一下大佬的这两个文:
-
《C和指针》
-
《高质量C编程指南》
-
《C专家编程》和《C陷阱与缺陷》有时间可以看
-
《C程序设计语言》
提升: