6月阿里遭拒-7月华为惨败,90天深造1953页的《大厂面试宝典》,获字节跳动offer!(经验

  • 问我有没有了解什么异于常人的地方,不要说那些烂大街的。(还挺有个性:)

说了ssl tls的发展历程,http的发展历程,tcp拥塞控制的几个算法,如何实现udp的可靠传输,quic协议,dns协议的过程

  • 之后又问我对安卓的哪些地方感觉设计的比较好

这个不知道怎么回答,就随便说了句,我感觉设计的都挺好的(这是什么烂回答)

  • 自己学了安卓,感觉哪些地方比较有意思

我回答的属性动画那里

  • kotlin

  • 内联函数,高阶函数,泛型,lambda表达式

算法题

  • 实现一个循环队列

一开始感觉和牛客网上刷的一道题有点像,就打算用两个栈,他问了下我的思路,说两个栈太浪费空间了。让我用数组

后面被他提醒了几次还是做出来了


7月华为惨败

一面(25min):

1. 自我介绍。

2. 在学校干啥?你们学校老师实验室要本科生?

3. binder跨进程通信(知道,但是没有深入学习,只知道跨进程的几种方式,然后就说了说几种方式)

4. linux进程间通信方式?通道,信号量,共享内存(追问,哪种方式效率最高,哪种最麻烦,我都答共享内存…)

5. 介绍一下你第二个项目,顺便展示一下(面试官点开,滑动了几下,点了点)

6. 你这拍照是怎么实现的,camera1 camera2?(一脸懵逼… 我知道又这两个api,但是…我是用Intent开启相机的…哦! 知道了,调用系统的是吧)

7. 你这app和后端的数据接口怎么设计的?(不是很懂要我回答啥)我就说哪儿用get,哪儿用post,传token啥的,用json格式传的…

8. 你了解华为吗?参观过北研所,感觉很好的,有意向去北研所。

结束(还有一些记不清了,基本上问的很基础)

二面(20min):

(二面差一点错过了,我身边面试者二面都是短信通知,我是被喊名字的,尴尬的是工作人员把我名字喊错了,还好面试者提醒我,叫我去问一下)

1. 递交简历,面试官看了1-2分钟简历,没说话。

2. 为啥选择华为?

3. 你是打算继续做Android呢?还是做java呢?(能继续做Android更好,做Java可以第二志愿…)

3. 你有啥要问的吗?我觉得你挺不错的,我挺喜欢的!(喵喵喵?就挺不错的了?…内心巨激动…)

4. 反问:“我想知道我哪里做得比较好…”。你这模型很简单,华为适合你。阳光,积极,但是有一点不足就是压力大的时候可能很难顾及身边人的感受…

5. 反问:“这都看的出来。。。”。面试多了,看的出来的…(内心:这也太准了吧,我真的压力大的时候,很难顾及身边的人,喜欢跑步,也比较阳光吧,毕竟投了一个月,面试不多,一个offer call也没有,我依然保持微笑…)(感觉是参考了性格测试)

6. 我帮你投消费者BG吧,终端的…(给我介绍了一下北京和上海的分工)

7. 然后边录入信息,边问我一些其他的情况

8. 结束

总结:

整体面试体验很好,面试官也很nice,流程啥的也有条不紊,参加面试的人很多,工作人员也是全程支持。

现在变成了面试已完成,感谢你的参与,其实还蛮想去华为的,下次再努力吧!

逆袭字节跳动

字节一面:
  • 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

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

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

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

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


387+755+791=1953页的3份高质量《大厂面试宝典》合集

面试前准备(387页PDF)

Android大厂面试题集2020版(包含答案整理)第一部分(755页PDF)

Android大厂面试题集2020版(包含答案整理)第二部分(791页PDF)

  • 点赞+评论666后!私信我口令【面试】!即可立马回复你免费下载此 阿里P8学习进阶笔记 的方式!

  • 由于简书限制网盘链接,在我主页扫描我的二维码,我免费分享给你

  • 自行下载直达领取链接:【点击资料下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值