最后
针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
高考报考的时候,由于意外踏入了某著名高校的校长直通车计划,我顺利地进入了这所高校,读上了我曾最为讨厌的经济学专业。这所高校的巨大光环和号称全国第一的专业名气,让我带着满满的骄傲学起了我最不喜欢的专业,过上了不羞不臊的颓废的大学生活。
但不喜欢终究还是不喜欢,从小对计算机的兴趣,以及今后想做技术大牛的梦想,让我选择了转行。过程也很是曲折,在这里就不在赘述了。现如今,经过了两年培训和小公司的历练,我成功进入了某知名互联网公司,回想起转行最艰难的两年,我还是很欣慰的。
但这两年的学习,以及现如今在这家公司看周围同事的状态,让我开始了一些思考。我很痛苦,真的希望有高人能来为我指点。
我开始思考,究竟什么是技术。在前一家小公司,我的目标就是通过学习和积攒项目经验,跳到一家知名的互联网公司。现在回想起来,我所学习的知识,到底是不是技术?
也许我的疑问很奇怪,但我就是怀疑我自己。我看了Java基础,看了Spring,看了JVM,还自己按照书本写了一个JVM。
当然,我还要继续看多线程,IO等相关的知识。这些算是技术么?当然这在我学习这些知识的时候就产生了这样的疑问,总体给我的感觉就是,太不底层了。于是我开始补计算机基础,看数据结构与算法,看计算机组成原理,还画出了CPU。
当时我找各种计算机底层原理的书去看,通俗的有《编码》,专业的有《深入理解计算机系统》,不过只看了个大概。当时好几次都会有豁然开朗的感觉,但我现在回想看,那些又算是技术么?
也许我现在的确走到了一个瓶颈,我就觉得,学什么都不算技术。计算机原理就是0101010。我去看计算机组成原理,也无非是在这个思想下和一些物理知识下的应用罢了,再往上说我看的Java,Spring,JVM,也更是在这种思想下的应用,甚至它们只是在操作系统之上的应用罢了。
我就觉得,只有把世间万物的信号转变为010101区描述这种思想,还有物理元器件的发明,才是真正的技术。而我想成为技术大牛的梦想,最终仍然逃脱不出这些最基本的设计。
用《三体》的话说,我们都是一群搞应用的俗人罢了。不论是开发工程师,算法工程师,架构师还是什么,这些原本在我看来有很深的技术魅力的职位,变得开始让我怀疑了。
你说,做技术的人大体有个感觉,为什么做技术,就是因为有成就感嘛。所以我抱着这样的想法,在大方向上就没了成就感,这还是一件挺恐怖的事。
我不知道我这乱七八糟的想法是不是你们也同样有。你就说其他学科吧,比如物理,就觉得是在不断研究和发现这个世界的自然本质和规律,我就觉得这才是技术。
学计算机的搞了个什么呢?不断拼凑0101010输入到电脑里,再不断输出0101010到各种设备里去解读,就总感觉我们是在一个保护层上在探索一样。
我不否认我喜欢计算机,但不知道为什么我偏偏在这个时间点有这种莫名其妙的想法,是不是我不该这样想,是不是我沦为了意义党。
再用《三体》里那些物理学家突然发现他们的研究只是一个更大的系统的偶然,受不了一个个去死来说。如果有天发现计算机原理不再是010101了,所有的所谓技术统统不就没意义了么。换句话说,我有点觉得,只有凌驾于万物之上的,处于万物底层的东西,才叫技术,才叫本质。
所以,我也特别讨厌那些把简单问题说的特别复杂特别高端的人。你看我写出的文章就比较通俗易懂,而且我觉得技术的本质就是容易理解的。
我不知道是不是因为我太low逼了才会这么想,因为说实在的我也的确还没写什么特别高端的文章呢,但我觉得我目前理解的技术,没有理解的时候觉得特别高端特别复杂,一旦理解了我就觉得一两句话的事情。我就觉得既然所有计算机技术最终都能落到010101,干嘛搞各种有的没的。
有一种人是不懂装懂,或者以为自己懂了,把一些问题说的郑重其事。我不觉得分布式问题比排序问题高端到哪里去,但我不是指问题的研究不要深入,所谓深入就是细节更多而已。
复杂的技术经过更多细节的拆分,每一个细节都能很好的理解,整体也就能通俗易懂,至少我是希望把所有技术都在不是深度的情况下用通俗的语言去描述,我讨厌对某些技术进行高端化的包装,正如现在,我甚至认为技术也不配叫做技术了,哎真是作死啊。
我也曾想过,或许是我现在稍稍懂得了一些所谓的“技术”,但深度和广度上远远不够,等10年之后我彻底明白这些也许有不一样的答案。我还曾想过,或许这些我觉得不是技术的东西,它本身就是技术。
当技术拆解得足够小时,就看起来不是技术了,就像计算机所有技术最终都可以用010101来解释一样。我不知道答案是什么,但我知道我现在无法解释我的疑问,我还在探索,并且处于一个极度怀疑自己,怀疑自己所追求的技术的一个阶段。
写在最后
本次我的分享也接近尾声了,感谢你们在百忙中花上一下午来这里聆听我的宣讲,希望在接下来的日子,我们共同成长,一起进步!!!
最后放上一个大概的Android学习方向及思路(详细的内容太多了~),提供给大家:
对于程序员来说,要学习的知识内容、技术有太多太多,这里就先放上一部分,其他的内容有机会在后面的文章向大家呈现出来,不过我自己所有的学习资料都整理成了一个文档,一直在不断学习,希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!
Android架构师之路很漫长,一起共勉吧!
如果你觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**