一个金融专业毕业的编程小白,花了 5 个月刷完 SICP 并且完成几乎所有习题后(答案都放在 soulomoon/SICP上,写得挺烂)觉得勉强进入了编程的世界了,并且同时在外包公司打杂学习有了一定的网络编程基础。
现在正在为了成为一个合格的 python 后端工程师,成功找到 python 后端的工作,现在面临两个选择:
1 重点继续刷 clrs , csapp ,不啃完誓不罢休,再同时兼顾一下学习 python 和 flask 。
2 重点学习 python ,研究 flask , dajongo 等流行框架的使用,再轻度学习一下简单常见的算法。
这两者该如何抉择?想听听大家的意见
1
ivvei 2017-03-15 22:31:02 +08:00 via Android 3
反正你不急着找工作,那就 1 吧。另外,不要把自己绑死在一门语言上。
|
2
Zachary 2017-03-15 22:38:36 +08:00
1
|
3
lsmgeb89 2017-03-15 22:43:59 +08:00
clrs 有的啃了,习题全做的话,估计得几年。
|
4
kingcos 2017-03-15 22:46:48 +08:00
在看 CSAPP 。。准备看完这个再看 SICP 。。
|
5
pathbox 2017-03-15 22:49:06 +08:00 via Android
在刷一遍
|
6
junnplus 2017-03-15 22:58:40 +08:00 via iPhone
1
|
7
misaka19000 2017-03-15 22:59:53 +08:00
1
|
8
Cbdy 2017-03-15 23:27:27 +08:00 via Android
五个月吓尿
|
9
soulomoon OP |
10
soulomoon OP @kingcos 加油啊 我之前是 csapp 和 sicp 一起看,看了 50 页的 csapp 然后就专注 sicp 荒废了 csapp 了,主要是再之前看了 code 编码的秘密,了解到了一点点硬件的小知识,觉得还是先补充一点抽象的编程思想好一点,现在准备回去吃回头草。。
|
11
Cbdy 2017-03-16 00:11:35 +08:00 via Android 1
@soulomoon 我给你一点建议吧
0. 不要迷恋经典 1. 如果要看算法,其实没必要看算法导论,严蔚敏的数据结构就够了,其他算法需要的时候再看 2. cdapp 是好书,适合当操作系统和组原教材,如果你要补计算机的基础可以看看 3. 如果打算做一个程序员(而不是代码搬运工),你必须掌握的是 c 语言,幸运的是有 k&r 这本很棒的书(学 scheme 写解释器开拓一下视野可以,工作之后离这种东西最好远一点) 4. 做 web 相关的工作,你应该找一本 http 相关的书看( http 权威指南之类),不要盲目去学习框架 5. 你需要提高看书速度 |
12
soulomoon OP @Cbdy 感谢指导啊, 看来 csapp 挺好的,也可以顺带学习 c 语言, http 简单的还懂点,关于刷书速度,没办法,我平时还要上班搬砖,你懂得外包公司诶。
|
13
zetary 2017-03-16 00:21:52 +08:00 via Android
在准备看 SICP 中,如果看 CLRS 建议多刷刷 OJ
|
16
lsmgeb89 2017-03-16 00:42:59 +08:00 1
@soulomoon 所以没必要全做完,性价比很低,除非你是研究算法方向 PHD 。
工作的话,数据结构和重要的算法设计的方法掌握就可以了。然后就是刷题 Big-Oh Notations Proof Methods: Loop Invariant, Proof by Induction Complexity Analysis Methods: Iteration Method, Substitution Method, Master Method, Recursion Tree, Amortized Analysis Data Structures: Linked List, Stack, Queue, Heap, Hash Table, BST, B Tree, B+ Tree, AVL Tree, RB Tree, Disjoint Sets Sorting Algorithms: O(nlog(n)): Quick Sort, Merge Sort, Heap Sort O(n): Counting Sort, Radix Sort, Bucket Sort O(n^2): Insertion Sort, Bubble Sort, Selection Sort Medians and Order Statistics Divide and Conquer Dynamic Programming Greedy Algorithms Graph Algorithms NP Completeness |
17
phx13ye 2017-03-16 00:53:33 +08:00 via iPhone
厉害, sicp 看得我头皮发麻, csapp 也是前面那些汇编,处理器的章节也是一度崩溃
|
18
hxndg 2017-03-16 01:33:53 +08:00
膜拜一下,我一直觉得 sicp 真的不适合作为入门书籍看。。。
|
19
call43848 2017-03-16 03:51:47 +08:00
学金融的不去好好“骗”钱,来这里捣什么乱……
|
20
WildCat 2017-03-16 05:22:58 +08:00
学金融可以搞搞数学做量化,真的
|
21
w2exzz 2017-03-16 08:14:37 +08:00 via Android 1
2 显然选 2
|
22
letv 2017-03-16 08:22:18 +08:00 1
显然是 2 , Python 工程师用到算法和底层的地方很少吧
|
23
kier 2017-03-16 09:47:40 +08:00
学金融的搞毛 python 啊,既然搞 python ,为啥不做量化分析,搞毛后台开发啊,既然要搞后台开发, 为什么不选 java ,搞毛 python 啊
|
25
wizardforcel 2017-03-16 10:22:27 +08:00 1
所以你一开始就应该拿 Python 入门,可以省时间。
你现在应该刷 leetcode ,然后才是 CSAPP 。比起系统,算法的优先级更高。 |
26
irenicus 2017-03-16 10:29:09 +08:00
2 ,学好了赶紧换个正经公司干
|
27
Kymair 2017-03-16 10:38:25 +08:00 1
@Cbdy 这年头看 K&R 真的合适嘛… 这是不是也属于迷信经典的一种?之前读 21st Century C 就深有同感,现在学任何一门语言都是学一整套生态系统, 21st Century C 就会首先教你如何用 Makefile, linker, 用库什么的… 不过,我并不能算会写 C 语言,只是讨论下 :-)
|
28
HarveyDent 2017-03-16 10:39:36 +08:00
难道不是应该刷 TAOCP 吗🤓(千万别当真)
|
29
jmc891205 2017-03-16 10:44:56 +08:00
急着找工作就选 2
|
31
djFFFFF 2017-03-16 10:45:20 +08:00
刷书感觉要和实践结合吧,习题是一方面,感觉项目也挺重要
|
32
pezy 2017-03-16 10:46:06 +08:00
显然你应该用 python 刷 SICP 的。
|
33
Cbdy 2017-03-16 11:15:23 +08:00 1
@Kymair 你说的有道理,但是我认为 k&r 并没有过时
k&r 是一本很薄的书,真正介绍 c 语言的部分只有 100 页不到,但是覆盖了语言的各个方面, 100 页一俩个下午就可以看完了。很适合拿来入门和查阅 一般说 k&r ,基本都是说第二版,实际介绍的是 ansi c , c 语言从诞生到标准化变化很小,现在各个平台实现的最广泛的也是 ansi c ,所以我认为是入门是合适,也没有过时的,实际用的时候工具链更多的是一些操作系统的知识,如果真的要使用 c 语言工作,一本书肯定不够,这个时候就可以看看 apiu , 21st Century C 之类的书 举一个例子, lua 语言的解释器就是完全使用 ansi c 写的,现在仍活跃使用于游戏开发、嵌入式、机器学习等领域 最后我对'迷信经典'的理解:重点在迷信,而不是经典。经典是好的,但是存在一个语境:'需要某本经典'。 po 主这样的情况,我认为阅读 sicp 的短期收益是比较小的,对找工作鲜有帮助而耗费很多精力,所以目前阶段为了达到 po 的目的,可能需要更加适合的经典 '君之楚,将奚为北面?'—— sicp 也许就是那辆跑的很快的马车 |
34
zoffy 2017-03-16 13:36:57 +08:00
我擦,好毅力,我之前看 algs 两个月已经很烦躁了。
另外, csapp 是好书 |
35
rpdict 2017-03-16 16:59:21 +08:00
好想改行干金融,该怎么入门?
|
36
cjyang1128 2017-03-16 18:21:05 +08:00
羡慕金融毕业的,干嘛要来做码农。。虽然我同学做金融的平时也都在写代码,但是他们赚得多啊!别做什么后台开发了,还不好好地去做金融! [滑稽
|
37
Drahcir 2017-03-16 19:38:09 +08:00
同不理解,为何不搞金融要来当码农?金融里也有编程职位啊。
|
38
soulomoon OP 首先非常感谢大家的回复
@lsmgeb89 非常感谢对学习数据结构和重要的算法设计的方向指导,我会 mark 下来。 @wizardforcel 我也是想从 python 入门的,但仅仅是尝试,写 console , 21 点小游戏之类的。尝试去进一步入门,之后也尝试跟着 CS61 的 python 版的 SICP 学过,但是有一个严重的问题,就是它的习题量太少,对于我来说,学过就忘了。只好尝试去学原版。 @感谢支持选 2 的回复,确实这更加现实和容易走一点。 @Cbdy @Cbdy 感谢你们的讨论,又让我学到了一些东西 @djFFFFF 刷书和实践一起食用,效果更加,刷过 SICP 后,对程序的组成,逻辑的走向,有了更好的理解,工作阅读和写 C#的程序时也可以慢慢看出写法的优劣,也有了更清晰的思路去组织代码和复用代码。例如关于书里抽象隔离的部分让我能很快就理解依赖注入之类的设计模式的原理。 关于不选择做金融, 1 不敢兴趣, 2 没有资源, 3- -别再逼我了,我投降┗( T﹏T )┛还不行?。。 |
39
Systemd 2017-03-16 20:54:46 +08:00 via Android
厉害… SICP 什么的看的一头雾水
|
40
soulomoon OP @zoffy 我不烦操是因为我同时还在体验很多其他的东西,
例如折腾电脑系统,刷了一个有一个的系统,体验 ubuntu 和 fedora 的使用后果断装上 macOS, 其实电脑里一共装了 3 个系统, windows (工作使用), linux ( fedora ), macOS (装逼+因为对多屏幕异分辨率的支持真的很好)。所以即使工作是在 windows 学到了一点基本的 bash shell 的知识。 还搭了自己的 VPS 来玩,墙外的大世界, 看到我目瞪口呆。 玩了一下很火的几个前端框架和 nodeJS , docker 之类的(跟 tutorial 写 demo )。还不务正业的去搞一点 Axure- -。。 还写一个专门把新短信偷偷发送到自己电脑的安卓 app , python 端服务器接收( ps 绝对不是专门监听女朋友)(加上了 selenium 用手机发送到被监听手机,然后 pc 端接收到信息去 google 相应的网页)[绝壁没有用的功能] |
41
wizardforcel 2017-03-16 21:33:38 +08:00 via Android
|
43
diveIntoWork 2017-03-16 21:38:39 +08:00
现在都入门都这么凶残了?直接 SICP ?
|
44
soulomoon OP @wizardforcel
有习题的,课后作业就是- -。。 冒昧问一句,你真的有刷过书里的习题吗?。。。。, 一开始我也有想过这点, 用 python 去完成习题,但是 书里的习题很多是以文中的代码为基础的,让你增加,改写功能的,特别是到了第四第五章的习题,需要大量的 load 代码。除此外,某些再加上, symbol 的 quote 和 unquote , s 表达式等等特性。 几乎书里所有的代码都会在习题中用到,想一想,除了翻译过去耗费的绝大时间, 作为新手的我更没有能力去把 scheme 的特性全部都翻译到 python 上 0 0 。 scheme 语法简单,于是这糖我也就吃了。 |
45
soulomoon OP @diveIntoWork SICP 是以前 MIT 的入门教材吧,虽然貌似现在改成 python 入门了。
|
46
lsmgeb89 2017-03-16 22:41:09 +08:00
不过话说回来,还是金融好赚钱,金融的有了几年经验,分分钟赚码农一年的钱,为什么要转呢?
|
48
cqqccqc 2017-03-16 23:07:04 +08:00
金融行业不是挺好的么,为什么想转啊
|
49
soulomoon OP |
50
heqingsb1234 2017-03-17 15:40:41 +08:00 1
千万别刷 这些只是看看了解下原理就可以了 直接看拉钩招聘 选你对应的职位看要求进行学习 你这样有点浪费时间 后期补就行 肺腑之言
|
51
Swift3030 2017-03-17 16:28:27 +08:00
我觉得 SICP 这书吧,你刷了之后真没什么多大用。
|