膜拜大佬!关于Android开发的面试经验总结,面试总结
优秀的战士需要出色的剑才能战斗。同样,在现代IT中,每个编码人员都需要最好的Android开发人员工具来提高他们的技能和效率。在Android应用程序开发这个残酷的竞争行业中,只有优秀的开发人员才能生存下去。您需要向客户展示您拥有最佳技术和资源。
它不仅仅是展示您的设备以吸引客户,还要确保您的Android应用程序在高效的时间线内以最高质量构建。那么哪些是最好的Android开发者工具?嗯,那里有很多工具,但并非所有工具都足够好。在不浪费任何时间的情况下,让我们来看看最好的Android应用开发工具。
学会深入思考,总结沉淀
我想说的第一条就是要学会深入思考,总结沉淀,这是我觉得最重要也是最有意义的一件事。
先来说深入思考。在程序员这个圈子里,常能听到一些言论:我这个工作一点技术含量都没有,每天就CRUD,再写写if-else,这TM能让我学到什么东西?
抛开一部分调侃和戏谑的论调不谈,这可能确实是一部分同学的真实想法,至少曾经的我,就这么认为过。
后来随着工作经验的积累,加上和一些高level的同学交流探讨之后,我发现这个想法其实是非常错误的。之所以出现没什么可学的这样的看法,基本上是思维懒惰的结果。
任何一件看起来很不起眼的小事,只要进行深入思考,稍微纵向挖深或者横向拓宽一下,都是足以让人沉溺的知识海洋。
举一个例子。某次有个同学跟我说,这周有个服务OOM了,查了一周发现有个地方defer写的有问题,改了几行代码上线修复了,周报都没法写。
可能大家也遇到过这样的场景,还算是有一定的代表性。其实就查bug这件事来说,是一个发现问题,排查问题,解决问题的过程,包含了触发、定位、复现、根因、修复、复盘等诸多步骤。
花了一周来做这件事,一定有不断尝试与纠错的过程,这里面其实就有很多思考的空间。比如说定位,如何缩小范围的?走了哪些弯路?用了哪些分析工具?
**比如说根因,**可以研究的点起码有linux的OOM,k8s的OOM,go的内存管理,defer机制,函数闭包的原理等等。如果这些真的都不涉及,仍然花了一周时间做这件事,那复盘应该会有很多思考,提出来几十个WHY没问题吧…
**再来说下总结沉淀。**这个我觉得也是大多数程序员比较欠缺的地方,只顾埋头干活,可以把一件事做的很好。但是几乎从来不做抽象总结,以至于工作好几年了,所掌握的知识还是零星的几点,不成体系,不仅容易遗忘,而且造成自己视野比较窄,看问题比较局限。
**适时地做一些总结沉淀是很重要的,这是一个从术到道的过程,会让自己看问题的角度更广,层次更高。**遇到同类型的问题,可以按照总结好的方法论,系统化、层次化地推进和解决。
还是举一个例子。做后台服务,今天优化了1G内存,明天优化了50%的读写耗时,是不是可以做一下性能优化的总结?
比如说在应用层,可以管理服务对接的应用方,梳理他们访问的合理性;在架构层,可以做缓存、预处理、读写分离、异步、并行等等;在代码层,可以做的事情更多了,资源池化、对象复用、无锁化设计、大key拆分、延迟处理、编码压缩、gc调优还有各种语言相关的高性能实践…
等下次再遇到需要性能优化的场景,一整套思路立马就能套用过来了,剩下的就是工具和实操的事儿了。大家也可以关注微信公众号:Java技术栈,在后台回复:架构,可以获取我整理的 N 篇 Java 架构教程,都是干货。
还有的同学说了,我就每天跟PM撕撕逼,做做需求,也不做性能优化啊。先不讨论是否可以搞性能优化,单就做业务需求来讲,也有可以总结的地方。比如说,如何做系统建设?系统核心能力,系统边界,系统瓶颈,服务分层拆分,服务治理这些问题有思考过吗?
每天跟PM讨论需求,那作为技术同学该如何培养产品思维,引导产品走向,如何做到架构先行于业务,这些问题也是可以思考和总结的吧。就想一下,连接手维护别人烂代码这种蛋疼的事情,都能让Martin Fowler整出来一套重构理论,还显得那么高大上,我们确实也没啥必要对自己的工作妄自菲薄…
所以说学习和成长是一个自驱的过程,如果觉得没什么可学的,大概率并不是真的没什么可学的,而是因为自己太懒了,不仅是行动上太懒了,思维上也太懒了。
积极学习,保持技术热情
最近两年在互联网圈里广泛传播的一种焦虑论叫做35岁程序员现象,大意是说程序员这个行业干到35岁就基本等着被裁员了。
不可否认,互联网行业在这一点上确实不如公务员等体制内职业。但是这个问题里35岁程序员并不是绝对生理意义上的35岁,应该是指那些工作十几年和工作两三年没什么太大区别的程序员。
后面的工作基本是在吃老本,没有主动学习与充电,35岁和25岁差不多,而且没有了25岁时对学习成长的渴望,反而添了家庭生活的诸多琐事,薪资要求往往也较高,在企业看来这确实是没什么竞争力。
**而如果我们积极学习,保持技术能力、知识储备与工作年限成正比,这到了35岁哪还有什么焦虑呢,这样的大牛我觉得应该也是各大公司抢着要吧?**但是学习这件事,其实是一个反人类的过程,这就需要我们强迫自己跳出自己的安逸区,主动学习,保持技术热情。
在滴滴时有一句话大概是,主动跳出自己的舒适区,感到挣扎与压力的时候,往往是黎明前的黑暗,那才是成长最快的时候。相反如果感觉自己每天都过得很安逸,工作只是在混时长,那可能真的是温水煮青蛙了。
刚毕业的这段时间,往往空闲时间还比较多,正是努力学习技术的好时候。借助这段时间夯实基础,培养出良好的学习习惯,保持积极的学习态度,应该是受益终身的。至于如何高效率学习,网上有很多大牛写这样的帖子,到了公司后内网也能找到很多这样的分享,我就不多谈了。
可以加入学习小组和技术社区,公司内和公司外的都可以,关注前沿技术。
主动承担,及时交流反馈
前两条还是从个人的角度出发来说的,希望大家可以提升个人能力,保持核心竞争力,但从公司角度来讲,公司招聘员工入职,最重要的是让员工创造出业务价值,为公司服务。
虽然对于校招生一般都会有一定的培养体系,但实际上公司确实没有帮助我们成长的义务。而在能为公司办成事,创造价值这一点上,我觉得最重要的两个字就是主动,主动承担任务,主动沟通交流,主动推动项目进展,主动协调资源,主动向上反馈,主动创造影响力等等。
我当初刚入职的时候,基本就是leader给分配什么任务就把本职工作做好,然后就干自己的事了,几乎从来不主动去跟别人交流或者主动去思考些能帮助项目发展的点子。自以为把本职工作保质保量完成就行了,后来发现这么做其实是非常不够的,这只是最基本的要求。
而有些同学的做法则是leader只需要同步一下最近要做什么方向,下面的一系列事情基本不需要leader操心了 ,这样的同学我是leader我也喜欢啊。入职后经常会听到的一个词叫owner意识,大概就是这个意思吧。
在这个过程中,另外很重要的一点就是及时向上沟通反馈。项目进展不顺利,遇到什么问题,及时跟leader同步,技术方案拿捏不准可以跟leader探讨,一些资源协调不了可以找leader帮忙,不要有太多顾忌,认为这些会太麻烦,leader其实就是干这个事的。。
如果项目进展比较顺利,确实也不需要leader介入,那也需要及时把项目的进度,取得的收益及时反馈,自己有什么想法也提出来探讨,问问leader对当前进展的建议,还有哪些地方需要改进,消除信息误差。
做这些事一方面是合理利用leader的各种资源,另一方面也可以让leader了解到自己的工作量,对项目整体有所把控,毕竟leader也有leader,也是要汇报的。可能算是大家比较反感的向上管理吧,有内味了,这个其实我也做得不好。但是最基本的一点,不要接了一个任务闷着头干活甚至与世隔绝了,一个月了也没跟leader同步过,想着憋个大招之类的,那基本凉凉。
一定要主动,可以先从强迫自己在各种公开场合发言开始,有问题或想法及时one-one
除了以上几点,还有一些小点我觉得也是比较重要的,列在下面:
第一件事建立信任
无论是校招还是社招,刚入职的第一件事是非常重要的,直接决定了leader和同事对自己的第一印象。入职后要做的第一件事一定要做好,最起码的要顺利完成而且不能出线上事故。这件事的目的就是为了建立信任,让团队觉得自己起码是靠谱的。
如果这件事做得比较好,后面一路都会比较顺利。如果这件事就搞杂了,可能有的leader还会给第二次机会,再搞不好,后面就很难了,这一条对于社招来说更为重要。
而刚入职,公司技术栈不熟练,业务繁杂很难理清什么头绪,压力确实比较大。这时候一方面需要自己投入更多的精力,另一方面要多跟组内的同学交流,不懂就问。
最有效率的学习方式,我觉得不是什么看书啊学习视频啊,而是直接去找对应的人聊,让别人讲一遍自己基本就全懂了,这效率比看文档看代码快多了,不仅省去了过滤无用信息的过程,还了解到了业务的演变历史。当然,这需要一定的沟通技巧,毕竟同事们也都很忙。
脸皮要厚一点,多找人聊,快速融入,最忌讳有问题也不说,自己把自己孤立起来。
超出预期
超出预期这个词的外延范围很广,比如leader让去做个值周,解答用户群里大家的问题,结果不仅解答了大家的问题,还收集了这些问题进行分类,进而做了一个智能问答机器人解放了值周的人力,这可以算超出预期。比如leader让给运营做一个小工具,结果建设了一系列的工具甚至发展成了一个平台,成为了一个完整的项目,这也算超出预期。
超出预期要求我们有把事情做大的能力,也就是想到了leader没想到的地方,并且创造了实际价值,拿到了业务收益。这个能力其实也比较重要,在工作中发现,有的人能把一个小盘子越做越大,而有的人恰好反之,那么那些有创新能力,经常超出预期的同学发展空间显然就更大一点。
这块其实比较看个人能力,暂时没想到什么太好的捷径,多想一步吧。
体系化思考,系统化建设
这句话是晋升时候总结出来的,大意就是做系统建设要有全局视野,不要局限于某一个小点,应该有良好的规划能力和清晰的演进蓝图。比如,今天加了一个监控,明天加一个报警,这些事不应该成为一个个孤岛,而是属于稳定性建设一期其中的一小步。
这一期稳定性建设要做的工作是报警配置和监控梳理,包括机器监控、系统监控、业务监控、数据监控等,预期能拿到XXX的收益。
这个工作还有后续的roadmap,稳定性建设二期要做容量规划,接入压测,三期要做降级演练,多活容灾,四期要做…给人的感觉就是这个人思考非常全面,办事有体系有规划。
**平时积极总结沉淀,多跟别人交流,形成方法论。**
提升自己的软素质能力
这里的软素质能力其实想说的就是PPT、沟通、表达、时间管理、设计、文档等方面的能力。说实话,我觉得我当时能晋升就是因为PPT做的好了一点…可能大家平时对这些能力都不怎么关注,以前我也不重视,觉得比较简单,用时候直接上就行了,但事实可能并不像想象得那样简单。
比如晋升时候PPT+演讲+答辩这个工作,其实有很多细节的思考在里面,内容如何选取,排版怎么设计,怎样引导听众的情绪,如何回答评委的问题等等。
晋升时候我见过很多同学PPT内容编排杂乱无章,演讲过程也不流畅自然,虽然确实做了很多实际工作,但在表达上欠缺了很多,属于会做不会说,如果再遇到不了解实际情况的外部门评委,吃亏是可以预见的。
公司内网一般都会有一些软素质培训课程,可以找一些场合刻意训练。
以上都是这些分享还都算比较伟光正,但是社会吧也不全是那么美好的。。下面这些内容有负能量倾向,三观特别正的同学以及观感不适者建议跳过。
拍马屁是真的香
拍马屁这东西入职前我是很反感的,我最初想加入互联网公司的原因就是觉得互联网公司的人情世故没那么多,事实证明,我错了…
入职前几天,部门群里大leader发了一条消息,后面几十条带着大拇指的消息立马跟上,学习了,点赞,真不错,优秀,那场面,说是红旗招展锣鼓喧天鞭炮齐鸣一点也不过分。
除了惊叹大家超强的信息接收能力和处理速度外,更进一步我还发现,连拍马屁都是有队形的,一级部门leader发消息,几个二级部门leader跟上,后面各组长跟上,最后是大家的狂欢,让我一度怀疑拍马屁的速度就决定了职业生涯的发展前景(没错,现在我已经不怀疑了)。
坦诚地说,我到现在也没习惯在群里拍马屁,但也不反感了,可以说把这个事当成一乐了。倒不是说我没有那个口才和能力(事实上也不需要什么口才,大家都简单直接),在某些场合,为活跃气氛的需要,我也能小嘴儿抹了蜜,甚至能把古诗文彩虹屁给leader安排上。而是我发现我的直属leader也不怎么在群里拍马屁,所以我表面上不公开拍马屁其实属于暗地里事实上迎合了leader的喜好…
但是拍马屁这个事只要掌握好度,整体来说还是香的,最多是没用,至少不会有什么坏处嘛。大家能力都差不多,每一次在群里拍马屁的机会就是一次露脸的机会,按某个同事的说法,这就叫打造个人技术影响力…
想舔就舔,不想舔也没必要酸别人,Respect Greatness。
永不缺席的撕逼甩锅实战 有人的地方,就有江湖。虽然搞技术的大多城府也不深,但撕逼甩锅邀功抢活这些闹心的事儿基本也不会缺席,甚至我还见到过公开群发邮件撕逼的…
这部分话题涉及到一些敏感信息就不多说了,而且我们低职级的遇到这些事儿的机会也不会太多。只是给大家提个醒,在工作的时候迟早都会吃到这方面的瓜,到时候留个心眼。
稍微注意一下,咱不会去欺负别人,但也不能轻易让别人给欺负了。
不要被画饼蒙蔽了双眼
说实话,我个人是比较反感灌鸡汤、打鸡血、谈梦想、讲奋斗这一类行为的,这一套治还在大行其道,真不知道是该可笑还是可悲。当然,这些词本身并没有什么问题,但是这些东西应该是自驱的,而不应该成为外界的一种强push。
『我必须努力奋斗』这个句式我觉得是正常的,但是『你必须努力奋斗』这种话多少感觉有点诡异,努力奋斗所以让公司的股东们发家致富?尤其在钱没给够的情况下,这些行为无异于耍流氓。
我们需要对leader的这些画饼操作保持清醒的认知,理性分析,作出决策。比如感觉钱没给够(或者职级太低,同理)的时候,可能有以下几种情况:
•leader并没有注意到你薪资较低这一事实
•leader知道这个事实,但是不知道你有多强烈的涨薪需求
•leader知道你有涨薪的需求,但他觉得你能力还不够
•eader知道你有涨薪的需求,能力也够,但是他不想给你涨
•leader想给你涨,也向上反馈和争取了,但是没有资源
这时候我们需要做的是向上反馈,跟leader沟通确认。如果是1和2,那么通过沟通可以消除信息误差。如果是3,需要分情况讨论。如果是4和5,已经可以考虑撤退了。
对于这些事儿,也没必要抱怨,抱怨解决不了任何问题。我们要做的就是努力提升好个人能力,保持个人竞争力,等一个合适的时机,跳槽就完事了。
时刻准备着,技术在手就没什么可怕的,哪天干得不爽了直接跳槽。
学会包装
这一条说白了就是,要会吹。忘了从哪儿看到的了,能说、会写、善做是对职场人的三大要求。能说是很重要的,能说才能要来项目,拉来资源,招来人。
同样一件事,不同的人能说出来完全不一样的效果。比如我做了个小工具上线了,我就只能说出来基本事实,而让leader描述一下,这就成了,打造了XXX的工具抓手,改进了XXX的完整生态,形成了XXX的业务闭环。老哥,我服了,硬币全给你还不行嘛。
据我的观察,每个互联网公司都有这么几个词,抓手、生态、闭环、拉齐、梳理、迭代、owner意识等等等等,我们需要做的就是熟读并背诵全文,啊不,是牢记并熟练使用。
这是对事情的包装,对人的包装也是一样的,尤其是在晋升和面试这样的应试型场合,特点是流程短一锤子买卖,包装显得尤为重要。
晋升和面试这里就不展开说了,这里面的道和术太多了。。关注微信公众号:Java技术栈,在后台回复:面试,可以获取我整理的 N 篇 Java 面试题干货。
下面的场景提炼自面试过程中和某公司面试官的谈话,大家可以感受一下:
我们背后是一个四五百亿美金的市场…
我负责过每天千亿级别访问量的系统…
工作两年能达到这个程度挺不错的…
贵司技术氛围挺好的,业务发展前景也很广阔…
啊,彼此彼此…
嗯,久仰久仰…
最后
答应大伙的备战金三银四,大厂面试真题来啦!
这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
给文章留个小赞,就可以免费领取啦~
戳我领取:3000页Android开发者架构师核心知识笔记
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析
资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
[外链图片转存中…(img-LnnUrdmT-1620827038641)]
腾讯、字节跳动、阿里、百度等BAT大厂 2020-2021面试真题解析
[外链图片转存中…(img-3eO5M1y4-1620827038642)]
资料收集不易,如果大家喜欢这篇文章,或者对你有帮助不妨多多点赞转发关注哦。文章会持续更新的。绝对干货!!!
膜拜大佬!关于Android开发的面试经验总结,面试总结相关推荐
- 从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级丨C++后端开发丨Linux服务器开发丨面试经验丨面试总结
从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级 视频讲解如下,点击观看: 从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级丨C++后端开发丨Linux服务器开发丨面试经验丨面试总结丨 ...
- 膜拜大佬!Android面试真题解析火爆全网,完整PDF
目录 想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样. PagerAdapter 介绍 ViwePager 缓存策略 ViewPager 布局处 ...
- Android面试必问!斗鱼直播Android开发二面被刷,面试心得体会
最近很多人说,Android越来越不好找工作了,学习NDK开发会不会好点,今天就聊聊这个问题.是否应该选择学NDK? 1.哪些场景下要用到NDK开发? 跨平台的库,如FFmpeg, skip,weex ...
- 膜拜大佬!Android这些高端技术只有你还不知道,架构师必备技能
前言 本想今年辞掉工作大干一场,没想到碰到疫情,家里蹲了3个月-,还好字节能给一次机会.前阵子字节跳动的提前批开始了,看宣传是说有海量HC,机会多多,本着涨涨面经的心理,然后就投递了一下杭州那边的部门 ...
- 膜拜大牛!Android开发最佳实践手册全网独一份,终获offer
前言 首先介绍一下自己,计算机水本,考研与我无缘.之前在帝都某公司算法部实习,公司算大公司吧,然而个人爱好偏开发,大二的时候写个一个app,主要是用各种框架. 学习路径:如何循序渐进.阶段性的学习An ...
- Android开发3年,九月份面试12家大厂跳槽成功,我有一些面试经验想分享给你们
这里推荐一下极客时间上覃超的五遍刷题法: 五遍刷题法 1.第一遍,直接看解法 多解法,比较解法优劣,默写好的解法 2.第二遍,打开leetcode,直接开始写 多种解法比较,调优 3.第三遍,过一天之 ...
- 三年经验Android开发,2个月面试腾讯、B站,你花了多久弄明白架构设计
8.Activity启动模式,以及各启动模式生命周期问题 9.静态方法,静态对象为什么不能继承 10.Activity怎么启动Service,Activity与Service交互,Service与Th ...
- 膜拜大佬!Android岗面试12家大厂成功跳槽,使用指南
前言: 与其每天浑水摸鱼.浑浑噩噩,不如多进阶学习,提升自己的竞争力. Android中高级必会知识点: 一.性能优化 1.APP稳定性优化 1.做过哪些稳定性方面的优化? 2.性能稳定性是怎么做的? ...
- Android开发两年,跳槽面试小公司面试官说我可以试试大厂---,Android小程序开发实例
开源库用过哪些 自己平时写项目学习,基本都用过,原理也了解:重构项目的资讯模块用了Retrofit & RxJava,自己思考优化了代码框架,比如线程切换.页面查找等,其实弄清楚原理,要改哪里 ...
- 【金九银十】Android开发真等于废人?面试必问
面试如作战,我们看战争影视剧的时候,经常看到这些剧作往往主要聚焦于作战过程.战场战略,对战前准备给的篇幅往往很少.实际上,战前准备也是关键的一环,没有充足的粮草.车马.兵器的准备.别说赢得战争,投入战 ...
最新文章
- MBTiles离线包生成和使用
- 【第20周复盘】转换思路,让更多的小朋友们参与进来!
- 零基础学Python(第十八章 文件IO流操作)
- 研旭电子dsp配套程序_为什么自动调音DSP还火不了?
- SAP OData 后台ETAG校验逻辑
- linux帮助命令和用法,Linux命令帮助及history命令的使用
- C#中对 XML节点进行添加,删除,查找和删除操作
- Vue.js目录结构
- 数据库 表设计案例+经验 [vaynexiao]
- 域无法在加入计算机,计算机无法加入域的终级解决方法
- 绕过tp路由器管理密码_无线路由器管理员密码多少 无线路由器管理员密码介绍【详解】...
- 全球及中国酒店保险箱行业发展现状及需求前景预测报告*2022-2027
- TPU是什么材料,tpu材料属于塑料吗?
- Syntax Error Error No ESLint configuration found in statusGitmibsrc
- Docker系列五基于CentOS制造镜像
- 伽马变换的原理以及python实现
- Robocup场地信息
- Photon Socket 术语表
- 攻防世界pwn新手区整理
- FT、DTFT和DFT之间的关系
热门文章
- 大学C语言期末考试题库试题及答案(3)
- ubuntu-10.04下 联想 卲阳E46L以太 网驱动程序安 装
- 在线编辑图片 (含完整源码)
- Test XiMaLaYa 新奇部分的添加
- 指针随鼠标移动的flash卡通时钟
- 玩转系统|Ventoy – 免格式化,超简单的『多合一』系统启动盘制作神器
- 电脑启动提示“你的电脑遇到问题,需要重新启动,我们只收集某些错误信息,然后为你重新启动。”
- 李健《Django 2.0入门与实践》书中错误及修改方法
- 郑清 - 日常作息表(2020-02)
- 神舟Z7-SL7S3(蓝天P650RG/RE准系统)刷BIOS解决CPU的uncore功耗大于10W,修改启动Logo详细步骤