大家好,欢迎来到IT知识分享网。
前言
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
总而言之,一面面试官问的问题都是从项目中细问,知识点都是从浅到深,源码也必须多读读,多了解,不能只了解表面。面试体验挺好的,当晚也收到了二面的通知。
二面 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.有什么想问我的
面试完一周后就发了邮件问我什么时候入职了,感觉还是挺幸运的,有些问题还是回答的不是那么好。
总结面评
如何提高面评呢?
答案是好好面(谁都帮不了你)。以下几点建议仅供参考。
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性能优化面试题
- 一张图片100×100在内存中的大小?
- 内存优化,内存抖动和内存泄漏。
- 什么时候会发生内存泄漏?举几个例子
- Bitmap压缩,质量100%与90%的区别?
- TraceView的使用,查找CPU占用
- 内存泄漏查找
- Android四大组件(以及Application)的onCreate/onReceiver方法中Thread.sleep(),会产生几个ANR?
- 当前项目中是如何进行性能优化分析的
- 冷启动、热启动的概念
- 优化View层次过深问题,选择哪个布局比较好?
- …
开源框架面试题
- 组件化在项目中的意义
- 组件化中的ARouter原理
- 谈一下你对APT技术的理解
- 谈谈Glide框架的缓存机制设计
- Android项目中使用Glide框架出现内存溢出,应该是什么原因?
- Android如何发起网络请求,你有用过相关框架码?OkHttp框架解决了你什么问题?
- RxJava框架线程切换的原理,RxJava1与RxJava2有哪些区别?
- 谈谈LiveData的生命周期是怎么监听的?
- …
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/147467.html