前言
先来自我介绍:
老家农村,家里好不容易把我送到大城市读书,大学非985,211,但在我们老家,能出一个本科大学生也是非常不容易的。因为农村信息的相对闭塞,我对大学专业一无所知,加上分数并非前茅,最后被调剂一个我并不喜欢的专业,这里就不透露自己是什么学校了,只能说毕业之后为了能多赚点,选择了送外卖,这一送就送了将近3年的时间。
为什么学编程?
接触到编程是一次很偶然的机会,有一次送外卖,对方是自己的学长,他是计算机专业的,毕业后就进了一线互联网公司,那之后就偶尔有跟他聊人生聊未来,一次契机,他劝我何不自学编程,来做程序员?后来考虑了很久,自己也综合对比了各行各业的发展,最后决定学习编程,选择了Android方向。
下文,我会对我的自学方法、自学资料以及我的面试经历进行一个分享,若有需要自学资料的朋友,码云免费获取。
拼多多移动端开发三面还原(一二面+HR面)
拼多多一面(大约1h左右):
1、自我介绍
2、项目
3、原码、反码,计算机为什么用补码存储数据?
4、TCP和UDP的区别,TCP为什么能保证可靠传输,滑动窗口?
5、HashMap为什么快,扩容机制?
6、Synchronized和Lock的区别?
7、软引用和弱引用的区别?(这里我扯上了回收,所以有下面的问题)
8、新生代和老年代的回收算法?(扯到了复制,所以有下文)
9、复制算法复制到另外一块空间,那另外一块空间要多大?
10、算法题:A={4,7,3,2,1},B={3,2,1,5,6},找出最长子数组(连续的)
11、刷lc有什么感悟?(简历写了lc300+题)
12、最大的缺点?
13、反问
拼多多二面(大约50分钟左右):
1、自我介绍;
2、static关键字;
3、怎么判断大小端;
4、怎么在main函数之前和之后执行代码;
5、程序的内存布局;
6、程序从产生到运行的全过程;
7、智能指针;
8、在浏览器输入网址到得到结果的全过程;
9、DNS协议;
10、https的实现;
11、手撕域名反转;
12、看你写的之前送外卖?为什么毕业之后没有从事自己本专业内的工作?(我回答的想多赚钱)
13、你的Android是自学的?怎么坚持下来的?期间遇到什么困难吗?
14、手头上有哪些 offer ?
拼多多三面(HR面大约30分钟):
- 对拼多多有什么了解?给拼多多做一个画像?
- 家是哪儿人?对于未来的就业城市有什么想法?
- 有女朋友吗?
- 目前面了哪些公司?对于目前投的公司有什么偏好吗?
- 有想象过在拼多多工作的一天吗?对薪资有什么要求?
- 从哪些渠道了解互联网相关的讯息?
- 如果拼多多把你挂了,你觉得会是什么原因?我和你聊了二十分钟,你觉得你的哪些非技术性的综合素质可能不如其他候选者?
- 薪资
- 你有什么想问的吗?
这三年来,我是如何自学的?
(1)观看零基础学习视频
看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,首先学Android 语法基础,再到框架,从基础到深入,还是很容易入门的。至于视频,网络上实际上有一大堆,我这边是学长给我的珍藏版,应该是搜索不到,如果你需要,当然我也可以免费分享给你。
(2)阅读前辈的一些书籍和笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
(3)动手实操做一些小项目
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,所以当我把框架学完之后,就自己去动手去做了个小的商城项目。关于这个商城项目的教程,你有需要我也可以分享出来。
(4)加一些社群,找一个好师傅
多交一些志同道合的朋友,甚至是去找一个好的师傅带带你,这是我给你最真实的建议。加入一些社群,参与到一些技术讨论时,能够极大地提升我自己的学习积极性,另外找一个师傅带带自己,学习和实操过程中遇到的很多问题就比较好解决一些,整个效率也就提升得比较快了。
总结
对于转行做程序员,我能成功靠什么?两个关键词,决心和毅力!
如果你下定决心,做了选择,就一定要坚持到最后。
如今我已成功转行,现在在这个行业只算得上一个新人,但随着岁月增长,我会慢慢成为一名“老猿”,但我也会依然把自己这颗学习的心保持到老。同样的,我也希望你在青春迷茫时,能不要放弃,因为每个人,都有柳暗花明的那一刻。
最后,文章中所涉及到的一些学习视频、学习资料或是项目,都可以免费分享出来,若你需要这些:
点击码云免费获取
网友评论