前言

本想今年辞掉工作大干一场,没想到碰到疫情,家里蹲了3个月…,还好字节能给一次机会。前阵子字节跳动的提前批开始了,看宣传是说有海量HC,机会多多,本着涨涨面经的心理,然后就投递了一下杭州那边的部门,首先在这里还要非常感谢内推我的小哥哥,非常热心的帮我跟踪进度,因为中间还出了一些小插曲(我投错部门了。。。),还是热心的小哥哥帮我联系HR,最后把我转到想要投递的部门了,我投的是Android开发工程师~面试项目大部分问题是围绕我的开源项目 蘑菇博客 展开的,还有就是我之前准备面试的一些 笔记(大佬请轻喷…)

面试时间

  • 由于文章篇幅问题复制链接查看详细面试答案解析以及学习笔记链接:https://shimo.im/docs/QVGDhCjVKvQ6r6TJ
    或者可以查看我的【Github】里可以查看
  • HR面完后,等了一个礼拜多,以为凉凉了,没想到收到惊喜,许愿成功~
  • 第一天:第一面 + 第二面
  • 等了两天:第三面 + HR面
  • 过了一周后:等来了意向书

第一面

面试官看起来很年轻,感觉是一个刚毕业不久的小伙汁,声音很青涩哈哈哈哈
开始面试的时候把我给问懵了,当时刚午觉睡醒,还没缓过神

计算机网络部分:

1.http的一套流程是什么?

2.https发起连接的流程是什么?

3.http请求的请求头中包含哪些字段?(这里忘了不少字段,只说了三四个,呜呜呜)

4.一次http请求的结构是什么样的?(这里因为网络的问题,听了三遍,终于弄懂了面试官的意思,呜呜呜)

操作系统:

1.能简单说说线程和进程间的区别吗?

2.进程间通讯的方式你知道有哪些吗?

3.听说过Messenger吗?(知道,但是底层还是使用的AIDL+Handler的形式,AIDL底层还是使用的Binder驱动)

数据库:

1.能简单说一下数据库如何修改一张表中的数据吗?

2.给一张表增加一个字段该用什么关键字?

Java:

1.能简单说说Lock,synchronize,CAS之间的关系,以及具体实用的场景吗?

2.能详细说一下CAS是什么吗?AtomicInteger是怎么实现线程安全的?

3.具体的锁升级机制能简单讲讲吗?

4.能简单说说代理模式吗?动态代理和静态代理有什么区别?

Android:

1.能简单说一下事件分发机制吗?

2.MeasureSpec.UNSPECIFIED是什么意思?如果外层的ViewGroup的模式是AT_MOST,内层是match_parent,那么最终传递到内层的模式是什么?(AT_MOST) ps:这个问题没啥意义

(听你说了View中有scrollTo,scrollBy,那么我们分析一个场景题)

3.场景题:首先有一个FrameLayout,其中嵌套着两层View,我们在进行重写onTouchEvent的时候,如何让上层View滑动并且暴露出下层的View?(这里有一个坑,面试官说的scrollTo、scrollBy,我就在这俩上面思考怎么暴露出下层的View,最后突然想到可以通过事件来调整整个View的布局位置)

源码:

1.看过那些优秀的开源框架源码吗?

2.知道那些源码相关的设计模式呢?

3.HashMap简单说一下原理吧

####二面:

二面是一个女面试官,年龄可能在40岁左右

设计模式:

1.熟悉那些设计模式呢?

2.动态代理底层是如何实现的?

3.讲讲Retrofit的动态代理吧

Java:

1.能简单说说JVM内存模型的目的以及在内存中区分为哪些区域吗?

2.内存回收机制大致讲讲呗?

3.类加载机制完整细致的描述一下把

4.类加载器的双亲委派原则说一下吧?(这里有一个疑问,我说父子类加载器不是继承关系,然后面试官说不太对,这里我有一点点疑问,还请大家告知一下)

5.能说一下Java .class文件的结构吗?

6.线程池的基本机制有了解吗?非核心线程如何保证延迟结束?

7.为什么内部类会默认持有外部类的引用?

Android:

1.Handler消息机制简单说一下吧(延时的消息是如何发送的?以及通过Looper.loop()是如何处理延时消息的?)

2.为什么Handler会出现内存泄漏?

3.View中的post和handler的post有什么区别?(我说view中的handler是经过重写的,会处理关于View的相关绘制事件,然后面试官说只回答对了一部分,我有些疑问,还有其他的区别吗?)

4.有用到什么内存泄漏检测的框架吗?知道原理吗?(就是上面所说的JVM内存回收机制)

