2023年字节客户端三面(已邮件),附面试真题分享

前言

8月收获了字节的意向书,今日得空把面经整理出来分享给大家,也借此把好运分享给大家。

不知道是不是现在大厂都年轻化了,感觉面试的面试官比较年轻,问的东西感觉都挺广的,而且不怎么爱问八股,所以面完感觉心里面也没谱,不确定是否有把握。所以面对一些不太会的问题,回答的时候就比较放飞自我了。

一面 1 h左右

1.项目详情,后面基本都是从项目中提问的

2.glide原理

3.图片压缩,图片大小

4.三级缓存,LruCache和LruDiskCache的底层实现(被面试官一步步引导才说出来的)

5.http与https的区别,对称加密与非对称加密,https加密过程

6.http请求头部,断点重传,cache

7.get/post

8.tcp与udp的区别

9.tcp可靠性(确认重传、滑动窗口)、tcp三次握手

10.算法题—topK

11.反问----面试官让我多去面试一些其他公司😂然后开始聊起为什么我不去投tx(我太菜了,tx投了
之后就毫无消息了)

总而言之,一面面试官问的问题都是从项目中细问,知识点都是从浅到深,源码也必须多读读,多了解,不能只了解表面。面试体验挺好的,当晚也收到了二面的通知。

二面 1h 多(具体多了多少分钟也忘了,加起来 2.5 小时的样子)

1.算法题 一个字符串,求最长没有重复字符的字符串长度

2.string stringbuffer 和 stringbuilder 区别

3.final finally finalize区别

4.数组和链表的区别

5.HashMap 了解过吗

6.Tcp 三次握手四次挥手

7.get 与 post 的区别

8.synchronized 的作用

9.你知道哪些设计模式

10.Android 进程通信的方法

11.那你能说一下 Intent 是怎么进程通信的

12.内存泄漏有哪几种情况

13.有什么要问的吗

HR面(40min)

1.觉得字节的面试怎么样,有什么印象比较深的地方

2.当遇到技术难题的时候是怎么克服的

3.你实习中遇到的最大的困难是什么,怎么克服的

4.为什么想做客户端

5.有没有其他的offer和面试?如果offer都拿到了,怎么选择?理由?

6.为什么想来字节跳动,觉得字节能带给你什么

7.介绍了部门情况

8.有什么想问我的

面试完一周后就发了邮件问我什么时候入职了,感觉还是挺幸运的,有些问题还是回答的不是那么好。

总结面评

面评是由专业面试决定的,字节面试分成两大部分,专业面2-3轮加上一轮hr面,如果级别过高或者前面面评较差还会在hr面后进行加面。专业面试官会在面试结束后上传面试结果和面试评价,面试评价和你最后的定薪息息相关,也可以说是起到决定性作用。面评太差还会影响offer的发放,沦为替补。
薪酬主要由面评和个人基本指标相关,个人基本指标包括学历、工作年限、当前薪资、目前所持offer等。

如何提高面评呢?

答案是好好面(谁都帮不了你)。以下几点建议仅供参考。

1. 准备自我介绍

很多人忽视了自我介绍的重要性,毫不夸张,一个好的自我介绍决定了基本的印象分。不要把简历重新叙述一遍,而是要突出个人亮点,结合岗位要求,介绍面试官最感兴趣的部分,吸引面试官的注意。

2. 遇到难题不要怯场也不要胡说八道

面试官是职场老手了,问到你不会的问题再正常不过了,适当的说一句“可以让我简单理一下思路吗?”,这样的回答不仅不会失分,可能还会加分。

3. 敢于直视面试官

由于现在特殊情况,基本都是视频面试,有些人就因为是视频面就东张西望或者根本不敢直视面试官。其实这样是不行,视频面的时候要保证眼神对焦摄像头,保证面试官想要跟你有眼神交流的能对上眼,保持起码的尊重。

4. 如何巧妙的回答“你有什么要问我的吗”

