微信视频号Android一面凉经

今晚时间比较多,记录一次微信视频号对我来说地狱级别的面试。
开局自我介绍。
聊了两分钟项目,五分钟实习。
--------------------------------------------------
10/10复盘基本知识:

开始问基础。
Android:
1、讲一下Android发生Crash的整体流程。
Android在遇到非可检异常时就会触发该线程的unCatchExcepttionHandler中的unCatchException()方法,最终在该方法的process.kill()方法中杀死该进程,appCrash完成。
2、Native层Crash是如何捕获到的?
Android NativeCrash发生时会向该进程发出错误的不可处理信号,Linux系统收到该信号后无法处理便会杀死进程,发生Crash。
Android当中捕获的方法主要是使用了Linux系统下的核心转储机制,在发生Crash前系统会记录下当前的上下文信息,形成tombstone文件,存储起来,再杀死线程,这个tombstone文件就是我们要分析的对象。
3、Java层Crash是如何捕获到的?
JavaCrash的捕获有几个关键部分:
1) RuntimeInit类中的LoggingHandler类,用于打印日志时使用
2)RuntimeInit类中的KillApplicationHandler类,是一个系统默认的UncaughtExceptionHandler,用于发生JavaCrash时kill掉进程。
3)RuntimeInit类中的commonInit方法,其内部就是初始化了所有线程的setUncaughtExceptionHandler()。
因此在发生非可检异常时,就会调用该线程的UncaughtExceptionHandler.unCatchException方法,在该方法内部进行捕获。
4、如何做到发生异常时不会杀死APP?
UncaughtExceptionHandler.unCatchException方法调用Looper进行死循环可以。
5、讲一下Handler机制
6、Looper的定时器是用如何实现的?
通过nativePollOnce(ptr, nextPollTimeoutMillis);定时睡眠
nativeWake(mPtr);进行唤醒
7、APK包里有什么?
    主要有5个部分:
    1、dex文件:.class文件编译后的产物
    2、Assets:资源文件,如图片等,主要是通过AssetsManger来进行加载。
    3、Resource:资源文件,layout等,通过R.xxxxxx.id来进行引用
    4、Library:so库引用目录
    5、META-INF:APK 签名有关的信息

8、APP在运行时是通过什么来获取到layout文件的?
    这个问题没找到答案。
9、讲一下surfaceview跟textview。
10、Activity A 启动 Activity B 时,他们在同一个栈的情况下生命周期以及执行顺序是怎么样的?
    这个问题要分启动模式来回答,若是经典则创建新的。
    若是栈内复用则调用onRestart方法。
11、Destroy()方法是什么时候调用的?
    1、调用finish()方法。
    2、Handler中已经没有要处理的message。
    满足这两个条件才会调用。

Java:
1、有什么线程同步的机制?
2、volatile关键字讲一下。
3、volatile如何实现可见性?
4、synchronize如何实现可见性?
5、volatile防止指令重排代码级别如何实现?


操作系统:
1、讲一讲操作系统内核态跟系统态的了解。
2、操作系统内核是什么?
    操作系统内核本质上就是操作系统代码的常驻机构。
    操作系统内核就是管理所有代码和数据结构的集合。
    操作系统内核是软件和硬件之间的媒介。
3、为什么操作系统要有内核态、系统态的存在?
4、Linux有什么信号?
5、sigill信号在什么情况下会触发?

算法题:
1、给一个数组,每个值表示的是在坐标系中的点下标,找出该数组在组成的最长直线为多少,相同最长长度直线有几条?
2、给一段数字,给出其可能组成的所有IP地址。


---------------------------------------------------------------------------------------------------------------------------------------------------
结束。
这难度已经不是我能够承受的了,直接挂了,心服口服。
#面经##Android##面试题目##腾讯##安卓工程师#
全部评论
天啊,请问lz这是校招吗?
点赞 回复 分享
发布于 2021-09-30 17:32
这些问题都挺难的啊,老哥厉害啊
点赞 回复 分享
发布于 2022-03-16 21:25

相关推荐

情人节到了,单身的家人们捞好处的时候到了,不要暗自神伤,莫要独自彷徨,这是我们“捡垃圾”发家的好时机!且看本攻略,一起闷声发大财🥳:⚠️防杠声明:以下攻略纯属搞笑,捡垃圾有风险,行动需谨慎🔧必要装备①口罩:保持卫生,防臭,最重要的是防止被熟人认出来②手套:防止碰到脏垃圾或者危险垃圾③ 蛇皮袋:垃圾袋也可,方便装捡到的“战利品”④ 手电筒:照亮夜晚行动的小伙伴们“寻宝”之路⏰推荐时间情人节当晚和次日早晨是黄金时段晚上,情侣们约会结束,不喜欢的礼物直接进桶早晨,清洁工还没上班,“宝藏”还在等人发掘💸寻宝地点📍商场垃圾桶:特别是顶流商圈垃圾桶,例如太古里/大悦城/三里屯/合生汇等等,说不定能捡到没拆封的美妆礼盒或者电子产品📍电影院附近垃圾桶:约会聚集地(加上近日哪吒热映,概率更高),小情侣约会完,随手一扔,机会就来了!说不定就能捡到掉落的手机、戒指哦💍📍网红打卡地垃圾桶:情人节拍照打卡的人多,东西掉进垃圾桶或者落在角落的概率也大,说不定能捡到限量版的玩偶或者小饰品🎁📍女生宿舍楼下:表白成功或者失败,礼物都有可能被丢弃,说不定能捡到一些有趣的礼物或者小玩意儿,说不定还能捡到表白信呢✉️大家在捡垃圾时保持良好心态,遇到突发情况(例如好多人同抢垃圾)时请注意人身安全。发掘到好东西时请尽快离开现场,莫要声张,避免引起其他人特别是熟人的注意❗️祝大家特别是像我一样的单身狗能快乐地度过情人节🥳#情人节在牛客当爱情保安# #情人节# #如果不工作真的会快乐吗# #捡漏# #求职# #赚钱# #攻略# #爱情# #恋爱# #牛爱网#
点赞 评论 收藏
分享
评论
5
35
分享

创作者周榜

更多
牛客网
牛客企业服务