字节教育客户端一二面,求个offer

作者:今天开始敲代码

链接:https://www.nowcoder.com/discuss/513953?source_id=profile_create&channel=1009

来源:牛客网

双非本科,昨天刚面完二面,疯狂怼细节

字节一面:

Activity生命周期,每个回调方法的作用是什么

事件的分发机制

内存泄漏

遇到过滑动冲突吗?滑动冲突的解决方法

Hashmap原理

Hashmap扩容机制

手撕双重校验锁,volatile的作用

synchronized和volatile的区别

线程池的参数

异常机制

synchronized修饰static 方法和修饰普通方法有什么区别

双亲委派模型,为什么要这样

sharedPreferences的原理,多进程下是否可以使用,apply和commit 有什么区别

算法题:每k个反转链表

简单到怀疑人生。。。虽然双重校验锁卡壳了。。

第二天收到了二面通知

二面:

四大基本组件和作用

Activity生命周期,启动模式,taskAffinity,横竖屏转换,onNewIntent

Service两种启动模式,有什么区别。

广播,广播分类。普通广播、异步广播、有序广播

view的绘制流程

Framelayout wrap_content TextView match_parent 怎么显示

约束布局和RelativeLayout的区别

布局优化

include、viewStub、merge 的使用和区别

mvp、 mvc、mvvm

如何创建一个viewModel

Handler

ThreadLocal

怎么获取view的宽高,如何确定值是准确的,说了view.post(),补充viewTreeObserverOnGlobalLayoutListener

场景题:头条列表有多个不同的card,使用RecyclerView怎么解耦getViewType,获得不同的card

说了用个管理类映射,面试官说用注解、反射,依赖注入(我??我太菜了呜呜呜

java:

迭代器,迭代器怎么删除一个元素

说一下集合框架(Set、list、map

Hashmap 原理,红黑树如何自平衡(不会

hashmap的Concurrentmodification 异常(不会

双亲委派模型

根类加载器加载什么类(jre包下的类

GC分代算法

GCRoots种类

四种引用

算法题:二叉树查找,将这条路上的结点存储

反问评价,面试官说不喜欢回答这个问题

问技术栈,kotlin

问跨平台技术,说是在别的地方也有用

问教育业务规划,说的很详细

问对字节的评价, 面试官说这是一家有方法有效率的公司,它的发展有目共睹,在这里工作能学到很多

问我怎么选择客户端开发,以及看待客户端的发展。

求个offer~

秋招遇到的面试官都好好~认认真真跟我聊技术,提问我

作者:今天开始敲代码

链接:https://www.nowcoder.com/discuss/533078?source_id=profile_create&channel=1009

来源:牛客网

三面:

自我介绍

问项目

写算法题

问java :

Retrofit怎么使用

Retrofit的接口层怎么实现的

如何定义一个注解

Java 多态

运行时多态的底层原理

什么是泛型

什么情况下选择使用泛型什么时候使用多态

看过哪些数据结构的源码

ArrayList扩容机制:为什么会new 一个新的数组 我说了效率高而且数组长度不可变,但是面试官不太满意(谁能告诉我怎么回答!!

哪些数据结构是线程安全的:concurrentHashmap

concurrentHashmap怎么实现线程安全的

乐观锁和悲观锁

你怎么实现一个乐观锁,比如多线程下使用list (不会…..

hashmap原理

负载因子

一个进程里线程结束后,进程会不会结束

线程crash进程会不会crash

问题回答的也不好

面试官说我实践太少了,知识的广度已经够了,但是因为知识大部分都是书本上和网络上的来的,实践不太够,比如不知道乐观锁的真正用途和思想,也不知道应用场景,还说我逻辑不太好。。

有被打击到,不过面试官没说错

后来又被捞起来到了电商部门

四面:

问项目

这个项目是做什么的(实验室的老项目,只能说个大概

Java 泛型,泛型上界下界(完全是靠面试才学会了泛型,面试官还教我怎么使用

Volatile 哪里使用

双重校验锁里的volatile ,创建对象是这么个危险的操作吗(呜呜呜不造

哪里还用到了volatile 我说了多线程停止,volatile 修饰flag

说一下hashmap put方法

怎么判断两个元素相同(equal

阈值是桶元素个数,还是全部元素个数(全部元素个数

为什么树化的阈值为8 (面试官说前后链表前后查找为n/2,和log8 差不多 我心存疑虑

ActivityA 启动 Activity b A B生命周期

onSaveInstance 调用的场景,onPause之后调用

requestLayout 和invalidate 的区别

GC新生代和年老代的回收算法有什么不同(新生代复制清除、年老代标记整理

内存分配担保策略

你有什么优势,有什么劣势

个经历之类的

回答不太好,泛型继续摔倒

勉强给我下一面

五面都是些常规问题,忘了就不写了,没什么太难的

然后就感谢信了~

最后更新于