美文网首页Android开发经验谈Android技术进阶Android开发
Android面试经文分享;站在面试官角度,offer请拿好!

Android面试经文分享;站在面试官角度,offer请拿好!

作者: 谁动了我的代码 | 来源:发表于2022-09-20 21:38 被阅读0次

    身在曹营心在汉

    在金九银十的面试季。许多人的技术满满;但薪资永远加不上去,老板加薪始终抠抠搜搜的。

    这也怨不得老板,这是各个企业的运营模式。行业的薪资永远是通过跳槽增长的。所以想涨薪资,那就得广撒网择优捕捞。必须成为“Android小海王”才能让你拿高薪进大厂!对于自身发展(身在曹营心在汉)是褒义的。谁不想往“钱”看?


    我们都懂,面试中问到的问题基本上项目开发中很少遇到。但是,面试官递给你火箭材料你还必须得造火箭。别用技术的高级来定义面试问题;因为面试是一种技术的概括和表达,不仅看出你的技术程度;还能看出你的知识面广泛。

    对此我分享一些面试经文如下:

    面试经文分享

    1、拼多多(三面)

    第一面:

    1.java虚拟机

    2.内存优化

    3.arraylist hashmap linkedhashmap

    4.binder

    5.surfaceView和view

    6.AMS WMS

    7.APK瘦身

    8.锁(死锁的场景和解决方案)

    9.算法 两个字符串 比较最大的公共字符串 ,主要是思路 (面对问题,以大化小)

    第二面:

    1.http优化 okhttp多路复用

    2.硬币兑换问题 [算法]

    3.车的通过问题,一条路上,30分钟内看到有车通过的概率是90%,那么5分钟之内概率是多少

    4.图的展现形式

    5.全球货币转换功能的代码

    6.给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度

    第三面:

    1.mvp mvvm区别 mvvm中的databinding如何刷新view的

    2.跨进程通信方式,binder机制

    3.leakcanary原理

    4.内存优化和工具,APK瘦身

    5.get和post的区别,浏览器中输入一个地址然后展示出页面这个过程中做了哪些操作

    6.断点续传和下载的原理

    7.glide缓存原理,lru算法

    8.动态代理原理

    2、识货(三面)

    第一面:

    1.apk启动流程 zgot fork出一个进程到 从ActivityThread的main方法,再到AMS 再到Intrumention启动

    2.内存优化了解多少,什么情况下会发生内存泄漏。 答到(四种引用链关系),再深入就是java内存模式,类的内存分布

    3.说一下断点续传和多线程下载怎么实现。 请求时候往请求头放入range和index参数 再用RandomAccessFile写文件

    4.类的动态加载 classLoader的双亲委托机制

    5.你组件间是怎么通信的

    6.让你设计一个图片加载框架你会怎么设计

    7.应用商店是怎么样的一个架构设计。

    8.你做的应用商店技术指标和业务指标是哪些

    9.对下载和安装指标提高做了哪些优化

    10.你刚讲到了handler,那你说一下你对handler的理解,怎么用java实现一个handler message messageQueen Looop Handler ThreadLocal 都讲一下对应的作用, 再从程序设计角度而言讲哪些地方设计的好 他怎么保证一个Thread只有一个Loop和MessageQuenen,为什么推荐我们handler.obtainMessage()

    第二面:

    1.说下你做的应用商店感觉最难的点在哪

    2.为什么选用Fresco作为图片加载框架

    3.安卓系统版本之间对Bitmap怎么处理的 安卓2.3之前把像素数据存储在native层中,之后的系统把byte存储java层中,8.0后有放回native中,但有自己的回收机制

    4.你用CC框架组件化,为什么不选择阿里的Arouter框架,CC有什么好处。使用过程中用到什么问题。

    5.你平时怎么做性能优化的

    6.你用到哪些工具做性能优化,冷启动怎么优化

    7.插件化你懂吗

    8.有对公司做过什么突出的贡献吗?

    9.你平时怎么自己学习新技术

    10.你对自己的职业规划是怎么样的

    11.你觉得自己哪方面比较擅长,哪方面比较短缺。

    第三面:

    1.你觉的你做的项目最有挑战性的是什么

    2.你是怎么做技术选型的,说一下为什么选用CC而没有选ARouter,你在用组件化框架的时候有没有遇到什么问题

    3.MVC和MVVM,MVP说一下你的理解

    4.你对你负责的项目在性能优化上做了哪些努力

    5.你平时是怎么学习的

    6.你对自己的未来职业规划是怎么样的

    3、新浪(二面)

    第一面

    1.java的四种引用分析

    2.synchronize和volatile各自的机制是怎样的

    3.handler源码原理相关的问题

    4.自定义view的绘制,事件分发机制,怎么解决滑动冲突,activity启动的过程

    5.https单向认证,对称加密和非对称加密,在浏览器输入url发生了什么

    6.jvm相关,如new一个对象的过程发生了什么,垃圾回收机制

    7.ANR 是什么?怎样避免和解决 ANR

    8.问了关于线程池的一些问题

    9.跨进程通信有什么方案

    10.binder机制

    11.hashmap源码

    12.用什么方案缩小apk体积

    13.recyclerview和listview对比

    14.做过什么内存优化,性能优化

    15.okhttp源码设计原理

    16.手写一道算法题,关于DFS+回溯算法的

    第二面

    1.问了之前的一些项目经历,在团队做了什么,主要负责哪一块,选择一两块自己认为做得最好的展开讲讲,过程中会打断问问题

    2.有没有做过插件化,做到什么程度,讲讲原理

    3.由于我之前项目有用到mvvm和jetpack,问了一些jetpack组件相关的源码,和mvvm跟mvp的对比

    4.又问了okhttp,缓存拦截器原理是怎样的

    5.项目中做过什么性能优化,具体说说

    6.平时项目中用到什么设计模式,挑几个常用讲讲

    7.聊人生聊职业规划


    以上分享三个Android开发面试的经文;可以看出许多技术点基本上不常用到。面试官主要是通过几轮面试对你的技术程度了解。技术答疑是占比最大的。所以把面试题刷好,是很重要的。对此网上的面试经文也比较少;这里推荐阿里的Android专家整理的《Android面试题精选》
    出席很多面试场合担任面试官。记录了许多以往的面试经文。

    这还不得拿捏面试官,offer拿到手软?

    跳槽是加薪之母,一切不以加薪为目的的跳槽都是耍流氓。

    相关文章

      网友评论

        本文标题:Android面试经文分享;站在面试官角度,offer请拿好!

        本文链接:https://www.haomeiwen.com/subject/xmivortx.html