8.8号下午面试,面试时间在1个小时左右,二面主要围绕项目展开,从架构到源码,框架设计,数据结构设计,算法题。    问的确实比较深入,平时还是要多去了解学习,不能太在乎皮毛。实习过程中用的什么架构?MVVM架构MVVM架构的优势,为什么不用其他的,调试的时候会有哪些缺点?优点:MVVM解耦好,方便测试,重复使用方便等缺点:性能开销等;面试官提示:约束性弱,数据流混乱MVVM中用的是什么处理数据流?实习项目用的是DataBinding,优缺点为什么没用Livedata,Rxjava了解吗?优缺点是什么?Databinding 是在view层的事情,是数据的绑定LiveData是一种可观察的数据存储器类,当底层数据发生变化时,LiveData 会通知 Observer 对象LiveData在数据对于组件生命周期的表现更加优秀,且兼容更多类型的数据看到实习使用Opengl ES库,说一下它的执行流程(用OpenGl当时实习只是了解一点点,没想到面试官是做个方向的,撞枪口上面了[牛泪][牛泪])常用的渲染管线有了解吗?顶点处理阶段:顶点输入:从应用程序中传入原始的顶点数据,包括顶点位置、法线、纹理坐标等。顶点着色器:执行与顶点相关的变换和计算操作,将顶点从模型空间转换到观察空间,并应用投影变换。图元装配:将顶点组织成几何图元,例如点、线、三角形等。光栅化阶段:光栅化:根据图元的几何信息,将其转换为像素片元,确定片元的位置和属性。片元着色器:对每个片元进行着色计算,包括光照计算、纹理采样和颜色计算等。片元操作:执行深度测试、模板测试等操作,确定哪些片元应该保留,哪些应该被舍弃或混合。输出阶段:帧缓冲:将最终的片元数据写入帧缓冲中。显示设备:将帧缓冲中的像素数据传送到显示设备上,呈现给用户。那绘制的时候输入的是什么?顶点坐标,位置,颜色,绘制命令等那这些数据是哪来的?老老实实说,是调用之前3D组的SDK,前面的不知道[尴尬][尴尬]聊聊view绘制,有看过源码吗?巧了,正好看过这块的源码,一顿输出~view刷新绘制触发过程,调用requestLayout()方法,什么时候会重修绘制?下一次的布局周期那布局一周期是多少?一脸懵逼,是真的不知道,面试官告知是16ms,因为是60hz刷新![狗牛头][狗牛头]Android move事件有几个坐标?回答有两个,移动前和移动后面试官告知和屏幕采样率有关设计一个Android网络库任务调度,其中执行请求的设计参照Okhttp,有一个拦截器,然后内部有线程池核心线程量为0,非核心线程量为定量算法10000000个数字的int数组,要求对前10000个小的数字进行排序面试官说堆排可以,但是你真的能无错的写出来大顶堆吗?[等offer][等offer]我最后写了一个快速选择排序,就是只要选择左边的部分结束,后约三面
点赞 1
评论 1
全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务