首页 > 其他分享 >字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)

字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)

时间:2023-06-22 22:08:47浏览次数:59  
标签:11 10 面试题 12 美团 链表 内存 Android


字节(3轮技术面):

一面:

1.final
2.类加载
3.双亲委派机制,为什么要使用
4.GC
5.leackcanary
6.hashmap
7.concurrenthashmap
8.事件分发
9.handler
算法:
1.LeetCode 61:旋转链表
2.合并两个有序链表

二面:

1.final修饰int类型的变量能不能改变?怎么改变?
2.反射可以改变这个int值吗?怎么改变?反射的原理?
3.try catch块;try抛出异常,catch中有return语句,finally会执行,finally为什么会执行?
4.接口和抽象类;
5.sleep和wait;
6.操作系统层面wait调用notify之后具体是怎么样的?
7.java有哪些锁?
8.sychronized怎么实现锁;
9.操作系统的进程间通信;
10.安卓进程间通信;
11.binder机制;
12.学习的过程中使用过aidl吗?
13.apk打包过程;
14.如何获取view的宽高;
15.ConstraintLayout;
16.设计一个类似glide的图片缓存框架:面试官进行了引导:设计一个数据结构,缓存策略等;
17.创建了两个ArrayList对象,l1.getclass()==l2.getclass(),判断结果;
18.手写单例模式的饿汉式和懒汉式;
算法:层序遍历

三面:

1.前两个面试官问的问题下去了解了吗
2.代码插桩;
3.leakcanary内存泄漏;
4.ANR的检测;
5.怎么判断是不是内存泄漏:一个程序不是内存泄漏,但是内存占用很大,怎么分析这个问题
6.一个app申请了内存对象,这些内存对象在内存中是什么关系?可以通过内存的引用链来分析吗?
7.有一份内存,通过哪些方法分析哪些类对象占比比较大?(比如有一颗引用树,用什么方法或者工具统计,哪些对象加起来最大?)
8.安卓四大组件;
9.进程间通信;
10.binder机制;
11.双亲委派机制;
12.插件化的方法;
12.热修复:已经发布到线上的类,我们要修改类的方法,可以从双亲委派机制来思考下怎么做?在AMS注册之前怎么加载.dex文件?
13.操作系统原理:有socket阻塞和非阻塞io,为什么有这两种socket io?
14.安卓怎么设计一个网络请求的框架?
15.jvm内存有多大?怎么做调优?
算法:
子数组范围的和;
重排链表;

由于文章的篇幅有限,面试题及其答案太多了,没有办法一一展示出来。需要领取面试题及其答案的朋友麻烦帮忙点赞这篇文章,领取方式在这篇文章文末卡片中。

部分答案解析

字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)_百度

百度(3轮技术面):

1.Java访问修饰符
2.volatile作用(面试官发音也奇怪,我第一遍没听清他说啥,他还给我拼一遍,结果拼写也没拼对,跨服聊天)
3.Java GC机制(知道的都缕了一遍)
4.死锁(说完定义啥的,问了点场景,死锁八股选手表示我不会= =答的拉胯到家)
5.Activity生命周期
6.Activity A到B的生命周期变化,B是透明的呢?(我寻思笔试这东西都占了三十分简答了,面试怎么还问?)
7.ANR(怎么捕获?怎么处理?麻了,问深了不会)
8.手撕:数组最小的K个数
9.手撕:有重复项数组的所有排列(感觉正常就一道算法吧,我好像写的太快了,面试官非常错愕的又给我找了一道,撑到四十分钟呗,结果这道我成功的没写完,讲思路也是暴力思路,醉了,自己给自己挖大坑)
10.Android布局
11.动画
12.网络请求
13.手撕:反转双向链表(面试官:你说下思路,写不写都行。我:那我写。当时心想的就是你这就要挂我?我得再让你看我十分钟)

部分答案解析

字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)_android_02

美团(3轮技术面):

1.Android布局(各种Layout,什么FrameLayout的使用场景balabala)
2.说了点布局优化相关
3.进程和线程的区别
4.进程之间的通信方式
5.死锁 概念及发生条件(那时候还没背OS八股,完全按本科那点印象答,拉胯到家)
6.http和https区别
7.https通信的过程
8.tcp三次握手
9.tcp和udp的区别
10.数据库了解么?不了解。
11.数组和链表的区别
12.算法:二叉树的先序遍历
13.设计模式
14.手写个单例
15.Java:equals和hashCode方法
16.接口和抽象类的区别
17.接口中是否可以声明常量
18.对面向对象的理解
19.Android:四大组件及作用
20.Activity的生命周期
21.onNewIntent的调用时机
22.广播的两种启动方式
23.ANR
24.内存泄漏 定义 哪些情况会导致内存泄漏
25.Android屏幕适配做过哪些工作

