【面经】一年的Android开发经验跳槽时,面试官都会问些什么问题?(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

希望对有同样疑问的朋友能有点帮助。

一年Android开发经验需要具备什么

简单来说,最重要的是有成长潜力

一般三年以上经验的员工,我更看重他之前的工作经验能否能让他快速独立负责某一块工作,是否能将他之前的经验转化团队的战斗力,不同公司业务与经历差别很多,这样的人可能带来不一样的技术经验与视角,这也是为什么常说外来的和尚会念经,其实是一个经验互补、避免既有团队老化陈腐的一个方法。

三年以内经验的员工,更多的是看他的成长潜力,而成长潜力最主要的是基本功。只有基本功扎实的员工,才能快速学习掌握新技能,在之后的业务变化中,就能快速适应,满足团队要求。

Android发展起来只有短短几年,我毕业那会都是Windows开发的天下,包括手机也都是WinCE, Windows Mobile系列,哪能想到如今这般景象。现在做Android/iOS是挺好,没准哪天就都是Web开发的天下了,我始终认为“一次开发、到处运行” 既然是所有IT人努力与向往的场景,那么这一天迟早是要到来的。正如现在的开发语言越来越简洁越来越注重开发效率一样,趋势是不可阻挡的。

那么我个人的建议是:仔细想想自己学校里学的东西是否都学扎实了?(如果你是计算机相关专业的话)如果没有,优先要做的就是再把那些东西好好温习下。

面试流程及面试问题


一般写完简历就可以投递了,可以找朋友内推或拉钩网、Boss直聘直接投递,这样比较快一些。

一般的面试安排都是3轮技术面和1轮HR面,部分公司可能会有增减。

技术面试一般会先做个自我介绍,然后问问你做的项目,考察一下基础,之后再写个算法,最后可能问问你有什么想问的么。

自我介绍

自我介绍一般主要说一下你在哪就职,目前的工作情况,工作经验有多久,都做过哪些东西,尤其要突出一下你的亮点。这个大家提前准备一下就好。

项目经历

自我介绍完之后,面试官就会看你的工作经历,挑一些问你,或者直接让你介绍做过的最好的东西。

大家写到工作经历的东西,负责的部分一定要特别熟,经得起面试官的拷问,如果只是参与的,也要尽量弄熟,否则就不要往上写。

每个人的经历不同,做过的东西都不一样,所以我就不给大家整理了。

基础

问完项目,就该考察考察候选人的基础了,一般包括Android基础、Java基础、Android常用的开源框架、设计模式和网络基础等等。下面我来列举一下常见的考察点:

Java相关

Java基础

  • HashMap1.7和1.8的实现原理

  • final关键字,为什么匿名内部类使用局部引用要用final

Java多线程

  • 线程池的使用和原理

  • 锁机制:synchronizedLock

  • volatile关键字

  • ThreadLocal原理

JVM

  • Java内存结构

  • Java垃圾回收机制

  • Java类加载过程

Android相关

Android基础

  • Handler通信机制

  • 跨进程通信方式

  • Activity启动模式

  • 内存优化、布局优化

  • View的绘制流程

  • Android事件分发机制

  • 动画的分类及其原理

  • MVC、MVP和MVVM模式

  • SparseArray原理

Android开源框架

  • Android网络库:VolleyOkHttpRetrofit的使用、原理和对比

  • Android图片库:GlidePicasso的使用、原理和对比

  • EventBus的使用和原理

  • RxJava的使用和原理

  • Router的使用和原理

网络基础

  • HTTP相关:包括HTTP2.0、HTTPS等

  • TCP相关:三次握手、四次挥手等

设计模式

  • 单例模式

  • 代理模式:静态代理和动态代理

  • 观察者模式

这些基础知识一方面大家可以直接阅读源码,一方面可以去网上搜索相关文章去学习,我这里也做了一些关于源码的整理。(文末可以查看领取)

毕竟只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

另外,腾讯面试真的很喜欢问原理,而且问得比较细,所以还是需要加强对原理的研究。

算法

问完基础就可以写算法了,通过我的面试经历来看,算法的难度不是很大,基本刷过《剑指Offer》就足以应对面试了。

大家刷《剑指Offer》的时候,每道题一定要自己先做一遍,这些题基本牛客网上都有,大家可以直接在那上面敲代码。做完之后看看书上的解题思路,如果发现自己的方法不是很好,可以按照书上的思路自己实现一遍,再和书上的代码对比一下,这样印象才深刻。

记住,我们刷《剑指Offer》并不是去记每道题,而是记每种解题的思路,自己有个总结,这样以后在遇到没见过的题目时,才会应对自如。

我在准备的过程中已经把《剑指Offer》所有的题目都用Java实现了一遍,可以参考剑指Offer Java版官方题解汇总

其它

除了上面以外,面试官也可能会问问跳槽原因,我一般还是以个人技术成长的角度回答的,具体我就不详述了。

最后,面试官还可能会问问你有什么要问的,一般我们要问问技术、项目相关的东西,比如你们使用的技术栈是怎样的、团队的规模怎么样、我来了之后会做些什么工作等等。

最后

代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。

所以,长征路还长,大家还是好好地做个务实的程序员吧。

最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

下哦~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-xnOKtllM-1713082273770)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值