5.知道关于性能优化相关的吗?能简单讲一下吗?(布局,异步,过渡绘制)

6.能讲一下Activity的启动流程吗?

7.听你讲到了进程间通讯,PackageManagerService和ActivityManagerService进行通信的方式是什么?

8.Binder驱动底层原理了解吗?(mmap的内存地址映射)

9.Serializable和Parcable有什么区别?如何使用?

10.听你说到了sp(SharedPreference),你知道sp能跨进程通讯吗?

三面:

1. 聊项目

2. 下面的代码会发生什么?


<font color=``"#ffffff"``>

<font color=``"#bbbbbb"``>

class Foo {

<font color=``"#bbbbbb"``>

public``:

<font color=``"#bbbbbb"``>

void A() {}

<font color=``"#bbbbbb"``>

<font color=``"#bbbbbb"``>

virtual``<font color=``"#bbbbbb"``> void``<font color=``"#bbbbbb"``> B<font color=``"#bbbbbb"``>()<font color=``"#e06c75"``> {}<font color=``"#bbbbbb"``>

<font color=``"#bbbbbb"``>

void C() { std::cout << this << std::endl; }

<font color=``"#bbbbbb"``>

};

<font color=``"#bbbbbb"``>

Foo* temp = nullptr;

<font color=``"#bbbbbb"``>

temp->A();

<font color=``"#bbbbbb"``>

temp->B();

<font color=``"#bbbbbb"``>

temp->C();

<font color=``"#bbbbbb"``>

<font color=``"#ffffff"``>

</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font>


1)函数A,什么都不会发生;

2)函数B,crash

3)函数C,打印地址0

C++的成员函数,如果使用了this相关的,那么编译器在编译时会给函数入参加入this指针作为入参。A不需要,因此没有this指针作为入参;B和C需要,其中B是虚函数,需要找到虚表,即需要解引用,空指针解引用直接就会崩溃,C不需要解引用,只会打印空指针的地址0。

3. 算法题xml解析 有一点类似leetcode 385/591 可以看看xml解析相关的实现

HR面

花10来分钟做个简单的沟通

1.自我介绍
2.考研的时候为什么选择的是这个学校呢?
3.回顾一下,上大学到现在这段时间内,让自己最有挫败感的事情是什么呢?
4.有哪些方面需要在改进的么?
5.对于以后参加的工作,你主要会看重哪些方面呢?
6.同学这块,大家都有在投递字节这边的岗位么?
7.反问环节:关于面试结果,告知,这边只是做简单的了解,面试结果大约会在一周左右出来,到时候会有邮件或者电话通知。关于面试的结果,需要综合前面的几个面试官进行综合评测,才能决定是否录取。

总结+面试前的准备(供大家参考学习)

给大家个建议,面试官如果愿意和你聊组里业务,一定要把握机会好好聊,最好能提出让面试官眼前一亮的问题,直指业务核心。代码谁都会写,基础知识网上都能查到,但是对产品的理解和新的想法不是谁都有的.

首先

这份资料,一共有1312页,230775个字涵盖了Android所有高级知识,面试题都是各个大厂的面试者提供的。我们建立了一个【学习交流群】,大家会在一起学习交流,解决问题。如果最近有面试的都会把自己最近面试的题目分享出来,还有一些面试遇到的坑,有时候还开开车感觉还挺愉快!在这里感谢所有群里提供面试题的伙伴,话不多说来看看大厂都喜欢问哪些高级压轴题目吧!



群文件夹里的知识集合

由于文章篇幅问题复制链接查看详细面试答案解析以及学习笔记链接:https://shimo.im/docs/QVGDhCjVKvQ6r6TJ
或者可以查看我的【Github】里可以查看

