小红书Android一面 9.24

emmmm从笔试到一面过了一个月,收到邮件的一刻我是懵的

自我介绍

正常介绍,没有太详细的说项目
面试都是基本看着简历一条条问

Java篇

静态变量和实例变量的区别

这个问题刚开始属实愣住了,大概就是两个的生命周期不同。

  • 静态变量有static关键字修饰
  • 静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独有的,不会被共享!(可以Class.var使用),位于方法区
  • 实例变量必须创建对象后,才可以通过这个对象来使用。即new Class().var,位于堆区

“==” & equals()

简单

浅拷贝 & 深拷贝

简单

HashMap , 扩容机制

多个线程如果共享多个资源,需要怎么保证安全

volatile,CAS/ABA

Android篇

事件的分发机制

Handler,能不能讲的更深入点

除了Looper和MessageQueue,还有这些之间是怎么运作的,我就没讲了,面试官问了我有没有更深入的地方。。属实是不会了..查一查,放下面。

  • Android为什么要设计只能用handler机制更新UI呢。主要是为了解决多线程并发问题
  • 每个线程只有一个Looper

    计网

TCP UDP

永远记不全的命题😫

番外:Kotlin和Java的区别(函数式编程)

手撕:找二叉树中任意两个节点的最近的公共父节点

#安卓工程师##小红书##面经#
全部评论
同学考虑一下字节抖音直播的岗位嘛,我们对Android基础要求不高,算法也没网传的那么bt。有意可以私聊我吼。
1 回复
分享
发布于 2021-11-29 14:35
楼主你好 请教一下 CAS里面的预期值就是线程认为共享变量应该持有的值吗?
1 回复
分享
发布于 2021-12-04 20:26
博乐游戏
校招火热招聘中
官网直投
好家伙,算法题一样,是不是给了父指针
点赞 回复
分享
发布于 2021-10-13 19:56
静态变量在保存在栈里,是整个程序的变量,实例变量保存在对象中,对象在堆里,是某个对象的变量。
点赞 回复
分享
发布于 2021-12-23 16:23

相关推荐

9 28 评论
分享
牛客网
牛客企业服务