7月小记附面经,大厂Android面试真题精选


面试主要是分为技术部分和非技术部分。

2.1 技术部分

技术部分 80%来源于简历上的内容,剩下15%是从这些内容扩展出去,最后剩下5%是新技术、Android发展的展望,只能说是加分项,但是有些很基础的东西要搞清,比如Android每个版本的比较啊,一些著名的、框架是哪个公司开源的呀,最好都记一下。

有一次由于没有覆盖到这些问题,导致在被问到Android11的一些新特性时候,我哑口无言,翻车现场一度十分尴尬。

这里整理一些遇到的问题:

Java部分

除开基础概念,线程安全就是最重要的

  • 接口和抽象类的区别,一个类的能不能多继承,能不能实现多个接口?接口类的非方法能不能被修改?抽象类的变量可以被继承和修改么?

  • final关键字

  • GC如何标记要回收的内存?GC Roots有哪些?

  • 线程安全问题,sychronized、lock/unlock的区别使用,公平锁和非公平锁的概念。

sychronized是如何体现公平锁和非公平锁的(CAS、锁自旋)?

  • HashMap原理,在什么时候扩容(当加入的元素大于阈值threshold后)。 以及线程安全的HashTable、ConcurrentHashMap的原理。

  • "abcde"字符串在内存中占多大,这些字节在JVM的编码格式

  • JVM堆和栈的作用,进程和线程的作用,堆栈和线程进程的对应关系

  • 线程同步问题,自增是原子操作吗?如果要做到线程安全的自增要做怎么做?

Android部分

主要是围绕着一些技术在项目中的使用,优化的方面是一定会提到的。

  • View的事件分发、触摸反馈

  • 布局优化怎么做的?内存优化怎么做的?内存抖动?

  • RxJava

  • 注解处理器

  • 热修复

网络/操作系统

网络部分占主要,操作系统都很简单

  • TCP、UDP、HTTP、WebSocket

  • TCP会检查包的顺序么,Tcp怎么控制包的发送(滑动窗口)。

  • 拥塞控制和流量控制的区别

  • HTTPS建立流程

  • 死锁怎么产生?如何去解决死锁,多个方案

智力/编程

编程题都是leetcode可以见的到的原题,智力题也在各种面经中出现,所以调出现最多的看就行。

  • 将一个分数转化成小数形式输出,因为分数只可能是有限小数或无限循环小数。如果小数是无限循环小数,则使用小括号括起。

  • 给一篮子鸡蛋,如何用最少的比对次数找到最大的和最小的鸡蛋

  • 排序二叉树的插入

  • 两桶油漆,A桶全是红色油漆,B桶全是蓝色油漆,将A桶中取一勺倒入B中,再从B桶中取一勺倒入A中,求A桶的蓝红比例和B桶的红蓝比例,是大于、小于还是等于?

  • 用一个数组实现一个循环队列

  • 给定一个只有“R”“G”“B”三个字母的字符串,用一次遍历基于原字符串将他们以“RGB”的顺序排序好

  • 52张扑克牌,取一张不放回,再取一张, 两张为相同颜色的概率是多少?

  • 给n和m,写一个环向走往里走的矩阵(n*m的二维数组)

  • 烧蜡烛(绳子)问题

  • 赛马问题

  • 快排是否稳定?冒泡是否稳定?

对于大厂来说,这些都是做为考核的重要标准,一般每一面都会有代码编程,甚至会整一场面试都是代码编程。

我是先想怎么做,想完了再把思路告诉面试官,一般来说,如果思路对了,这题就能拿走7 8成的成绩了,后面能把代码实现就更perfect了。

所以,就算代码实现不出来关系不是很大,最最重要的还是让面试官知道你有正确的解题思路就OK了。

2.2 非技术部分

一般技术面的时候会问一下,然后剩下都是在HR面中

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?

Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

所以,最后这里放上我耗时两个月,将自己8年Android开发的知识笔记整理成的Android开发者必知必会系统学习资料笔记,上述知识点在笔记中都有详细的解读,里面还包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

B5-1712061373682)]

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值