字节跳动上千道精选面试题还不刷起来!2019-2020大厂高级面试题集合(Handler,性能优化,自定义View等)相关推荐

  1. 互联网扫地僧精心总结,39W字上千道Java一线大厂面试题手册

    今天给大家总结出一份500页超39w字的一线大厂Java面试题,来自一位不愿意透露姓名的大厂扫地僧. "扫地僧,是金庸武侠小说<天龙八部>中的人物,一位在少林寺负责打扫藏经阁的无 ...

  2. 2020 PHP高级面试题之设计模式(四)

    2020年求职之路,最近面试十多家公司,通过这些丰富的经历,笔者总结了面试中普遍的三类问题,分享给大家.我总结出了这三类面试题 2020 PHP高级面试题之PHP(一) 2020 PHP高级面试题之R ...

  3. 2020 PHP高级面试题之PHP(一)

    2020年求职之路,最近面试十多家公司,通过这些丰富的经历,笔者总结了面试中普遍的三类问题,分享给大家.我总结出了这三类面试题 2020 PHP高级面试题之PHP(一) 2020 PHP高级面试题之R ...

  4. 2021新型面试题-血虐面试官斩获字节跳动Offer!Android 精选版面试题级答案(Android+Java+算法+性能优化+四大组件...)

    前言 双非本科,自认为技术水平不差,8月从美图实习离职回学校,各种倒霉的事不断,到现在11月,为了找个好的环境复习,9月又在学校附近租了房,基本是没有面试通知就学不进去,前面由于过于自信,也没拿个保底 ...

  5. 字节跳动瞄准千亿互联网医疗蓝海,张一鸣想靠AI算法当“药神”?

    文章转载自 有牛财经 字节跳动越长越大,临近年关,这家互联网巨头又瞄上了时下火热的"千亿赛道"互联网医疗. 据多家媒体报道称,字节跳动AI Lab(人工智能实验室)位于北京.上海, ...

  6. 字节跳动CVPR 2023论文精选来啦(内含一批图像生成新研究)

    计算机视觉领域三大顶会之一的 CVPR 今年已经开奖啦. 今年的 CVPR 将于六月在加拿大温哥华举办,和往年一样,字节跳动技术团队的同学们收获了不少中选论文,覆盖文本生成图像.语义分割.目标检测.自 ...

  7. 字节跳动自研万亿级图数据库 图计算实践 【太高级了,不是圈里的人,有简明见解的吗?】

    1. 图状结构数据广泛存在 字节跳动的所有产品的大部分业务数据,几乎都可以归入到以下三种: 用户信息.用户和用户的关系(关注.好友等): 内容(视频.文章.广告等): 用户和内容的联系(点赞.评论.转 ...

  8. apm性能监控系统,字节跳动Android三面凉凉,再不刷题就晚了!

    前言 今天来跟大家分享TIM最强保活思路的几种实现方法.这篇文章我将通过ioctl跟binder驱动交互,实现以最快的方式唤醒新的保活服务,最大程度防止保活失败.同时,我也将跟您分享,我是怎么做到在不 ...

  9. 巩固知识体系!这么香的技术还不快点学起来,高级面试题+解析

    都说程序员是一个青春饭,而我也不知不觉进入行业七年多了,自己也马上要进入而立之年了.都说30岁是每个程序员必会经历的一道坎,而自己也快到要面对这个坎了,我时常会想我能不能跨个这道坎. 于是请教了一些年 ...

最新文章

  1. java 注解 payload_spring – 如何使用注释配置PayloadValidatingInterceptor
  2. 浅析企业网站建设潜在价值有哪些?
  3. python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析
  4. spring json
  5. TCP多进程并发服务端 Linux socket编程入门(2)
  6. hibernate保存mysql乱码_hibernate保存数据到mysql时的中文乱码问题
  7. 【单机实现系列】SharePoint2010与Exchange Server2010 结合
  8. 软件测试(三)——软件测试用例篇
  9. SQL Server 启动错误 系统找不到指定的文件/路径
  10. Windows7系统的70个小技巧
  11. 8.总线设备驱动模型
  12. java大转盘抽奖概率算法_微信小程序大转盘抽奖概率算法实现
  13. imput placeholder 移动端不居中问题
  14. Linux优化学习之Load Average (平均负载)
  15. 一文搞懂tf.function
  16. AI+工业互联网:百度AI专利讲述“中国智造”
  17. html中设置页面正在加载,在加载Web页面时显示正在等待的窗体
  18. 使用featureCounts进行定量分析
  19. 如何知道服务器支持301,301页面跳转的方法---从服务器上设置方法
  20. 报错:java.io.NotSerializableException: com.kuang.pojo.User

热门文章

  1. linux 设置默认java,改变linux默认java
  2. 虚拟机ubuntu和开发板UDP Socket通信实例
  3. 移除开机没插sim卡提示
  4. 【AI绘画】秒级出图 快速生成大师级画作
  5. wps带阴影的边框怎么设置_win7系统设置wps阴影边框的操作方法
  6. python抖音机器人_抖音 Python 机器人,论如何在抖音上找到漂亮小姐姐
  7. 【GDScript】检测在手机上的触摸按下、拖拽、抬手
  8. 吉利车用鸿蒙系统,要来了?网曝吉利将与华为鸿蒙系统达成合作
  9. GTD思想的集大成者(附思维导图)
  10. 前端程序媛辞职考研没上岸的结果