题主是一名非名校的CS本科学生,现在遇到了一些困惑,想请教一下热心的segmentfault网友。因为不是985/211名校,现在题主所在的这所学校我感觉学风非常不好,第一是整体水平太低,一学期结束了,班上都没几个人能用C语言写出链表来,第二是ACM校队也是没有什么价值,C9的学生喜欢膜来膜去的还情有可原,但是我们这种学校都互膜成为一种风气,非常的不自在,学不到有价值的东西。
其实一开始自己是学JavaEE的,当时也用Hibernate和Struts做了一些XX管理系统,后来想自己做个小网站,学Django然后入了Python的门,可能是并没有深入JVM等的学习,没有理会到Java的跨平台和在大型项目的优点,后来觉得更加喜欢Python,所以这学期前半部分时间都在学习Python。直到后来刷知乎,看见一些大V列出的CS学习的清单以及看了王垠大神的博客,12月份跑去学Scheme和汇编去了,放弃了Java和Python,前阵子看见轮子哥开班后,还打算去学C++。
现在2016将要过去,我也在重新思考我自己,觉得自己不能继续这样下去了,要不然到了大三大四,什么都懂一点,但是什么都不精通,但是在国内找工作又是按照语言来分类的,所以我觉得自己还是应该选择专攻一个方向,现在我想我还是选择Python吧,因为Java的话,4大框架用起来太重了,而学习Python则可以自己做一些小项目。
因为学风不好,反正我现在学的东西都是自己自学的,学校没有提供给我任何帮助,我想从寒假开始自己开始专攻Python,然后暑假去找实习。
关于实习想请教segmentfault网友们一下。我在知乎看到别人列出来的清单,觉得至少要1/2年自己才能刷完那些算法题,看完csapp,scip,dragon book这些书籍。但是我在segmentfault/v2ex上面经常看见一些网友学了3/4个月就去找工作了(主要是前端/Java),工作1年后还能年薪上万。我觉得这非常的不可思议,几个月学完JavaEE的4大框架,nodejs/react/angular我觉得这是可能的,但是不是说面试最重要的是算法题吗?,从我看这些网友的博客与回答,似乎他们很多人甚至连基本排序算法都不是很了解。我收集了很多Java方面的面经,真的几乎每一份面经都说了解算法是最重要的,Leetcode刷题是必须的。我没有什么社会经验,也没有任何的鄙视意味,难道除了BAT/网易这些大型公司,对于普通的互联网公司难道真的他们面试不考算法题吗?但是为什么几乎所有的面经里面都这么强调算法题?而且我看一些尚学堂之类的培训机构,他们的培训机构的学习计划里面只有JavaEE框架的学习,没有任何相关算法的学习,这到底是怎么回事呢?
现在看些这些网友几个月就拿到offer的案例后,我觉得自己现在什么都学一点,就编译原理/Lisp这些很酷的东西学的再好又有什么用呢?因为不是名校出生,以后去找工作/实习投简历都是只能填写一个语言岗位,真的太不值了。所以现在计划完全专攻Python,同时也发现牛逼的人,比如requests库作者的GitHub里面的项目也只有Python,鸟哥也是专攻PHP。虽然Python被吐槽为胶水语言,因为入门确实很容易,但是我觉得学好了,要是还能往GitHub项目做出一些贡献的话,也是很不错的。虽然有点强迫症JavaEE想把spring/spring mvc学完再抛弃,但是觉得自己越来越不喜欢学校的风气了,长此以往会得不到进步,想早点离开这个地方,反正现在CS四大的公开课/coursera/stackoverflow什么资源都有,把听力练好了,实习工作中也可以重新学习CS核心课程。我觉得自己对CS是非常热爱的(只是学校风气太差了),以后工作实习中也不会只写业务代码,满足现状,还是会重新学习底层知识,往更大的平台发展。
写着写着好像跑偏了,下面还有一个问题就是想请教一些segmentfault网页能不能推荐一些Python实习公司?我好有个奋斗的方向。对于实习我看的一些招聘要求好像都是要求大三/大四才能去,大一/大二能有先例吗?国内使用Python的公司我了解到的目前主要有三家:知乎, 豆瓣, 扇贝,单论框架的话知乎是tornado,扇贝是django,豆瓣是自己造轮子,但这些都无所谓,我可以都学习一遍。BAT基本招收985学生,我们这类本科希望不大而且年龄大小所以基本不抱任何希望了。实习工资/工作地点的都没有任何问题,只要能找个地方锻炼能力就行。
描述的有点乱,我主要想问的问题就是:
毕业前自学几个月就能拿到实习offer的人,面试的时候难道真的不考算法吗?
除了知乎/豆瓣/扇贝这些公司,明年暑假Python实习还可以去哪里?任意地点都行,接受大一/大二学生。
重复第二个问题:有哪些具体的互联网公司可选?
补充
如果是Java的实习也行,还是有一定的基础,离明年暑假还有6个月,我也会做一些东西充实GitHub的repo。
拜托各位网友留言或者私信一下,不胜感激!
滚回去学CS好了,练好英语多上coursera/stackoverflow,2016年的最后一天勃学让我意识到了自己的进一步失败。
和我情况一样的朋友,我们可以多充实github弥补学历的不足,如果功利一点,Python相比其他语言,star数目更加容易上涨,学风不好不是借口,练好英语上四大名校的公开课也是一样的。
@huangzhuolin的回答很理性和我现在的发展道路是一样的,@萝莉控吐槽勉的回答虽然不是完全同意,但是他和@prozsh的对话让我也收益很多。
经过一些总结,我的问题完全在于非名校的自卑感,除了一些耳熟能详的公司BAT/网易/京东/新美大/豆瓣/知乎等名企觉得其他公司都不算公司,又担心自己进不了,或许一开始就算进了一些小公司也没有什么大不了的。正如楼下一位答主所言,学历会随着工作慢慢淡化,不可能一辈子都做写代码的程序员,其他方面的投资也是很重要的。我缺少社会阅历才会抱有一些上面的错误想法。再说自己的学历也没有差到那么差劲的地步,10%~20%之间也并不用那么绝望。
感谢各位朋友的关注/私信/回答,这类型问题纯属题主个人情感的宣泄,不同的人经历不一样,回答不能完全相信,而且程序员相比其他岗位由于缺少交往,在互联网上强答和表达欲望比较强。
此号等同于注销,建议管理员关闭这类型问题,对于别人有误导性。祝新年快乐,学好英语,打好CS基础,不要跟风,曾老师和勃学家让我这样的失败人士学到了很多,程序员并不是那么的天真。除了一个人孤零零编程,现实人生还有其他很多美好的事情。如果不是爱好的话,网红时代或许还有很多比替别人打工编程更好的赚钱方式,固定的程序员思维很可怕。
一位大神指导我说即使像segmentfault这样本心很好的公司,活跃答主的水平也不是很高,在国内的这样的环境,即使我这样的初学者和伸手党本流量暂时提高了,但是也很难找到更好的赢利方式,吸引真正的高手。程序员还不如去知乎和微信赚钱,国内很少有真正玩技术的人或者公司,所以还是练好英语多去stackoverflow上面得到免费的大神的回答,不交智商税,我这么说是希望segmentfault关闭我这个问题。
此号等同于注销
There are 100+ answers on segmentfaultIt seems there are more than I thought. The questioner should stick to the original plan to learn C++ well from Microsoft engineers, and then take the Algorithm Introduction course of Jisuanke for free with excellent results. By now, the professional courses should be almost complete. After learning English well according to Xiaolai's method, contact Qin Shihuang immediately to help you. Push it to FB, and then you can chat and laugh with Teacher Zeng (before that, it is recommended that the subject go to Wanmen University to study undergraduate physics in one month for better results), and finally wait for the moment when the global synchronized suicide device is developed. We collectively suicide.
Advertisement break: The New Year is approaching. In order to give back to the losers, Teacher Zeng’s live, originally priced at 100 million, is now free with just a kiss.
It’s quite cool to have this awareness in my freshman and sophomore year. Algorithm, how should I put it? I think the low-level code porters can feel the usefulness of the algorithm later, but most development is still in the low-level stage. Of course, I am too, so I I feel that if you want to learn Python, it is more important to learn the language itself first
I am the same age as the original poster. We just finished our sophomore year and interned in the R&D department of Nasdaq Sydney.
I will answer the questions one by one:
1) I am abroad, and the interview here basically tests algorithm data structure and system design capabilities. I heard the same is true in China. In addition to my friends in BAT, I also have friends in promising Internet companies --- many of the technical backbones of these companies are from Silicon Valley, and they also attach great importance to these aspects. After all, basic skills determine the upper and lower limits of your ability.
2) I mainly write back-end now, and the technologies are Python, Perl and the like. Although the subject is unlikely to get a visa to intern abroad (the company actually has interns from the UK), I have learned from my internship that many domestic and foreign financial technology companies choose Python as their main development language. There are many quantitative investment platforms in Shanghai, you can consider them.
3) In addition to the quantitative investment platform mentioned above, I have a friend who is interning at Splunk, with a daily subsidy of 300 yuan. If you have confidence in yourself, you can give it a try.
And I don’t want to give chicken soup: school is really important. But this importance will become less and less as your working hours increase. While in school, you can also use Github to make up for the disadvantages the school gives you.
In fact, the most important thing about studying in a good school is to meet excellent people; while in an average school, people are likely to become mediocre. However, the original poster is already aware of this problem.
Come on.
Brother Shi, who graduated this year, replied angrily.
First of all, it’s not 985. There is no need to belittle oneself. Although I am from 985, I dare not say that I know more than you at this time
不要只看眼前,要做长期规划
. Haste makes waste. I know you want to master some hard skills that can be used at work immediately, but if you ignore the learning of basic knowledge now, you will reach your improvement bottleneck soon after you work. The ultimate goal during college is to master various solid foundations of CS, including a thorough understanding of data structures and algorithms, computer principles, network principles, etc. Don’t ask me why because it’s all tears.I like python as much as you do, but it’s best to understand some python data structures and the underlying implementation of libraries to know what you want to do. Language is just a tool to help us realize our ideas
Maintain your own github and blog, a good github repo is much more useful than a 985 diploma
Be sure to use English and Google. If there are books in English, don’t read them in Chinese
解决问题的思维以及能力
That’s what we need to hone (from the many questions asked on sf, we can see that many people don’t think much, don’t practice much, and don’t know how to search for answers)I dare not say too much for fear of misleading people
A colleague of mine, a junior college student, worked on Java for one year, and then worked on PHP for one or two months, and on front-end for one year, and then on front-end, he jumped to 17-18K
Meeting algorithm, but very basic. Your university textbook algorithm book is enough to understand it.
If you are determined to specialize in algorithms, say something else.
Multiple choices, the basic internship salary and promotion speed are directly proportional
It is recommended to go for half a monthSocial Recruitment. Don’t apply for any amount you pay. Write down all the questions you don’t know during the interview and solve them immediately. In the second week, you will find that everyone is asking the same questions. You will feel like what the fuck is okay
Slowly accumulating experience is the best way, take it step by step
Technology has little to do with school or style of study. Academic qualifications are important, but it is not such a dilemma, because technology is the last word.
After reading this article of yours, to be honest, I feel very stressed. When I was a freshman or sophomore in college, I was not as thoughtful as you. Your article described the future in such a confusing way that I felt very stressed. It made me suddenly feel better. confused.
But I was also a sophomore and an intern when I came out, and I also received an offer.
There are many companies using Python now. My last company also used it, but my last company was very small.
So I think this job is easy to find, but it is difficult to go to a big company all at once. After all, big companies look at academic qualifications and skills.
So before you go out for an internship, you should first solidify your skills and then start looking for a job.
First think about what kind of company you are looking for. Does it have to be a big company? Or as long as it allows you to learn Python to the best of your ability?
Big data is changing rapidly, and Python will not always be popular.
I now have a colleague who also used to use Python, but now he is engaged in PHP.
Learning more about other extensions will be of great help to you.
I also gave a very confusing answer. In short, the point is that you should calm down and learn skills first.
Then, find a company.
Thank you for technology, technology will not treat you badly. Woof
As for Python, in fact, all major Internet companies have certain positions. It’s just a question of how many and whether the main technology stack is Python.
In addition, companies like Zhihu, Scallop, and Douban all have relatively high sentiments. Although the salary is average, the requirements are high. And it’s not that easy to get into. In fact, there are quite a few companies that use Python.
I think your main problem is that if you want to do an internship, you are only a freshman or sophomore in college, so the possibility of staying is relatively small, and it’s not just a matter of recruitment. It can be used, and many companies should be more concerned about this. Large companies have relatively complete rules and regulations and generally will not accept this. You can find connections or find a slightly smaller company.
It is indeed more laborious and boring to use the algorithm, but this It’s a must. Don’t always think about opportunism. Looking at others is like complaining every day about why some people are rich second generation and I am not. It doesn’t make any sense.
Finally, I don’t know how interested the subject is in front-end. There is a huge demand for front-end now, and it is easier to find a job than Python or JAVA.
After all, back-end is divided into Python, JAVA, C++, php, etc., etc., front-end It’s just the front end, pfft
I feel very strange when I see the following comments. If you think there is something wrong with my suggestions, you can point it out. I don’t understand the custom of leaving comments below in a weird way.
I would like to answer this question from another angle.
I took a look and found that the author should be a sophomore now, and the article also showed a lot of thinking, which is really commendable.
But what I want to say is, is the poster too anxious?
I roughly counted, and similar statements about "poor study style" were used 5 or 6 times. By the time they reach college, everyone should have the ability to make decisions on their own, and don't attribute too many factors to the outside world. No matter how good the school is, you still got in by yourself. Rather than being a little anxious and thinking about how others are not good, it is better to think about how to use the existing resources to improve yourself.
More importantly, I hope you don’t live in the shadow of negativity. Four years of college life is short, and it may be more important to fully enjoy the moment and accept yourself.
Try to calm yourself down and don’t live so tiredly. Best wishes~