作者回复: 我和你有过相同的经历,但是那时我还处在本科,年龄还小,对于你的case:
首先你要相信自己。我身边很多的同事,朋友都是半路出家,不少28,29,甚至30了才转的计算机,甚至是从文科转的。但是你也要做好心理准备,这肯定是一个漫长艰苦的过程。
leetcode可以说是基础吧,因为算法题的练习可以锻炼你的逻辑思维。重要的是,一定要多做项目,多写,多和优秀的人交流,很多工程上的经验都是通过遇到实际问题然后去解决积累起来的。其次对于方向的问题,现在太多的人想做机器学习,我的建议是工程的开发也不要落下,比如后端开发之类的,多去通过项目了解一下自己的擅长什么和喜欢做什么,再做决定。
最后祝你成功!
作者回复: 往往需要一个需求,一个场景,多练习,多和别人交流,这样才能提高
作者回复: 这个看你怎么写了。代码中所有直接调用C的操作的语句肯定比通过Python间接调用C(Python的解释器是C写的)快的多。比如下面的例子B用for循环比例子A用while循环快很多,因为range这个函数是C写的,直接调用。但是i += 1这个操作得通过解释器间接调用C,而这个简单的增值操作又涉及到object的创建和删除(i是immutable的),因此相对来说很耽误时间。这个作为了解就可以啦
(A)
i = 0
while i < 100000000:
i += 1
(B)
for i in range(0, 100000000):
pass
作者回复: 你和我大学里的经历一样。工程这种东西没办法,都是得逼自己去做项目,练出来的,当然最好有小伙伴一起合作,这样能够相互督促
作者回复: 首先熟悉基本的工具,比如机器学习的框架,TensorFlow等等,然后找一些项目练手,比如可以参加kaggle比赛。当然,最重要的是得通过实际的业务积累经验,比如大公司上亿的用户,就是很宝贵的机会,如果你能去大公司机器学习的组工作,这样海量的数据加上不停的practice和分析,肯定大有所为
作者回复: 最简单的应该是数据分析的工作吧,就是用python实现一些简单的数据统计分析的功能,往往只需要高中的数学知识就够了。爬虫这种属于服务器端的工作,对于服务器端的工作,应该也不难,对数学都没有高要求,但是需要工程经验的积累。门槛最高的应该是机器学习这块,需要较高的数学基础。
综合下来,我觉得你应该定位于服务器端的开发,自己先做项目试手,找到工作后,多积累经验,然后一步步可以更深入
作者回复: technical的问题尽量用google,可以买个代理。百度基本查不到啥的。
你这种情况还是得多练,通过项目练习,积累工程经验
作者回复: 1. 公司相关的代码库建议阅读了解一下,多和研发人员交流,看看他们在干什么
2. 实在不行,只能自己私底下做项目,优势是灵活,劣势是用户很少,很多线上的问题无法遇到
作者回复: 哈哈。每周更新3次。每日都更新,我来不及写啊
作者回复: 谢谢补充
作者回复: 可以同时学习。Python更适合入门,C++稍微难一些,建议学习了基本知识,多去做一些小项目
作者回复: 后面会讲道。简单的来说,你认为Python中字符串相加的过程是是重新分配一块内存空间,然后把2个字符串分别拷贝进去吗?其实是不对的
作者回复: 👍
作者回复: 谢谢建议,我尽量囊括在每章节的最后