这个问题网上有很多的面经可以参考,我这里就表达一点,一定要在这个问题上开拓面试官的视角。建议不要问薪资、面试评价、面试是否通过,这些问题面试官基本不会回答,相当于浪费了这个加分的机会。怎样开拓面试官视角,那你得知道面试官是哪个领域的,关心哪个领域,想了解的竞品是什么,然后就开始你的表演了,自问自答。这个问题聊好了,你的分数可能会从3.5直接奔4.5(满分5)。

5. 时间安排

一定要保证面试前1h保持头脑清醒,可以多读几遍自我介绍,或者多看几遍自己的简历,面试前深呼吸,保证面试官能有一个好的听感。

总的来说字节的面试体验还是比较好的,当然前提是面评很好的情况下。我有看到网上有很多被晾了几周的,这时候就不要死等,赶快询问hr进程,如果真的是凉了赶快释放你的简历进入新流程。能走内推尽量走内推,虽然我两周走完流程的,但前面从投递简历到一面中间整整隔了9天,相当可怕,证明字节每天官网投递简历的量还是很大的,简历筛选的hr可能是真的看不过来,内推的话会好一点,直接往前挪,下面是小编为大家整理的2023Android最新大厂面经合集,可以多借鉴参考一下,最后祝各位都能获得心仪offer~

具体面试题目录预览内容如下:

图片

经过实践,很多同学看过之后,依靠里面的内容,快速突击复习和巩固了很多互联网公司面试常问的技术点,面试的时候拿到了心仪的offer。其中不乏阿里、京东、滴滴等大厂的offer。需要全部面试题的话可以文末直接获取

数据结构与算法

  • 请说一说HashMap,SparseArrary原理,SparseArrary相比HashMap的优点、ConcurrentHashMap如何实现线程安全?
  • 请说一说HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥?
  • 请说一说hashmap put()底层原理,发生冲突时,如何去添加(顺着链表去遍历,挨个比较key值是否一致,如果一致,就覆盖替换,不一致遍历结束后,插入该位置) ?
  • 请说一说ArrayList 如何保证线程安全,除了加关键字的方式 ?

图片

Java核心基础面试题

  • Java中提供了抽象类还有接口,开发中如何去选择呢?
  • 重载和重写是什么意思,区别是什么?
  • 静态内部类是什么?和非静态内部类的区别是什么?
  • Java中在传参数时是将值进行传递,还是传递引用?
  • 使用equals和==进行比较的区别
  • String s = new String(“xxx”);创建了几个String对象?
  • finally中的代码一定会执行吗?try里有return,finally还执行么
  • Java异常机制中,异常Exception与错误Error区别
  • 序列Parcelable,Serializable的区别?
  • 为什么Intent传递对象为什么需要序列化?

图片

Java深入泛型与注解面试题

  • 泛型是什么,泛型擦除呢?
  • List能否转为List
  • Java的泛型中super 和 extends 有什么区别?
  • 注解是什么?有哪些使用场景?

图片

Java并发编程面试题

  • 假如只有一个cpu,单核,多线程还有用吗
  • sychronied修饰普通方法和静态方法的区别?什么是可见性?
  • Synchronized在JDK1.6之后做了哪些优化
  • CAS无锁编程的原理
  • AQS原理
  • ReentrantLock的实现原理
  • Synchronized的原理以及与ReentrantLock的区别。
  • volatile关键字干了什么?(什么叫指令重排)
  • volatile 能否保证线程安全?在DCL上的作用是什么?
  • volatile和synchronize有什么区别?

图片

Java虚拟机原理面试题

  • 描述JVM类加载过程
  • 请描述new一个对象的流程
  • Java对象会不会分配到栈中?
  • GC的流程是怎么样的?介绍下GC回收机制与分代回收策略
  • Java中对象如何晋升到老年代?
  • 判断对象是否被回收,有哪些GC算法,虚拟机使用最多的是什么算法?
  • Class会不会回收?用不到的Class怎么回收?
  • Java中有几种引用关系,它们的区别是什么?
  • 描述JVM内存模型
  • StackOverFlow与OOM的区别?分别发生在什么时候,JVM栈中存储的是什么,堆存储的是什么?

图片

