1
Mithril 2016-12-02 10:30:02 +08:00
还是先学学英语吧。。。
|
2
lixile 2016-12-02 10:32:52 +08:00
转行路茫茫 我还在学习的路上 同在杭州 在其他行业 准备入程序员坑
|
3
dtysky 2016-12-02 10:38:04 +08:00 via Android
|
4
realpg 2016-12-02 10:43:01 +08:00
算法烂并不怕 很多场景用不到很强悍的算法
结构要清晰 思路要明确 另外好好学习英语 |
11
gimp 2016-12-02 10:51:23 +08:00 7
|
15
Mithril 2016-12-02 10:59:10 +08:00
@liyu4 个人认为重要性和优先级应该是 英语 > 计算机基础 > 算法
基础包括计算机专业那些主课,网络,组成原理,体系结构和编译原理什么的。 |
18
ldrljq 2016-12-02 11:06:17 +08:00
其实我比较好奇的是,为什么有人上来就说 LZ 英语不好,这是怎么看出来的?
|
22
liyu4 OP @ldrljq 指点的同学应该是看了我的 github 才说的, write 确实不好,我还是很诚心的接受他的意见。我现在的英语大概就是六级的水准, 425 分的那种😄。
|
28
mko0okmko0 2016-12-02 11:32:55 +08:00
那个题目本身就有问题,何不问问某情况下,你会用什么方法解决,
所以出题的也许只是学院派? 打野出身没什么,学院派只会讲的比会写得多很多. 建议找个想法先做小产品或是小 DEMO. 拿这些(半)成品去面试投履历可能比较有机会, 像我都不问新同事这些的, 我都先问有那些(半)成品,先看看然后直接问他某部分的实作, 尤其是该部分我推测有很多种实作方法的.还会问他为何不用 XX 作法, 然后根据对方实作的选择跟理由评估这个新人到底是能信任的同事还是不能期待的. 最讨厌一直问排序法的,一堆现成的库 /包 /框架不问有没有听过,找过,用过,在那里问学院问题,听到火大. 资工的自学叛逆分子留. |
29
q397064399 2016-12-02 11:37:33 +08:00
总而言之,不要重新发明轮子,如果你要做的事情看起来是十分常见的,有可能类库中已经有某个类完成了这样的工作,如果确实是这样,就使用现成的。如果还不清楚是否存在这样的类,就去查一查。
----当我每次忍不住自己实现一个常见的算法功能时候,我都会 |
30
jiangzhuo 2016-12-02 11:46:54 +08:00
读个在职的相关专业的研究生,抱大腿署名几篇论文,基本就可以摆脱算法弱的形象,然后摇身一变 title 变为 XX 首席科学家了
|
31
xiamx 2016-12-02 11:53:54 +08:00
建议先学英语
|
32
nsxuan 2016-12-02 12:32:56 +08:00
同非科班,感觉操作系统相关内容更欠缺
|
33
jyf007 2016-12-02 13:13:53 +08:00 via Android
没有好好学,什么都不懂的感觉很遭,只能带逛了。
|
34
TaMud 2016-12-02 13:14:49 +08:00
奥数多做做
算法是一个脑力工作 你要有那个基础才行 |
35
flymemory 2016-12-02 13:28:50 +08:00 3
|
36
skydiver 2016-12-02 13:37:42 +08:00
问排序算法回答冒泡的基本不合格。
冒泡根本就不是一个实际会拿来用的排序算法,最开始引入也是为了说明 for 循环如何使用。 |
42
liyu4 OP @skydiver 那还是冬天,确实回答的拙劣,让此时的自己想起来也是尴尬万分。确实是说明 for 是如何使用的,慧眼识珠呢。
|
48
lxgeek 2016-12-02 14:31:13 +08:00
leetcode 写写。
|
49
lixile 2016-12-02 14:56:45 +08:00
@liyu4 再快 也要年后了 现在的水平 完全没信心找到工作 看了楼上 我这个英语渣感觉无路可活 英语是全校倒数 无论是高中还是大学
|
50
wcj 2016-12-02 14:59:12 +08:00
表 栈 队列 树(二叉树为主,包含二叉平衡树)散列 堆(二叉堆为主) 图(包含 Dijkstra 等经典算法)
简单排序算法 希尔排序 堆排序 归并排序 快速排序 桶排序 复杂性分析 分治 动态规划 贪心算法 回溯法 分支限界法 以上大致是本科计算机学的数据结构和算法 |
51
tyrealgray 2016-12-02 15:09:13 +08:00
当初自学 C ++的时候,学完并没有急着开始找工作,又去买了本本科的计算机算法教程,从表学到二叉堆,二叉平衡树,直到红黑树看不明白才停下的。
|
52
otakustay 2016-12-02 15:27:51 +08:00
我是正规路子出来的,算法也特别烂
|
53
liyu4 OP @tyrealgray 佩服你的毅力和坚持,这个世界就是因为有你们这样可爱的人,才会变的好一点。
|
56
jyf 2016-12-02 15:39:50 +08:00
我是自学的 也确实想跟你一样把所有常用的过一遍 一起努力吧
|
59
sgissb1 2016-12-02 16:28:16 +08:00
不知道是大家学的时候被误导,还是被部分书籍误导了。下面是关于“算法”一名词的解释:
https://en.wikipedia.org/wiki/Algorithm http://baike.baidu.com/link?url=VNoc5pXiMd4x6tZNYc4oZcitXLKJCwbrPpfnpBHR2sQW8EkCdNr-GvTlgkjciCQn9pk6j4ck5mu7s7adKq6OZUxkrL-H5gZq15JuVg_ndze 事实上,关于比较常见的几种排序、树、时间复杂度的衡量方式,以及常见的集中排序、查找的时间复杂度我已经忘的差不多了。最近有两次面试还被人问道,起初还觉得比较惭愧;不过发现后来对方带着有色眼镜在看问题时,我就只能呵呵了。 “算法”大概可能还是分为两类: 1. 解决实际工程问题的一种方法或者步骤 2. 在已有的解决方法或步骤中,寻找一种更有效(性能更好)的方法和步骤 第一类是解决问题的思路和方法,第二类除了包括解决问题的思路和方法以外,还有一些数学的背景知识,或者一些额外的知识面。 首先我也不是科班出生,但数据结构也学过,不过当时在校期间也一笔带过(老实带着过,学生自己也不不知道为啥学,所以更加带过。) 但这不影响解决问题的实际情况,问题就是分两类:工程问题和科学问题。 工程问题更多强调的是如何寻求解决方案,并一点一点改造成符合实际场景的方案。 科学问题更多的强调理论知识储备和支撑。 哥们还是应该客观一点看,就像我一个老师说的一样:“考研这件事其实就是在考大家的英语,对于理工科学生来说,大家其他科目水平一般都差不多”,面试问‘算法’一样,谁能保证答得出来的人招进来后就一定能干活(可能是我身边例子太多了)? 说这么多,“算法”这玩意要看,我也正在一点点的抽时间去看,但也要注意一些工程问题的解决思路和方法。面试有时就是纸老虎,不必太过纠结。 |
60
JFM0530 2016-12-02 16:34:42 +08:00
现在用 golang 的人好少呀。。。。
|
65
DreamCMS 2016-12-02 18:15:41 +08:00
先实现及王道也! facebook 早先年的代码,也不是一般垃圾。所以成功者想到做到,我们已经这里浪费了 1 分钟,不说了。
|
67
hitmanx 2016-12-02 18:58:13 +08:00
这有什么,不要自己吓自己了,这些并不难。我也不是科班出来的,研究生毕业后,找工作前花了几个月在图书馆刷了好多书。每天早上 9 点到下午 6 点,中间没时间吃午饭,回家后再上机写几个小时。
- 比如算法,从零开始学的,陆续读了<algorithms>(启蒙特别有帮助), July 的编程之法(浅显),剑指 offer ,编程之美,编程珠饥, crack the code interview(部分),重写过大部分常见的各种算法,以及绝大多数剑指 offer 和编程之法里的题。别看书多,很多题是重复的,思路也是可以举一反三的。 - 比如操作系统,从零开始学的,陆续看了哈工大孙志岗老师的公开课(笔记记了满满一本),清华的公开课(部分),然后看了部分的<Moden OS>, CSAPP 。着重看了日本人那本 30 天自制 OS 和国人写的那本 Orange OS ,完整地从头照着写了一个操作系统内核,后期又往上加了好多 feature ,包括移植了一个游戏模拟器。 -比如 C++,刷完了 Primer Plus, Accelerated C++, Effective C++(前半本), STL (前半本) -比如计算机网络,这个纯粹是面试需要。花了一周刷了国内那本绿封皮的清华大学的教材。 等等 |
68
holyghost 2016-12-02 19:03:21 +08:00
奥利给,啥都别说,干就得了。
|
69
hdbean 2016-12-02 19:21:32 +08:00
古有八股文,今有 Leecode
|
70
vtoexshan 2016-12-02 20:13:17 +08:00
数学门槛高,望之兴叹
|
71
TaMud 2016-12-02 20:45:17 +08:00
没事的
算法,就是你解决问题的方案,方案有多种,最优的那种,需要很强的大脑思维能力 社会是讲究分工的 你可以找个思维能力很强的人一 起工作 你照样可以一起参与伟大的项目 找准自已的优点,充分利用自已的优点 |
72
TaMud 2016-12-02 20:47:55 +08:00
多做做奥数题
对算法的提升会很有帮助 |
73
boyhailong 2016-12-03 10:06:21 +08:00
什么鬼的野路子 算法不是程序员必须吗?
|
74
aksoft 2016-12-03 10:55:41 +08:00
我的档次好低。。。
|
75
liyu4 OP @boyhailong 哥,你说的对,只是借口吧。
|
78
numberwolf 2016-12-05 00:33:17 +08:00
@liyu4 如果可以翻译资料的话,我觉得你英语不差,可以独立看懂文档就够了,不需要听这方便太强。
算法只要肯刷,没什么难的,又不是去写导弹轨迹。 |
79
hd7771 2016-12-05 04:26:52 +08:00 via Android
讲道理,野路子不是应该见到算法题就高兴吗?毕竟可以短时间提高的,并且效果最明显。现在科班出生都不屑与我们这种只会刷题的为伍,呵呵。
|
80
owt5008137 2016-12-05 09:23:13 +08:00 via Android
每次随机都初始化种子是错误的
|
81
liyu4 OP @owt5008137 哥 你是说跳表那里吗?
|
83
liyu4 OP @numberwolf 但是写很差 看的懂和写出来或者听出来差别太多了。感谢大家的指正,这个只能考虑报个班或者好好学习下基础了。
|
84
owt5008137 2016-12-07 01:33:47 +08:00 via Android
@liyu4 是的,我只瞄了眼跳表
|
85
hd7771 2016-12-07 22:59:08 +08:00
@liyu4 给你推荐一本书,刘汝佳的《算法竞赛入门经典》(《算法导论》废话太多),你买那本薄的,刷完上面的题就能应付找工作的算法了。其实厚的那本合作者还是有点意思,半路出家,有妻儿,最后还是静下心提高算法。
|
86
liyu4 OP @owt5008137 恩 我回头看看
|
88
sensui7 2016-12-09 17:05:23 +08:00
算法这种东西, 现用现学就好了, 我指的是业务需要的算法, 像排序这种算法, 你确定要自己写, 不用语言内置库函数?人家可能有编译器优化过的。
至于领域算法, 比如数据分析, 图像识别,这种专业算法跟上述内容是 2 个东西。 |
89
liyu4 OP @sensui7 日常开发是会选择内置的函数,拿来就可以用,图像识别的算法我也没有自己写,也是用的别人写好的,自己去写可能要花些时间,数据分析我们有一些自己的实现。
为什么要学习算法,我个人是感觉自己这方面没有系统的(就当没学过吧)学习过,所以想学习一下 这些基础的东西,可能并不是要自己碰到了就自己要写,这些东西也不会耗费我很多的时间和精力,都是下班在做,目前算法导论看了有三分之一,就当自己的乐趣吧。 还是谢谢你诚恳的意见。 |
90
liyu4 OP @sensui7 就比如 redis 的 set 用了跳表, mysql 用了 b+树,我在看这些东西的就会燃起兴趣去了解它,这些原动力很多也是在工作中碰到的。积攒多了,心里就有点不痛快,既然自己不聪明,也不算太笨,总是可以搞懂的,可能就像你说的没有什么太多的意义。但是谁能说人生不就是折腾两个字呢。
|
91
Magic347 2016-12-09 18:18:13 +08:00
算法和数据结构虽说是老生常谈的话题,但是对于哪怕是科班出身的 CS 专业的学生来说,也是需要很长的时间去慢慢消化和品味的。有些特别经典的,甚至值得一辈子去慢慢参透,比如 quick sort ,比如 KMP 算法, etc.
|
92
ghostcir 2016-12-12 22:16:33 +08:00
我英语也很烂,但是算法这种,个人感觉除了特殊行业,一般都有现成的,但是英语真的很麻烦。。。
|