淘天集团暂时还没开系统,会提前先面试,之前简历面后被约二面
仍然是电话面,时间不长,在30分钟左右,也没有手撕
先有自我介绍,然后询问项目事情
下面是面试内容:
- 项目中实现多语言怎么实现的?
- 通过res下创建不同的value的子目录,对应不同的语言String
- 使用 R.string.string_name 的方式引用字符串资源
- 那想要切换语言怎么去实现?
- 使用 Resources 类动态加载不同的资源
- 那Activity在这个过程中如何变化?
- 重新加载Activity,加载时会判断选择语言,选择对应的加载资源
- 你们项目的埋点如何实现的?
- 使用传统的代码埋点,手动加入,方便上下文的数据读取
- 也可以使用AOP的方式,利用AspectJ框架在编译的时候把代码加进去,不过个人只是有看到,没使用过。
- 看到有做路由跳转,怎么实现的?
- 使用Google原生的 Navigation Component库
- 创建导航图
- 在需要进行页面跳转的地方,获得 NavController 的实例,并调用 navigate() 方法进行导航
- 可以支持fragement的跳转
- 那支持native的跳转吗?
- 不支持,但是有了解阿里有一个Arout框架,特地做路由跳转的,只不过没有使用过
- Java锁的类型:
- 悲观锁和乐观锁
- 悲观锁互斥思想,涉及到偏向锁,轻量级锁和重量级锁升级过程,里面涉及到CAS
- CAS原理等等
- 线程和进程区别
- 回答思路:
- 为什么要有线程
- 线程,进程的定义:最小的资源分配单位和最小的执行单位;
- 线程也有自己的资源,涉及到JVM分类栈的部分
- 保证线程安全,加锁,Volatile;管理线程有了线程池
- 进程的资源包括什么?
- 内存资源,CPU资源,文件资源(可以读写删改文件)
- 线程共享的资源有:打开的文件,代码区,数据区,堆栈区
- Https的链接过程
- 说了一下TLS的链接过程,非对称加密,然后对称加密详细过程
- 个人发展相关:目前有没有其他流程,为什么选择了上一段实习的公司,如果给了阿里offer在其他offer里面怎么做选择,选择标准是什么?
- 按照个人情况回答
反问了一下关于流程的事情,被告知当前面试是二面,预计还有一个主管面,或者还有交叉面,最后HR面
#阿里##淘天#
#Android面经##阿里面经##客户端面经#