Java反射类加载与动态代理面试题

  • PathClassLoader与DexClassLoader的区别是什么?
  • 什么是双亲委托机制,为什么需要双亲委托机制?
  • Android中加载类的方法有哪些?有什么区别?
  • ClassNotFound的有可能的原因是什么?
  • odex了解吗?解释型和编译型有什么区别?
  • 说说反射的应用场景,哪些框架?
  • 反射为什么慢?
  • 动态代理是什么?如何实现?
  • 动态代理的方法怎么初始化的?
  • CGLIB动态代理

图片

网络编程面试题

  • 请你描述TCP三次握手与四次挥手的过程与意义
  • 谈谈你对TCP与UDP的区别是什么的理解
  • 谈谈你对TCP 流量控制与拥塞控制的理解
  • 谈谈你对Http与Https的关系理解
  • SSL握手的过程都经历过什么
  • 谈谈你对Http的post与get请求区别的理解
  • 输入一串URL到浏览器都经历过什么?
  • 断点续传原理
  • 如何保证下载文件的完整性

图片

Kotlin面试题

  • Kotlin内置标准函数let的原理是什么?
  • Kotlin语言的run高阶函数的原理是什么?
  • Kotlin语言泛型的形变是什么?
  • Kotlin协程在工作中有用过吗?

图片

Android 高级UI面试题

  • View的绘制原理
  • View绘制流程与自定义View注意点
  • 自定义view与viewgroup的区别
  • View的绘制流程是从Activity的哪个生命周期方法开始执行的
  • Activity,Window,View三者的联系和区别
  • 在onResume中是否可以测量宽高
  • 如何更新UI,为什么子线程不能更新UI?
  • DecorView, ViewRootImpl,View之间的关系
  • 自定义View执行invalidate()方法,为什么有时候不会回调onDraw()
  • invalidate() 和 postInvalicate() 区别

图片

Android Framework面试题

  • Android中多进程通信的方式有哪些?
  • 描述下Binder机制原理?
  • 为什么 Android 要采用 Binder 作为 IPC 机制?
  • Binder线程池的工作过程是什么样?
  • AIDL 的全称是什么?如何工作?能处理哪些类型的数据?
  • Android中Pid&Uid的区别和联系
  • Handler怎么进行线程通信,原理是什么?
  • ThreadLocal的原理,以及在Looper是如何应用的?
  • Handler如果没有消息处理是阻塞的还是非阻塞的?
  • handler.post(Runnable) runnable是如何执行的?

图片

Android组件内核面试题

  • Acitvity的生命周期,如何摧毁一个Activity?
  • Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用
  • Intent显示跳转与隐式跳转,如何使用?
  • Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?
  • Activity如何保存状态的?
  • 请描诉Activity的启动流程,从点击图标开始。
  • Service的生命周期是什么样的?
  • 你会在什么情况下使用Service?
  • Service和Thread的区别?
  • IntentService与Service的区别?

图片

Android性能优化面试题

  • 一张图片100x100在内存中的大小?
  • 内存优化,内存抖动和内存泄漏。
  • 什么时候会发生内存泄漏?举几个例子
  • Bitmap压缩,质量100%与90%的区别?
  • TraceView的使用,查找CPU占用
  • 内存泄漏查找
  • Android四大组件(以及Application)的onCreate/onReceiver方法中Thread.sleep(),会产生几个ANR?
  • 当前项目中是如何进行性能优化分析的
  • 冷启动、热启动的概念
  • 优化View层次过深问题,选择哪个布局比较好?

图片

开源框架面试题

  • 组件化在项目中的意义
  • 组件化中的ARouter原理
  • 谈一下你对APT技术的理解
  • 谈谈Glide框架的缓存机制设计
  • Android项目中使用Glide框架出现内存溢出,应该是什么原因?
  • Android如何发起网络请求,你有用过相关框架码?OkHttp框架解决了你什么问题?
  • RxJava框架线程切换的原理,RxJava1与RxJava2有哪些区别?
  • 谈谈LiveData的生命周期是怎么监听的?

图片

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值