ChaseDream
搜索
返回列表 发新帖
查看: 8281|回复: 5
打印 上一主题 下一主题

DS/SDE?

[复制链接]
跳转到指定楼层
楼主
发表于 2019-1-29 00:29:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我关注的职位是 偏统计的 DS,看job description,数理统计,概率,各种modeling/ML, 都要懂。还有data intuition,analytical skill,这些。跟一般SDE的要求还是差别很大的。

同意K姐,如果不是真心热爱DS/stat,还是去做SDE有钱途software engineer 俗称码农
总的来说,ds招的真的比sde少很多。之后的一年我无数次的后悔没有赶上2016年转码农的大船,而是拖到2017,把自己的找工作逼成了hard模式。
也开始了认认真真的刷题。之前闲闲散散一年多才刷了60道,这段时间都是以每天十几道在刷。白天要去公司上班,只能在晚上疯狂刷题,真的累的不行。好几次刷题刷到睡过去,惊醒了又继续刷。就这样,终于在秋招前刷到400多。简而言之,对所有萌生了转CS的生物同学,一定要下定决心,不要轻易被打击,一点点积累经历,刷题,一定是可以成功的
今年年初的时候,我每天焦虑地想着怎么去加拿大,或者怎么去欧洲,因为美国这边显然是找不到工作了…考过GRE的人或许都能体会那种单词怎么都记不住、阅读怎么都读不懂做不完的绝望,而这些绝望都远远比不上在美国找工作的这一年所带给我的一度窒息的绝望。当然,后来的后来,我开始把焦虑的时间花在学习上,去考证,去刷project,在一个学期修七门课的情况还同时做两份unpaid的实习…已经忘了在西雅图凄风冷雨的冬夜度过了几个通宵达旦的夜晚。还记得我拿到第一个full time offer的时候,我们career center的人给我发了祝贺邮件,they say it finally paid off.


数据结构和算法还是好好上上吧,这个真不是刷题能刷明白的,而且这方面基础弱的话,刷题真能是事倍功半,数 ...


是的,数据结构和算法,那是一定一定一定要好好上。包括databas
一般的SDE面试,85%的coding + 10%的database + 5%的network。所以把这几样学好就可以了。另外,ML/AI这么火热,代表未来方向,所以就算找工作用不着,但作为CS素养还是要学的。未来ML software engineer越来越多。

当然,如果有大把时间,能把所有都学懂学通是最好的。我只是说我自己的感想,如果没有绿卡 + 着急转行找到第一份工作,那么千万不要沉迷于course
course的作用是让你做course project可以丰富简历,学校的作用是有career fair找工作(当然名校还是有名校光环和资源) + 给你提供OPT;。。。。除此之外,一切一切都靠你自己刷题,提高coding能力,改简历,找connection,投简历,找intern,各种面试。。。。你还指望上个课就可以找到一份工作啊?完全不是。你哈佛耶鲁毕业的,不会coding,一样没工作。因为,这个行业的特点就是:实用。你就算是小学文聘,只要你会coding,一样可以出头。

为了找份工作,90%的精力都应该放在刷题coding + 投工作 + 面试上。或者说,你一入学,就要开始找工作,不然就晚了。所以,课程的话,尽量选水一点的课程,才有精力刷题找工作。或者说你入学之前就应该刷好300-400道leetcode题。我见了好些依然还有“校园情结”的刚从国内过来的小朋友(我自己当年也一样), 就是抱着这样的思维,专门挑最难最偏的课程(比如graphics),最后没时间找工作。真是血的教训。

当然,如果你是牛人,什么都可以handle,那随便怎么弄都可以(这样的人还真是不少)。但对于我们这种高难度转CS的,想打翻身仗,一定要改变思维方式。
收藏收藏 收藏收藏
沙发
 楼主| 发表于 2019-2-2 11:14:13 | 只看该作者

主要是1.语言考点 java/C++的各种问题 2. 数据结构和算法 3. 计算机网络 4. 数据库sql 5. 系统相关
amazon 比较容易去的,主要是你应该看些计算机的基本知识点,sql什么的,以及简单的系统设计课
1. 不知道
2. 单从面试的角度来说,语言特性/网络/操作系统/数据库的基础知识都很重要,如果不能选课的话建议至少要把基础知识都自己学了,在此基础上,还有经历的话就好好准备一下system design吧。
3. python一般面试都是能用的, 大公司一般不调语言的。。。   不过不考虑语言偏好和熟练度的话还是更建议用java。。 稍微普遍一点
我拿到了一家做data science创业公司的offer。我觉得如果楼主没有统计或者机器学习的PhD学位的话,还是应该更注重CS方面的东西,像DB, OS, 分部式系统这些。相对来说,data scientist 虽然很多公司都有,但招的人比较少,纯CS反而应用面更广,更好找工作

