影石Insta 360 24秋招客户端一面
昨天中午被约面的,定的今天上午的时间,面试官很好沟通,感觉很不错~
之前有了解Insta,投递之后一直没消息,还以为要凉凉
面试内容:
- 有看到你项目里面使用到懒加载,你们是怎么实现的?
- 情景:viewpager与多个Fragment组合使用,但是如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源;
- 解决方案:解决Fragment里的setUserVisibleHint这个方法(用于告诉系统当前UI是否可见),自定义方法,通过判断当前fragement的状态来选择调用不同的方法。(也可以再加一些预加载的功能)
- Jetpack通常使用哪些?
- liveData,Databinding,Navigation,WorkManager等
- Android 自定义view,如何按照一个场景绘制?
- 对子view的宽高位置现在可以从父view的MeasureSpec来限制;
- 可以重写onDraw方法来绘制;
- Android如何实现滚动嵌套?
- 将 RecyclerView 或 ListView 放置在可滚动的容器(如 NestedScrollView)中,子项布局设置 android:nestedScrollingEnabled="true" 属性来启用子项的嵌套滚动功能
- Okhttp涉及的设计模式有哪些?
- 先回答了一下Okhttp的基础框架,再按照顺序回答
- OkHttp 中使用了建造者(builder)模式来构建和配置 OkHttpClient 对象;
- OkHttp 中的 Dispatcher 类使用了单例模式,进行调度管理;
- 观察者模式,当进行 HTTP 请求时,注册一个 Callback 对象来监听请求的执行结果,根据返回的结果进行相应的处理。
- OkHttp 中的 Interceptor 接口使用责任链模式,创建多个 Interceptor 对象的时候,按照顺序添加到 OkHttpClient 中,形成一个请求处理的责任链
- 那你也提到了拦截器,那这是什么设计模式?
- 不记得,被告知就是拦截器模式
- 其他一些是关于个人的发展和技术考量,平时如何去学习新技术这些问题
反问:贵司的业务方向和涉及到的技术层的方向,用的架构和框架哪些比较多?
面试官介绍的很详细,感觉公司的业务确实比较有挑战性,面试官拉着我硬唠了一个多小时,没有写题。
面试过程中错过了一个腾讯的电话,可惜回拨后也找不到,唉,因缘和合吧~
#影石insta360##Android面经##客户端面经##秋招#