老师,可以推荐一下书吗?

来源:4-4 链表的遍历,查询和修改

菲迪亚斯

2019-08-02

老师,我大学学的不是计算机,但是已经做了三年多安卓开发了,可是在一些底层的基础知识上还是什么都不懂,之前面试也碰过一些壁,尤其问我java的基础知识还有网络,算法,全都答不上来。很想请教一下老师,像我这样非科班出身的程序员该怎么去学习呢?还能当个好的程序员吗?

写回答

1回答

liuyubobobo

2019-08-03

肯定能当好程序员。我见过的非科班大牛太多了。你其实已经走进了计算机行业,所以已经比很多非科班出身,正在努力转行计算机专业的同学提前了。


今年大环境不好,不是跳槽的好时机。大环境不好,是学习的好时机。武装自己,充实自己,等环境变好了,能飞很远。


没有什么捷径。像科班程序员一样,去学那些基础知识。其实现在网络这么发达,资源这么多,简直是非科班的福音,什么资料都有,从能接触的资源上看,和科班没区别。整体,程序员的基础知识,基本就是算法,数据结构,网络,操作系统,设计模式,软件工程,大概这些。虽然科班学生会学诸如汇编,组成原理,数电,编译这些内容,但其实在面试中,考的很少很少。


关于算法书籍的选择,可以参考我的公号文章:https://mp.weixin.qq.com/s?__biz=MzU4NTIxODYwMQ==&mid=2247483836&idx=1&sn=90854aa76507281403e4dd9cd434a12b&chksm=fd8caefacafb27ec78f999fde4f1217c04c6e2ff28cf51fe511d8fa29d484d9281ff91de8c9c&token=476849011&lang=zh_CN#rd

渡过了初级阶段,推荐《算法4》


除此之外,以应付面试为目的,强烈推荐刷一刷 Leetcode,每周看一两个问题,补基础,不能急,积少成多:https://leetcode-cn.com/


至于其他领域,整体选书的方式,我的建议和上面的公号文章差不多。具体的书籍,其实,我的推荐,和你在网上搜索“【学科名称】 + 经典书籍”,得到的结果是差不多的。因为科班生就是看这些书学习的。当然不排除现在有很多更小众的资源,其实更适合你,但我也不了解了,尤其我现在在国外,接触的大多数资料其实都是英文资料,可能不是和国内的情况。你也可以咨询其他讲基础课程的老师。慕课网很多基本功相关的课程,应该也是很不错的。比如这些:

https://coding.imooc.com/class/355.html

https://coding.imooc.com/class/303.html

https://coding.imooc.com/class/132.html


加油!:)

2
1
菲迪亚斯
谢谢老师
2019-08-03
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程