首页 > 其他分享 >小红书Android实习面经

小红书Android实习面经

时间:2024-03-29 23:33:17浏览次数:22  
标签:面试官 小红书 面经 TCP 获取 线程 Android 单元 View

一面(2023/10/12 50min)

  1. Handler机制是什么?在没有message的时候为什么不会导致应用程序ANR?
  2. 介绍一下四大组件?
  3. Activity启动模式?
  4. 进程和线程的区别?进程是独立的执行单元,是系统资源分配的基本单元;线程是进程内执行单元,是任务调度的基本单元进程切换开销大,线程开销相对小
  5. 你知道Android程序的入口吗?知道ActivityThread吗?
  6. View的事件分发机制?View的绘制机制?
  7. 如果要在一个Activity里面获取一个View的宽高应该在哪一个回调方法获取?
  8. 知道共享内存模型吗?应该是要问JMM,然后追问volatile关键字
  9. 内存里面的寄存器有了解吗?指针寄存器?指令寄存器?这里应该是要问程序计数器,保存线程并发切换前的执行指令位置。
  10. LeakCanary原理?弱引用和软引用区别?
  11. 算法题,找View树的最近公共祖先,是面试官自己出的,给的数据结构是
View{
 View[] childs;
 View parent;
 }

我有点懵,没思路,然后问面试官能不能写二叉树的最近公共祖先,面试官同意了,然后我就写二叉树的了

反问:

  1. 部门技术栈?Java、Kotlin、OKHttp那些
  2. 实习生的主要工作?和正式工都差不多,只是需求简单一些
  3. 您觉得我哪方面要重点加强的?首先是算法,其他说的还可以

二面(2023/10/30 48min)

  • 讲一讲泛型?泛型的原理?类型擦除,擦除之后呢?如何获取类型?这里我原本以为Java没办法获取到实际类型,只有Kotlin才可以通过泛型的实化来获取,但是实际上是可以通过匿名内部类获取的
  • 协变和逆变?in和out如何选择
  • 高阶函数?
  • Git的原理?(不知道)
  • 面向对象编程和响应式编程的区别?
  • Map?Map的时间复杂度,什么时候会用到链表化和树化,哈希冲突,有了解HashMap的扩容吗?如果是你会怎么做?
  • 为什么要使用TCP协议?TCP协议有什么好处?TCP协议解决了什么问题
  • 说一下你最熟悉理解最深的一个知识点?说了JVM的内存划分机制
  • 算法题,反转链表

反问:

  • 您觉得我还有什么地方需要加强的吗?因为一面的评价是基础不错,所以挖一下底层想找一下我的亮点,但是没有问到想要的,很多东西,只是知道是什么东西,而不知道为什么,写代码要多思考为什么。

隔天31号早上HR加微信通知过了

总结:原理性的东西还是了解的太少

标签:面试官,小红书,面经,TCP,获取,线程,Android,单元,View
From: https://blog.csdn.net/weixin_62065217/article/details/137141813

相关文章

  • Android数据库升级,阿里程序员的Android之路
    publicsynchronizedstaticDBHelpergetInstance(Contextcontext){if(instance==null){instance=newDBHelper(context);}returninstance;}@OverridepublicvoidonCreate(SQLiteDatabasedb){db.execSQL(SQL.CREATE_TABLE_FAVORITE);//若不是第一个......
  • Android 标题栏Toolbar,安卓高级开发面试题
    super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}privatevoidinit(){toolbar=(Toolbar)findViewById(R.id.toolbar);//使用Toolbar替换ActionBarsetSupportActionBar(toolbar);}ToolBar的Action操作ToolBar的一大亮......
  • Android 手势相关(二)
    Android手势相关(二)本篇文章继续记录下android手势相关的内容.1:GestureOverlayView简介GestureOverlayView是Android中的一个视图组件,用于捕捉和处理手势操作.GestureOverlayView的主要用途:手势识别:通过GestureOverlayView,保存一些手势,并堆用户手势操作进行识别匹......
  • Android.bp语法记录
    参考资料:https://www.cnblogs.com/linhaostudy/p/12361659.htmlhttps://blog.csdn.net/hxp1994/article/details/113853459https://blog.csdn.net/tkwxty/article/details/104395820 Android.bpAndroid.bp文件首先是Android系统的一种编译配置文件,是用来代替原来的Android.......
  • android小球(二)——用户数据缓存详解SharedPreferences
    SharedPreferences概述SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了String,set,int,long,float,boolean六种数据类型。使用SharedPreferences进行存储的数据是存放在一个XML文件中的,同时它的存储方式是是以key-value的形式,key对应......
  • android AVC错误修改权限方法
    adblogcat日志报错:init:avc:denied{set}forproperty=camera.gc02m1scontext=u:r:mm-qcamerad:s0tcontext=u:object_r:camera_prop:s0tclass=property_serviceSELinux的权限不足标志性log:avc:denied{操作权限}forpid=7201comm=“进程名”scontext=u......
  • Android杂项知识记录
    Android启动流程:https://blog.csdn.net/xingyu19911016/article/details/120023396https://blog.csdn.net/ldxlz224/article/details/123238353init进程为第一个用户级别的进程,PID为1,它通过一系列的初始工作以及解析init.rc(一个脚本文件)文件构建出Android系统运行的初始......
  • 每日面经分享(SpringBoot part4:Controller层)
    SpringBootController层的作用a.请求映射:Controller层使用注解(如@RequestMapping、@GetMapping、@PostMapping等)将HTTP请求映射到相应的方法上。这些方法根据URL路径、请求方法、请求参数等来决定要执行的操作。b.参数解析:Controller层负责解析HTTP请求中的参数(如路径......
  • ssm基于Android的XX校园交流APP
    摘要随着互联网时代的发展,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,随着各行业的不断发展,XX校园交流APP建设也逐渐进入了信息化的进程。这个App的设计主要包括前台页面的设计和方便用户互动的后端数据库,而前端软件......
  • 【全开源】JAVA游戏陪玩系统源码陪练APP源码H5源码电竞系统源码支持Android+IOS+H5_博
    “游戏陪玩系统源码、陪练APP源码、H5源码及电竞系统源码”,这些创新技术的融合,为电竞爱好者与游戏玩家带来前所未有的互动体验。通过我们的源码,您可以轻松搭建起一个功能完备的游戏陪玩平台,无论是寻找技术高超的陪练,还是与志同道合的玩家组队竞技,都能在这个平台上得到满足。同......