部分答案解析

字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)_内存泄漏_03

腾讯

1.四大组件
2.activity生命周期
3.activity a跳转到 activity b生命周期变化
4.activity和service有什么区别
5.handler
6.loop死循环为什么不阻塞线程
7.进程间通信方式
8.http get和post区别
9.map
10.hashmap
11.用过那些库
12.glide三重缓存
13.为什么要用三重缓存
14.两张一样图片怎么办
15.MD5
16.LRU
17.还有什么可以实现LRU
18.有看过音视频这方面吗

部分答案解析:

字节、百度、美团、腾讯技术面,面试题及答案分享(Android岗)_进程间通信_04




标签:11,10,面试题,12,美团,链表,内存,Android
From: https://blog.51cto.com/u_16163442/6535737

相关文章

  • 【Android】我用 ARCore 做了一个 1:1 高达
    最近看到一个新闻,一个1:1的自由高达落户在上海金桥。作为高达爱好者的我一直想去现场感受一下高达真实的压迫感,无奈一直没机会去上海。不过这难不倒我,借助AR技术自己动手做了一个1:1的高达怎么样,这效果不比上海金桥的差吧~什么是AR(AugementedReality)AR(增强现实)是近几......
  • 腾讯技术团队最新出品,Android Framework系统框架底层原理解密
    今年以来,Android就业形势愈发严峻,各公司对开发人员的要求也是逐渐提高,在筛选Android程序员的时候也越来越看重其对于底层的理解和思考。作为一个AndroidAPP开发者,我们也不能当温水里的青蛙,必须对Android系统的组成和AndroidFramework的层次架构有所了解,才能突破和进阶。在这里就......
  • 爆火的2022版腾讯Android面试手册,最新最细致,终于拿到手了
    据腾讯HR部门6月8号发布的最新信息,2022年6月Android开发岗位数将同比增长21%,伴随应届生求职季的到来,想进腾讯的小伙伴竞争会异常激烈。面试的深度和难度将不断增加,很多想进腾讯的朋友都在问,如何准备才能顺利拿下offer?第一章Java基础静态内部类和非静态内部类的比较多态的理解与应......
  • 钉钉和抖音Android岗面筋,阿里挂了HR面,抖音通过收获Offer
    前言这一次的话,主要就是只投了钉钉和抖音两个部门,然后为了保险起见,让指导老师给我推荐了一个小公司,因为实在太想实习了,想着如果面试不上,总要有一个保底的机会。当然那家公司也挺nice的,我跟老总说了来意之后,老总直说让我全力冲,位置给我留着,所以在这里非常感谢吴总您对我的支持。阿里......
  • 盘点2021Android框架百大排行榜 附:《Android百大框架源码解析》
    一.榜单介绍排行榜包括四大类:单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架混合开发框架:提供开发hybridapp、h5与webview结合能力、webapp能力的框架企业级开源项目:可以独立运行的app,有极高的学习价值、思路借鉴意义书籍类开源项目:类似Open-sourc-project这样的......
  • 八年腾讯T4老开发对Android Framework的解密总结
    前言在Android开发者技能中,如果想进大厂,一般拥有较好的学历可能有优势一些。但是如果你靠硬实力也是有机会的,例如死磕Framework。Framework知识广泛应用在Android各个领域中,重要性显而易见。成为一名AndroidFramework高手,也是目前招聘过程中非常稀缺的人才,可以成为你的敲门砖。......
  • 腾讯资深Android开发带你入门面试重点Framework,掌握更加核心的技术
    前言今天,想跟大家聊聊,Framework开发的那些事。系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。对于之前维护系统应用模块的人来讲,修修补补,真的没有什......
  • 七年音视频开发呕心沥血之作:《Android音视频开发进阶指南》开源分享
    前言前两天在脉脉看到这么一条动态:作为Android开发者,真的是深有感触,Android开发越来越卷,越来越多人唱衰Android,还有很多人一直在思考是否要转行,大家都越来越焦虑。。。但与其深陷焦虑,**我们更应该积极寻求出路,通过提升自己来更好地端好Android这碗饭:5G的浪潮全面袭来,其实为Android......
  • Android应用签名
    为了要签名?   开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。   由于开发商可能通过使用相同的PackageName来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。   APK如果使......
  • Android四种Activity的加载模式
    建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式:Android的进程,线程模型其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。AndroidApplicationTaskActivities的关系尤其要明白Task是啥。 一个Activty的生命周期Activty的生命周期的也......