是打算做高性能应用开发或者面向领域的科学计算软件开发, 也不可避免的需要做一些维护管理工作, 但是目前:
为了尽快地步入工作正轨和更好地跟新同事交流, 打算在这1~2 个月时间恶补一下这 3 方面的知识. 想请各位不吝推荐一下相关的优秀书籍, 指明一条前进的道路, 谢谢各位领路人!
补充下自身目前状况:
整理了一条路出来, 先把基础的熟悉了解下, 其它的等去了再看情况了
linux基础 (先快速过一遍, 大致了解概念原理): 1). 鸟哥的Linux私房菜 2). Linux就该这么学
扣linux细节(有操作系统基础, 大致过一下, 了解基本原理): 1). [Robert Love] Linux System Programming 2nd Edition 2). [W. Richard Stevens, Stephen A. Rago] Advanced Programming in the UNIX Environment, 3rd Edition
网络(最欠缺的部分, 相关章节认真学习下): 1). Computer Networking A Top-Down Approach (7th Edition) 2). 图解TCP/IP 3). TCP/IP volume 1
集群相关(先了解一些概念原理) 1). [魔软运维社] 大规模Linux集群架构最佳实践:如何管理上千台服务器
1
scriptB0y 2019-06-24 01:33:16 +08:00 6
Linux 入门和基础概念可以看
- Linux system programming - APUE 再推荐一本: - Designing Data-Intensive Applications 运维类的工作主要取决于工作团队用什么运维体系了。 我在翻译一本跟 Python 有关的并行计算的书,有兴趣可以关注一下: github.com/laixintao/python-parallel-programming-cookbook-cn |
2
tison 2019-06-24 01:37:55 +08:00 2
Designing Data-Intensive Applications
这本是真的好书。我是做分布式计算平台的,这本书对分布式系统会遇到的问题做了全面的介绍性讨论。部分内容深入,引用广泛,可以认为是一篇大综述性论文。 |
3
yuikns 2019-06-24 04:48:29 +08:00 1
我觉得一直在 Windows 上,从没用过 Linux 而想要试水 Linux 的话,鳥哥的 Linux 私房菜 ( http://linux.vbird.org/new_linux.php# ) 挺好的。它主要是 CentOS 的用户级别基础使用。
你随便哪个虚拟机装个 CentOS 跟着走一趟,感觉有困难跳过去,一周内可以过一遍。 MPI 那个我看的是教科书并行程序设计导论 Orz 网络我看的是 UNIX Network Programming, 它基于的是 FreeBSD,有些和 Linux 并不一致,而且耗时挺多的。不过我看得挺有趣的。 非 HPC 领域,只 distributed 貌似搭上点关系,轻喷... |
5
ryd994 2019-06-24 06:21:20 +08:00 via Android 1
那你是怎么进去的......
|
6
EPr2hh6LADQWqRVH 2019-06-24 06:28:51 +08:00 via Android 3
。。这个下家怎么洋溢着一种国企特有的招 人 风气。。
主要招的是 人 ,专业技能什么的没啥所谓,背景履历是一个大行业就行,现场培训无压力,其实培训不成也没压力 你这不会是几桶油里面的哪个找油算命中心吧 |
7
yuikns 2019-06-24 06:52:25 +08:00
@avastms 据我所知有些大公司,博士点都是这样。
进去主要靠各种原理笔试题和算法。推得一手好公式,刷得一手好 LeetCode 就能入门,然后再培养特定需求的样子 |
8
strcmp 2019-06-24 07:15:33 +08:00 via iPhone
咋找到工作的,?
|
9
dlsflh 2019-06-24 07:42:12 +08:00 via Android
国企嘛,你只要够人家的硬性标准,至于有没有相关的经验不在乎的,入职之后可以慢慢学。
|
11
Cellei 2019-06-24 08:34:50 +08:00
超算中心是干嘛的,听着高大上
|
12
ys0290 2019-06-24 08:35:04 +08:00 via iPhone
可能大家所处公司私企外企习惯了专业性强的招人模式,一时间没有反应过来,我也没有反应过来,怎么进去的
|
13
AomanHao 2019-06-24 08:46:14 +08:00
专业技能跟招聘简介满足一半就可以去投了啊,有的公司的招聘简介写得太多,其实用不上那么多
|
14
shakoon 2019-06-24 08:52:36 +08:00
我也好奇楼主这个样子是如何找到这个工作的,是事业单位招考吗?
|
16
justou OP @yuikns
@ryd994 @avastms @strcmp @delectate @ys0290 @shakoon 统一回复下你们的疑问: 其实, 我也很纳闷儿啦! 面试只是讲了个 ppt 报告, 然后问了些问题. 因为运维已经有专人了, 我顶多去打辅助, 还有跟用户打交道, 我只能瞎猜是看中科研能力和自学能力吧(我的报告以问题为导向, 为了更好地解决那些问题, 一步一步深入计算机原理, 也学了一个个编程语言); 没有笔试, 也没刷过什么算法题, 对我来讲, 有这个时间的话, 不如花在数学物理上. 我初心想是做关于科学计算方面的研发, 当知道要参与运维和跟用户打交道时其实有点打退堂鼓,但是想想如果以后想在科学计算上走得更远, 则必须要依赖于大规模集群, 必须跟形形色色的人打交道, 而这些方面是自己现在最欠缺的, 所以应该抓住这个机会准备挑战下自己, 当然那边学习资源跟学习环境都很不错, 对我吸引力很大. |
17
lingxi27 2019-06-24 09:12:25 +08:00
都说那么多了,索性说明白呗
|
18
Tony042 2019-06-24 09:12:50 +08:00
@Cellei 进行科学计算,举几个例子比如模拟材料在极端情况下的性质,蛋白质折叠,气象预测。大部分都是用 mpi 和 C++,基本上 coding 很少,主要是用分析得到的结果,所以需要专业功底,算出来的数据不会分析也不行
|
19
Tony042 2019-06-24 09:15:05 +08:00
@justou 科学计算的研发工作门槛有点高,不仅得懂 C++还要有很高数学物理知识,专业性要求很高,个人猜测楼主可能会负责超算的运维比如服务器的维护,安装 compiler 和专业软件什么的
|
20
justou OP @Cellei 现在很多科研的进行都需要大规模的模拟计算, 有钱的可以自己砸钱买服务器; 当然为了某些地方的科技发展, zf 也会斥巨资建立一些超级计算机中心, 各个科研平台可以利用这些计算资源, 不需要自己维护管理, 只需要交租金就行了; 超算中心负责维护管理这些设备(运维), 培训用户, 当然也会开发一些专业软件(我其实是想做这个)
|
21
ys0290 2019-06-24 09:19:44 +08:00 via iPhone
你这属于没说完,不是啥也不会
|
23
alpha2016 2019-06-24 09:31:18 +08:00
卧槽,这工资高吗?感觉很不错的岗位啊
|
24
justou OP |
25
wikinee 2019-06-24 09:39:48 +08:00 1
膜拜大佬,我都是从《鸟哥 Linux 私房菜》入门的。最近新版本系统,入门的书,我推荐 《 Linux 就该这么学》。
这推荐是不是有点 low... |
26
0x000007b 2019-06-24 09:40:21 +08:00 via Android
楼主能推荐几本分布式计算的好书吗
|
29
ys0290 2019-06-24 09:52:28 +08:00 via iPhone
@justou 可以看看鸟哥私房菜,有底子可以快速过,没底子就慢慢过,物理生物都能玩转,这点基础不在话下,运维当年我就不清楚啦,祝成功
|
30
justou OP @0x000007b
没做过分布式计算, CPU 并发的也只看过这两本: An Introduction to Parallel Programming C++ Concurrency in Action |
32
darknoll 2019-06-24 10:36:06 +08:00
恶补啥啊,有时间就玩呗
|
33
justou OP @darknoll 哈哈, 把看书学习当成玩就行了. 一直想熟悉下 linux 方面的东西, 但一直用不上, 看个开头就丢下了, 反复几次, 这个契机得好好利用起来一次性上道
|
34
fullpowers 2019-06-24 11:49:53 +08:00
sz 的?
|
35
crazypig14 2019-06-24 12:46:13 +08:00
如果是比较深的 linux ops 工作,最后都会回到官方文档中去,兜兜转转看一圈书反而低效了
|
36
www5070504 2019-06-24 12:51:45 +08:00
这些书大概一年也不一定能看完啊。。。。。。。。。。。。
|
37
SunFarrell 2019-06-24 12:59:21 +08:00
图像算法工程师,同一种职业啊,这职业偏硬件,和互联网有点不搭
|
38
monimonipo 2019-06-24 13:18:17 +08:00 1
这些书我全都有电子版,需要吗,相关类别的还有很多很多。。。
|
39
lisicong 2019-06-24 13:20:07 +08:00 via Android
老哥能介绍一下什么硬性指标 /条件能进这种单位吗?学历,专业,考察知识点之类的,谢谢了
|
40
justou OP @crazypig14 可能会那样, 但是基本背景知识还得自己去补一补
@www5070504 不会线性地看, 找到主线, 构建自己的知识体系就行了, 需要细化的地方以后可以针对性地补 @SunFarrell 的确跟互联网关系不大, 不然我网络知识不会是一片空缺了. 干了两年, 主要工作有根据需求实现一些图像算法, 一些关于相机的应用, 各种自动化批处理任务, 大把空闲时间都在看数学跟编程相关 @monimonipo 谢谢, 我也有的 @lisicong 你可以参考下这个地方的招聘要求: http://www.gaoxiaojob.com/zhaopin/zhuanti/zsdxgjcjjsgzzx2019/index.html |
42
AndroidEngineer 2019-06-24 17:43:19 +08:00
学什么学,找外包得了
|
43
secondwtq 2019-06-24 20:34:18 +08:00
@tison 互联网的分布式跟 HPC 的分布式貌似不是一个分布式 ... HPC 更偏向于并行方面
HPC 我理解主要还是算法模型方面,把计算资源利用起来就行,细节底层库去处理,比如 HPC 可能很少考虑某个机器 down 掉了怎么办之类的 DDIA 这个就完全就是面向用便宜货的互联网吊丝的,你把这东西给 HPC 的人看,就冲全书对 GPU 都只 字 未 提这一点,人家就会觉得这不配 "Data-Intensive" 这个名字 |
44
BIAOXYZ 2019-06-24 20:45:03 +08:00
我就奇怪楼上几个问 lz 怎么进去的哥们。。。人家 LZ 条件也不算差啊,只是在学校里接触不到 linux 相关的东西而已。校招要求要多高啊。。。
|
45
glouhao 2019-06-24 20:55:50 +08:00 via Android
我觉得面试的人不啥,楼主进去肯定梦里超强,大家不要用质疑的态度。
|
46
dot2017 2019-06-24 20:58:18 +08:00
在张江的大佬么
|
47
dabaibai 2019-06-24 21:00:12 +08:00
超算中心 , 嗯,牛逼
|
48
bookit 2019-06-24 22:20:40 +08:00
因为中心的领导大概率自己也不懂。。哈哈
|
50
polebug 2019-06-24 23:18:51 +08:00 via Android
别理楼上 他们都是柠檬精🍋 天天酸这个那个
|
51
ryd994 2019-06-24 23:26:53 +08:00 via Android
|
53
autogen 2019-06-25 04:23:06 +08:00
超算很方便,就是一台,不需要像集群一样管理上千台机器
|
54
ryd994 2019-06-25 08:23:48 +08:00 via Android
@autogen 超算就是一台?
喵喵喵?超算就是集群啊,计算节点网络能力超强而已。储存节点也是集群。计算节点还可以分片分时使用,怎么管理复杂去了。 |
55
Akiyu 2019-06-25 08:51:08 +08:00
好像书都差不多齐了...
我再推荐两本工具书吧? Linux 命令行与 shell 脚本编程大全 vim 实用技巧 顺便, LZ 推荐一下数学书籍? 我挺感兴趣的 |
56
oreoiot 2019-06-25 09:55:06 +08:00 via iPhone
战略性 mark。
刚刚接触高算,不过是用户端,使用 PBS 提交计算请求。 |
57
oreoiot 2019-06-25 09:59:43 +08:00 via iPhone
@monimonipo #38 i.o#outlook.de 非常感谢!
|
60
justou OP @Akiyu 哪方面的数学?
我最近几个月都在梳理线性代数跟矩阵的东西, 推荐一本我反复看过的书: Linear Algebra and Its Applications, David C. Lay. 最新版大概是第 5 版, 还有两门公开课: 1). 哈工大 矩阵分析 严质彬 2). 北大 高等代数 丘维声, 结合他的书, 可以形成一个比较完整的体系 在学校的时候就是没学过高代, 导致后面的很多专业课程都一知半解, 感觉哪儿断了一截一样, 就是代数学基础不够; 另一方面是分析学, 微积分跟着傅里叶分析, 复分析, 实分析, 泛函分析, 分析学平时除了微积分其它用的比较少, 什么拓扑学跟微分几何更用不上, 平时都在处理一些工程上的东西, 所以用的都是工科数学 再一个方面是统计与概率, 以及后续课程, 这块也是弱项, 我也只有个大学概率与统计基础, 看过随机过程平时用不到也忘了 我想给数据科学和物理学都打个比较坚实的基础, 所以准备从这三方面入手, 而代数学里面的线代跟矩阵可以说后续所有课程的奠基石, 里面的概念要融入血液中, 我现在还也还在奠基. 还有我觉得学的数学只需要比现在工作用的数学深一点广一点就行了, 那么下次就可以接手比现在高端一点的工作, 如此反复, 就能一步一步迈向比较高端的领域, 我是依这种想法来做的 :) |
62
wuhao 2019-08-04 20:05:04 +08:00
做超算行业的小伙伴加我 wx 一下 816 616
|