Data scientist一般来说工作不好找,因为面试的时候会面一些数学。虽然都不是什么难的东西,但是做IT的人一般已经把这些知识还给老师他妈了。

当然如果只是用一些R,做些小项目,然后做点data visualization然后撞大运的话,有成功的可能。我见过例子,薪水还不低。

数据库是要略微了解的,建议看一下速成的七周(天)七数据库。还有(每天)5分钟学会SQL。。。另外core java可以读一读。如果你对Big data感兴趣的话,可以读一下Big Data: Principles and best practices of scalable realtime data systems,只要读完一小半你就比市面上这些胡说八道的程序员们强多了。

至于system design。。。i don't think there is an easy way to learn it quickly。。。

有很多知识在你现在看来可能会觉得看完了半懂不懂,但是一定要push yourself very hard.

Google还是很喜欢Phd的,虽然不服,但是我也同意Phd是一种能力的体现,所以good luck了。
板凳
 楼主| 发表于 2019-2-2 12:32:37 | 只看该作者
语言知识点:以java为例
Java 语言特性:Java 与 c ++ 区别; abstract class vs interface; shallow copy/deep copy; pass by reference/ pass by value; hashcode()/ equals(); Java 一些关键字:final, static; final/finalize/finally; checked/unchecked exception; java 8种primitive type;overriding vs overload;public static void main(string args[])每个关键字的作用
Java Collections:stack/queue/deque; hashset/treeset; String vs StringBuffer;Hashmap/TreeMap/Hashtable/LinkedHashMap/ ConcurrentHashMap; Array/ArrayList/LinkedList; PriorityQueue(heap); comparable/comparator; iterator


3.  拓展一些问题: Java memory leak/JVM/ garbage collection,  Object class method: getclass()/ hashcode(); java: heap/stack存什么; Java 8/Java 7

数据结构和算法
二叉树:超级重点: 收集所有二叉树的题
链表: 会翻转/快慢指针
Binary Deduction/Search: sorted/rotated array/ Sqrt()
实现基本数据结构: hashmap, stack和queue
Array/ String: shuffle an array, java big integer实现
dfs vs bfs  word ladder/ topological  sorting

7.  简单dp,不需要很复杂: paint house/stock price/


计算机网络
1. TCP 三次握手,TCP/UDP 区别;
2.  http/https 区别;http request:post/get ;http port 80 ssl;
3.输入www.google.com 会发生什么;What happens when you type www.google.com in your browser?
4.Public key/Private key;
5. HTTP 401, 403, or 404 Error/ client/server模型


数据库
1. SQL vs NoSql 区别
2. select/update/delete/insert
3.primary key;join(四种)和index 原理和作用
4.简单的sql语句:从table中找出成绩第二好的学生姓名; group by
5.简单了解几种nosql数据库: MangoDB/ Cassandra/HBase


系统及其它
ACID/CAP 分布式系统
Java多线程: extend Tread类,Implement Runnable接口/blockingqueue
序列化的几种方式:JSON/Object Serialize/ProtoBuf
what is dead lock?死锁问题/如何解决
Design Pattern 设计模式(singleton,factory, builder, decorator)
Linux command: kill -9   / scp / telnet / ps
地板
 楼主| 发表于 2019-3-26 01:39:49 | 只看该作者
跟留學生說一下,我們這邊DS班的就業率可說是慘淡

最後拿到DS的也沒有幾個,挺多拿個ML engineer而已


web班我們這梯比較特殊

其他梯次,有天份的大約在1~3個月內找到工作

平均6個月內找到工作
5#
 楼主| 发表于 2019-3-26 01:40:34 | 只看该作者
小企業的都沒有

因為小企業要閒聊有的沒的,我的語言能力不足

即使問的tech question都回答得出來也沒有用

小公司沒聘請過非母語的,不想增加額外風險

我主要是往 網頁開發走

刷題其實也沒刷很多

擬定策略很重要,非Flng的基本上算法考不深

但我被問過leetcode第二題就是了

大多數時候小企業我在電話面試時就掛掉了
6#
 楼主| 发表于 2019-3-26 01:54:57 | 只看该作者
話說我這篇沒有鼓勵其他人去bootcamp的意思

我們bootcamp有幾位表現很差的,就是一邊上bootcamp一邊打工的


→ dreler1: 不然真的覺得bootcamp 轉data scientist 沒很難 03/23 10:21
其實我覺得DS班是一場騙局

大多數人最後找到職缺都不是DS

最後找到DS很多都是phd學歷、理工碩士學歷
您需要登录后才可以回帖 登录 | 立即注册

Mark一下! 看一下! 顶楼主! 感谢分享! 快速回复:

手机版|ChaseDream|GMT+8, 2024-4-24 23:13
京公网安备11010202008513号 京ICP证101109号 京ICP备12012021号

ChaseDream 论坛

© 2003-2023 ChaseDream.com. All Rights Reserved.

返回顶部