百度客户端一、二、三面面经
小度 一面 如流 2021.8.25 20:00 1h
-
自我介绍
-
安卓四大组件
-
activity、fragment的生命周期
-
常用的布局 、 constraintLayout 优点在哪
-
ANR
-
垃圾回收
-
内存泄漏与OOM的区别、例子
因为答不好,发现自己安卓经验不好,所以开始了 打开记事本写算法
-
单例模式 (懒汉 这里还与饿汉搞混了 双重校验、volatile原因、使用例子)
-
o(1) 空间 o(m+n) 实现 合并有序链表
-
两个节点的最近公共祖先
-
反问: 如果安卓经验不够,主要看哪方面基础呢?
-
是算法 (哎,太菜了)
-
二面 如流 2021.8.27 16:00 1h
面试官因为电脑原因,晚了10min
-
自我介绍
-
项目
-
gradle、BuildType、debug和release的签名位置
-
声明依赖 dependencies 、那 API和 implementation 的区别呢
-
implementation:若依赖项更改了其 API,只会重新编译该依赖项以及直接依赖于它的模块,减少build的时间。 可以让module在编译时隐藏自己使用的依赖,但是在运行时这个依赖对所有模块是可见的。
-
api:依赖可以传递(被api依赖的项,相当于直接和依赖他的moudle合成了一个moudle) ,对外的,无法隐藏自己使用的依赖。
如果APP模块 依赖本地Module用api. 本地Module依赖的是远程模块的用implementation
-
-
如何实现 不同渠道的 APP 不同的名字呢(多渠道打包)
-
在AndroidManifest.xml中 修改label : android:label="${APP_NAME}"
-
声明android:label为可以修改 :tools:replace="android:label"
-
配置build.gradle
-
-
git: fecth和 pull的区别、merge和 rebase 的区别、如何 去解决 修改 同一文件 冲突
-
进程和线程的区别、一个进程中若一个线程崩溃了会影响其他线程吗,如果会的话怎么解决呢?、一个应用如何实现 多进程
不太了解
-
软引用和弱引用的区别、哪个会造成 内存泄漏?
应该是强引用会 导致内存泄漏吧?
软、弱、虚引用是 有利于 GC
-
dp和px的差别
-
dp:
-
px:
-
sp:
-
-
原地 合并 两个有序数组
- 字符串中第一个出现只出现一次的数字。
三面 如流 2021.8.30 17:00 90min
-
自我介绍
-
项目、追问项目的难点、通知如何实现的、fragment生命周期、onCreate和onCreateView的区别、fragment之间如何传递数据、如何findbyId、add与replace的区别
-
service的生命周期、区别
-
引用拷贝、如何实现深拷贝、clone、对象拷贝的对象还有对象应该怎么办?
-
抽象类与接口的区别,里面 有几种类型的变量
-
线程安全的方法、synchronized锁
-
算法题:求二叉树深度、判断字符串是否为回文串、将数组中的0移动至后面