作者:阿秀
InterviewGuide大厂面试真题网站:https://top.interviewguide.cn
小伙伴们大家好,我是阿秀。
过去几年转码之风盛行,有些是通过报考培训班的形式转行,还有一些则是通过考研读研转码这种形式来转行,所以这几年有很多本科是非科班但研究生是计算机相关专业就读的研究生。
这类人有一个共性就是对于计算机都不是很了解,往往都会纠结于语言的选择,同时有着各种迷茫,哪怕是本硕都是CS相关专业的,也会有类似的困惑,今年就来分享一下师弟的提问。
1、师弟的提问
秀哥,你好,看了你的文章和经历,我觉得和我还是有点像的,也比较受启发,但现在仍然处于一种纠结&迷茫的状态,因此请秀哥指点一下,我的问题有很多,可能需要花秀哥很长时间,麻烦了。
我本硕都是双非计算机专业,目前经过调剂,在一所普通双非一本读研,目前研一下刚开学,方向是生物信息。
虽然是生物信息,但主要还是学习深度学习等方面的知识,用一些深度模型跑生物数据之类的,但我觉得生物信息方面的工作,相对不是那么好,我的目标是进大厂或者去一些稳定的企业比如银行工作。
我有以下疑问或者问题:
1、我不想去卷算法岗,也卷不过,我还是比较想走开发。但是开发岗具体走哪个方向我不是很清楚,比如大数据开发、后端开发,能做些什么?
2、我本科学的Java开发,前后端都学过,做过简单的管理系统,微信小程序,C++我也学过一点。计算机五大门课都学的还不错,但现在也忘得差不多了。现在研究生用Python跑深度学习那些东西和论文源码。
其实各种语言都主动或被动学过一点,但都是皮毛,我其实内心是偏向主学java的,但又没那么坚定,因为Java太卷,Python目前又很火,在Java和python中纠结。
其实纠结的原因和第一个问题一样,我对未来岗位目标没那么清楚,不知道走开发哪个方向。
假如我选择主学java,但因为研究方向,现在必须得去学python,学那些深度学习框架,这样你觉得合适吗?
3、觉得双非研究生没什么用,走开发比本科亏很多。不是看不起本科生,是觉得本科毕业就能做,我这岂不是浪费了三年。
我看过好多人说,公司更愿意招本科生,因为研究生工资开的高一点,但是价值和本科生一样,尤其是双非。
所以秀哥,研究生期间做些什么,可以比本科生走开发更有竞争力一些呢?
4、因为导师是专门搞科研的,平时催的也比较紧,而且说了以后不会放实习。
现在毕业要求也比较高,导师还很看重我,导致我压力大,所以我平时还是要花很多时间精力去看论文,去学各种深度模型。
这样我学开发,只能偷着学,能挤出来的时间比秀哥你还少,甚至会学的断断续续的,这种情况,尤其是导师不让实习,秀哥有什么建议吗 ?
5、我目前的计划是,选定一门主学的语言,然后去刷力扣,学操作系统,数据库等的原理,慢慢的积累。
但时间上肯定断断续续的,会反复忘,因为这些原理一小段时间不看就忘了,我现在这个时间段就看这些原理,合适吗,不会太早了吧?
我现在最难受的就是,想努力,但使不上劲的那种感觉,希望秀哥指点一下。
2、阿秀的回答
师弟好, 才研一,莫慌....时间还多的是。
你这应该是属于交叉学科了,属于生物和CS的交叉研究方向,交叉学科比较容易出论文和成果,这在某种意义上来说是好事,其余方向比如图像这种纯CS的研究方向卷到爆...
下面每个回答对应你的每个问题:
1、别走算法
以前就聊过算法岗不适合普通人,说过很多次了,就不再啰嗦了:
大数据开发一般用Java居多,后端开发就是Java、C++、Golang这些,前端则是JavaScript了,很少有开发岗用Python的,我不是说没有,但真的很少。
2、Python找开发不是明智之举
至于你说的跑深度学习和源码这些用一些最基本的Python语法就能够解决,根本不需要你花很多时间在Python的学习上的,if else for循环这些最基本的语言语法,哪怕你是个小白一周时间了解+做例子也足够了。
我现在偶尔也会写写Python,很正常,工作久了多种语言都会一些,但我的主攻语言依旧是Go和JavaScipt以及C++。
Python这门语言的效率很低为什么大多数人觉得Python好用,就是因为它封装的够好, 封装完成度足够高,而封装完成度足够高就代表着这门语言用来开发效率很低。
Python就一个django框架能拿出来说说,其余的Python拿来做开发真的很少。
3、对,但也不对
你说得确实对,但你忘记一个最基本的门槛问题了。
比方说,都是一个学校的,本科和研究生都去投一个公司,本科可能会被直接筛掉,研究生会有一个面试机会,这是最基本的问题。
你也许听过什么“计算机这行不看学校,看本事”,但你可能不知道这句话的前提就是别人有让你展示你本事的机会,别人压根不给你这个展示的机会,你天大的本事又有什么用呢?
做一个看起来“很蠢”的事能让自己有竞争力,比如做一个开源项目,我有个研究生同学就是的,两年做了个码云4000star的项目,阿里蚂蚁直接进面试,他跟我一样,都是普通双非研究生。
4、苟住,一定要苟住
这是大多数研究生的常态,放实习的老师真的很少,千万苟住,不要因为导师不放实习就想要退学或者跟老师对着干,这是不明智的!
我的建议就是这是一条时间跨度长达年以上的坚持性战役,保持精力很重要,多运动能把你保持精力。
5、学习就是一个重复的过程
学完忘了正常,你又不是神童,忘了就再去看就是了。
别人我不知道,我就说下我自己以前看书的经历,看视频的经历就不说了:
针对C++,《C++ Primer》这本书800多页,我看过两遍半,现在有时候还会翻一翻;《stl源码剖析》我看过两遍;《effective C++》两遍;《深度探索C++对象模型》重点看了第三章虚函数,看了三遍,因为很绕,需要反复翻。
针对操作系统,我看了《现在操作系统》以及《计算机是怎样跑起来的》这些科普书。
针对计算机网络,《图解tcpip》和《图解http》买书不划算,我直接看的pdf,各看了两遍;《计算机网络自顶向下》我重点看了第三章传输层;《tcpip详解》我只看了拥塞控制,其余就没看了。
针对数据结构与算法,《剑指offer》我刷了2遍多,力扣我刷过600+题,其中二刷三刷过四百道+,水平如何不敢说,至少没在笔试和手撕算法拉过胯。
针对数据库,《MySQL必知必会》这种篇幅比较小的书我看过三四遍,因为知识太碎,也做了笔记分享在知识星球置顶帖的知识图谱里了,可以去看看,踩着我的肩膀去走;《数据库系统实现》是我去华师大参加暑期活动,读博的师兄推荐给我的,我看了非常不错;《Redis设计与实现》这本书我看过了两遍半,因为其中的五种数据结构设计的很精妙,特别是其中的跳表;《高性能MySQL》我只看了索引优化那一部分,其余没看,性价比不高。
针对Linux&网络编程,《Linux高性能服务器开发》前面四五章是计算机网络的知识我自己直接跳过不看,只看后面的内容;斯蒂文斯的两本unix我作为字典来用的;《鸟哥的Linux私房菜》和《Linux就该这么学》我也注明了两者买其一即可,我也是作为操作手册来用的,哪里不会再去翻哪里;《 tcpip网络编程》我不仅看完了两遍,我还做了markdown笔记,同样在知识星球置顶帖知识图谱里有我的笔记。
是的,上面这些都是我在一年多时间里完成的,而不是现在很多人上来就是背八股文,我以前都是自己学过来的,笔记也是自己一行行敲出来的。
我不知道这么做有没有用,但我觉得一天都是24小时,怎么过都是过,试着做点事总比什么都不做的强;
学点技术会不会用到我也不知道,但机会到了我想尽力抓住,不会因为压根没有机会和能力只能眼睁睁看着机会溜走而懊悔。
你的问题在于有点看不上自己现在的学校,但又不知道从哪使劲,想得太多,做的太少。
同时看了太多网上贩卖焦虑的文章,比如各种"互联网年入50W+有手就行"、"各种XX裁员,互联网寒冬了"、"互联网早就是夕阳了"。。。
要说互联网不如前几年了是真的,确实是不如前几年了,但那些说互联网不值得干了的,润去工地干一天就知道互联网还值不值得干了。
很多人都是口嗨去工地,我是真去工地干过货的人,干了大半年吧,又跑去考研了。
作为一只从工地润到互联网的风口浪尖上的猪,我反正是再也不想回去了。
阿秀2年来一直在做的一件事
这里也给自己的知识星球,也就是学习圈打个广告,坚持这件事情已经快2 年时间了。
前年和去年分享的很多校招上岸经验也都是出自阿秀的学习圈中的往届上岸人,阿秀的学习圈中置顶帖的「知识图谱」和「精华区」(如下图)中有很多计算机大学本科&研究生学习以及校招的内容和问题,多看看这些能够帮你走的更稳、更顺、更平坦。
后续也会在自己组建的阿秀的学习圈中分享一些社招跳槽找工作的经验,都是自己一路走过来的经验。
星球里的精华区、知识图谱以及资源沉淀
一个人踽踽独行不如结伴而行,以后会继续在星球笔耕不辍,输出一些有价值的内容。
欢迎点击左下角阅读原文详细了解,这可能是你求职路上性价比最高的一次点击!
前段时间自己也开发了一个互联网大厂真题面试解析网站,比如我想查一下行业为互联网,公司为字节跳动,考察岗位为后端,考察时间为最近一年之类的面试题有哪些?
《InterviewGuide》大厂面试真题网站:https://top.interviewguide.cn/
已经有不少小伙伴遇到原题了,具体可以看下链接:
2023年7月字节跳动后端研发岗面试考察题目Top10
局部性原理还真有用!
后面还会继续开发其余星球用户专属功能,比如模拟面试以及题目收藏、甚至是真题下载打印功能等。