获赞
69
粉丝
49
关注
9
看过 TA
786
广东工业大学
2026
客户端开发
IP属地:广东
暂未填写个人简介
私信
关注
1. 实习项目介绍2. 学习成绩怎么样,年级排名?3. 为什么大学学习这个开发方向4. 学习时有没有看一些好的教程或博客5. kotlin调用c++的接口怎么调用6. native声明的函数是怎么对应到c++的函数7. 原生和c++间是怎么传递数据的8. java的引用类型传递给c++时内存管理是怎么样的9. c++层怎么调用java的方法10. Compose的数据驱动是怎么实现的11. 除了mutableStateOf还有其他方式可以定义状态吗12. 如果外部有一个状态传递给子控件,并且让子控件可以更改状态,改怎么做13. 除了lambda回调还有什么方式14. Compose背后对应的真正的视图,什么时候会创建什么时候会销毁,它的内存管理是怎么样的15. 一个Compose组件内有个状态,什么情况下这个状态会变为默认值(什么情况下组件会销毁重建)16. 手撕:计算视图数量手撕是原创题,大概内容是:移动端的视图层级结构是树状的,每个节点都是一个视图。每个视图都有一个isVisible 属性,表示该视图是否可见;视图间有父子关系,当父视图不可见时,其所有子视图也不可见。现给定以下结构体,请实现一个函数,计算叶子视图中可见视图的数量与不可见视图的数量:struct View {bool isVisible;View subviews[];}mid水平,如果算上没见过需要15分钟内当面思考和写出来并解释,可算得上是hard两天后约三面
0 点赞 评论 收藏
分享
字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。前六面面经见上篇,记录下后续面经:七面(1h45min)1. 自我介绍2. 实习项目3. 介绍下实习的项目架构4. 讲讲对Compose声明式的理解5. java强引用和弱引用的区别6. 还有其他引用类型吗7. ThreadLocal8. 你平常有什么遇到的ThreadLocal的应用场景9. java集合类型(介绍各种集合,吟唱List、Map、Set)10. 集合多线程访问数据竞争问题怎么解决11. synchronized的用法12. LeakCanary检测内存泄漏的机制13. MVVM、MVP、MVC三种架构的区别14. 算法:搜索旋转排序数组总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过八面(1h)1. 项目拷打2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时3. LeakCanary原理机制4. OKHttp和Retrofit设计模式(答了七八个主要的)5. 责任链好处是什么6. 包大小优化措施,提升了哪些性能7. 线程和协程的区别8. 鸿蒙调用cpp是怎么做的9. 了解什么跨端框架10. flutter为什么比原生慢11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)13. view事件分发cancel事件什么情况会触发14. view事件分发流程15. Binder机制16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)(1) 直接排序 O(nlogn)(2) 优先队列(最小堆)O(logn)(3) 快速选择 O(n) 写这个的代码总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)九面(hr面45min)压力很大,像是在面技术面1. 自我介绍2. 为什么选择就业而不是考研3. 工作室有什么项目需要做4. 项目为什么做了一年(业余时间开发)5. 项目的动机、背景6. 还在实习吗(转正离职了)7. 挑一个实习工作讲一下背景和做了哪些事情8. 技术优化是谁提出来的,leader提出的还是自己找到的9. 做完需求的成长和进步体现在哪里10. 独立开发sdk提效是谁给你的建议吗11. 除了技术问题还有遇到其他困难吗(联调沟通)12. 一开始不使用联调的原因是什么,打乱工作节奏吗13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力14. 沟通上有什么心得,可以提高工作效率15. 有遇到矛盾和分歧吗,怎么解决的16. 在团队中工作影响你产出的阻碍和困扰有什么17. 新的UI框架你是花多久学清楚的18. mentor对你的评价是什么19. 组内几个实习生,都转正通过了吗20. 和其他实习生相比你的优势在哪里(来得早,知识面多)21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)23. 你们组的跨端方案跟腾讯视频比有什么差距吗24. 对字节校招面试的感受是怎么样的25.  你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么26. 有反思该部门二面没通过的原因吗27. 会有失落和挫折的感受吗28. 怎么排解失落的心情29. 现在手头有哪些offer30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗审批一周还是倒下了,流转其他部门,后续免hr面后面的面试不怎么问八股了,更多是项目、场景、智力题十面(30min)1. 自我介绍2. 有了解鸿蒙如何与Kotlin通信吗3. Compose对比常规view的优势是什么4. Compose局部重组的原理,标脏机制5. 对最近比较火的ai编程工具有了解吗,像claude这些6. 了解ai编程的原理吗7. 现在还在实习吗8. 什么时候接触安卓的?写过ios,前端吗9. 你会怎么快速上手ios10. 编码算法就不考察了,之前面试都写出来了11. 为啥有微信offer还面其他的总结:从二面开始,通过了就是三面,大概率也不考算法。过十一面(1h)1. 自我介绍2. 实习介绍3. Compose局部重组是怎么实现的4. ai工具你是怎么用的5. 有没有用过claude code、cursor(需要付费,没用过)6. agent是怎么实现的,工作原理是什么7. 你觉得自己比同阶段的同学优势在哪里8. 最近在学什么9. 最近比较感兴趣并且学得深一点的是什么10. Compose什么时候会跳过重组11. 自己后面有什么规划吗12. Compose组件封装得更通用有什么思路吗13. 组件点击事件的响应是怎么扩展的14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)16. 为什么apk体积比较小了还要优化17. apk优化方案总结:客户端经验很丰富,ai了解不够多。一周后挂十二面(1h)1. 自我介绍2. 实习亮点介绍3. 跨端方案的背景4. 跨端方案很多,为什么使用c++?写起来方便吗?5. java和c++是怎么通信的6. 还了解哪些其他跨端技术7. 怎么判断哪些代码可以下沉到逻辑复用层8. 在跨端过程中你做了哪些9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的11. 原生层的viewmodel和底层的viewmodel的区别是什么12. 使用什么手段可以主动发现线上的性能问题(流水线)13. MVVM的设计思路是什么,和传统MVC、MVP的区别14. LiveData相对于传统观察者模式有什么优势(生命周期集成)15. 性能优化的整体思路是什么16. 优化的收益怎么衡量17. 怎么分组快速发现新改动的性能问题(AB实验)18. 安卓内存泄漏的场景19. kotlin协程的理解20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)22. 之前考了很多笔试了,就不考了,开始反问依然是从二面开始。过十三面(1h10min)1. 自我介绍2. 实习介绍3. 介绍几个技术上挑战比较大的,提升比较多的4. 介绍下java和c++通信的细节5. 数据转换有性能上的问题吗6. C++和Kotlin/Java的差异有哪些7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗8. 数据库索引是怎么提高查询速度的,原理是什么9. 除了xml解析还有没有看过其他三方库的源码10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的11. 场景:微信朋友圈滑动卡顿,会怎么分析12. 卡顿是由于什么引起的13. 图片加载过多为什么会引起卡顿(频繁gc)14. 怎么解决频繁gc的卡顿问题15. 设计一个图片缓存库,会怎么设计(三级缓存)16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)17. 不同尺寸的同一张图片怎么关联起来18. 内存缓存图片的淘汰思路19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)最后的场景被拷打麻了。。。已经不知道自己是谁了最终等了一周还是通过了。谨以此贴记录字节面试经历,也希望能带给后来人一些参考
字节求职进展汇总
0 点赞 评论 收藏
分享
字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。记录下面经:一面(1h20min)https://www.nowcoder.com/feed/main/detail/ee15d1b2fb2f4d459b0938dabd7e1922二面(45min)https://www.nowcoder.com/feed/main/detail/a9f0d490ebb1472bbffb16575daf4902三面(1h30min)1. 自我介绍(项目)2. 项目说一半打断、提问项目3. 鸿蒙开发感受如何,和安卓相比有什么区别4. 你更倾向鸿蒙还是安卓开发(当然是安卓,鸿蒙的ide巨落后)5. 鸿蒙开发安装包有哪些东西(不会)6. 安卓应用升级到鸿蒙数据是怎么迁移的(不会)7. 开始问java,接口和抽象类的区别8. 接口的应用场景说个你使用到的例子(不同请求的网络成功失败回调)9. 这样会导致接口膨胀(回答了跟抽象类的对比,共性提取和复用。感觉自己答非所问了??)10. 接口能继承抽象类吗?11. 四大引用说一下、以及各自的应用场景12. 弱引用常用来做什么(检测和防止内存泄露)13. 弱引用对象被回收了,那调用对象的方法或成员变量会导致状态异常?(判空)14. 弱引用在业务上的使用多吗?(掰扯了很久,没明白想问什么,最后回答非必要不使用)15. gc说一下(引用计数、可达性分析等)16. gc算法说一下17. 这些算法各自的特点说一下18. 现代jvm是如果利用各种gc算法的(忘了,提示分代,应该是根据不同分代选择不同算法)19. 你说到新生代,它是使用什么算法(忘了,沉默)20. 跳过,gc的过程和gc的缺陷21. 引用计数可能有什么问题(循环引用)22. 循环引用具体说一下23. HashMap和HashTable、LinkedHashMap的区别说一下(答了线程安全和数据结构实现的区别)24. HashTable线程安全的原理是什么25. 还有哪些线程安全的容器(ConCurrentHashMap)26. 它和HashTable的区别是什么(答了实现线程安全的方式不同)27. 你提到CAS,具体说一下28. CAS可能出现什么问题(ABA问题)29. 怎么解决(版本号、时间戳)30. Handle的Message有哪些(不懂,答了post的Runnable和sendMessage的Message)31. 它们是同步的吗(依然不知道想问什么,答了MainLooper的消息队列通过消息入队顺序处理,除非是延时消息)32. Looper 是如何保证线程唯一性的?(答了ThreadLocal和具体的存储过程)33. 事件分发机制说一下34. 点击事件的事件类型和执行顺序说一下35. 手指按到屏幕上,再滑动,此时会滑动吗?内部的事件类型的事件传递过程是怎样的?滑动事件在哪里被处理?36. 给出一段代码:分析代码意图和错误不看后面的省略号,执行完结果是什么?会出现什么问题?怎么解决?(倒序)增强for可以吗?(可以,内部使用迭代器实现)这里的==有什么问题?equals和==的区别?它和hashcode的应用?37. 环形链表II解释思路?如果不考虑空间复杂度你会使用什么容器?(脱口而出map)map的键是什么?(想起来使用set就行)set有判断包含元素的方法吗?(contains)面试评价:整体表现都挺不错的,包括项目、实习、面试表现总体感受:大概答出90%,虽然面试时慌得一批,但是面完回想还是基本都答出来了,过四面(1h15min)1. 手写HashMap,只能使用数组、链表(并对各种机制进行深度拷打,基本所有hashmap底层的设计都进行了拷打,比如容量设置考量,扩容具体过程,为什么是2倍、先插入再判断扩容还是先扩容再插入等等)2. SQLite使用什么数据结构3. B+树有什么特点4. 为什么不使用二叉查找树5. 数据库查询优化思路是什么6. 索引什么情况会失效7. Java的static说一下8. 静态变量存在哪个地方?在什么时候分配内存?什么时候初始化?初始化和准备哪个先?9. int数据存在哪个地方(分情况讨论)10. 静态代码块什么时候执行11. 类初始化做了什么12. 类加载和初始化哪个先执行13. 进程和线程的区别14. 进程调度算法有哪些15. 时间片轮转说一下16. 时间片轮转和先来先服务的区别,怎么选择?17. 和高响应比优先比呢?18. Okhttp的连接复用机制说一下19. 连接复用的优点和缺点20. SparseArray的原理?它的key怎么来的?(应该是要问避免hashmap的Integer装箱的开销,可惜很久前看的,忘了很多)总结:压力最大的一次面试,挂五面(1h05min)1. 自我介绍2. 项目介绍3. 安卓层是怎么执行c++代码的4. 包大小的减少是从哪些方面提升用户使用体验的5. MVP和MVVM的区别6. 倾向使用哪种架构,哪个更易于维护7. ArrayList和LinkedList的区别8. 泛型9. 运行时能获取到具体的泛型信息吗10. ==和equals的区别11. kotlin的==和equals12. Kotlin如果同一个类两个对象都有一个String字段且值相同,==返回什么(false,默认比较的是地址)13. data class14. 如果data class的两个对象内部属性一样,==返回什么(true,数据类内部自动重写了equals)15. 给一段多线程并发代码,判断打印的内容16. 合并两个升序链表(写完迭代问还有别的方式实现吗->讲递归的实现)过六面(1h40min)1. 自我介绍2. 项目介绍3. java和Kotlin调用jni有什么不一样4. 在一个很简单的需求扯了很久(大概率是挂的原因,后续调整了实习需求介绍的优先级)5. UTF - 8是几个字节(英文1个,中文3个)6. 如何识别字节流截取的位置(保证截断的位置不会导致尾部字符的不完整或乱码)7. join联表为什么能解决相关子查询8. 怎么自动化识别和记录数据库查询慢的语句9. java垃圾回收算法10. 判断垃圾对象的方法,优缺点对比11. gc使用了哪种判断垃圾方法,还是两种都用12. 排查内存泄漏的方法13. LeakCanary的原理14. 常见的内存泄漏场景15. 内存泄漏的原理,为什么会导致泄漏16. 匿名对象一定会持有外部类的引用吗17. 图片的大小是如何确定的18. 图片的像素是怎么决定的19. https的加密过程是怎么样的20. 验证证书的过程21. 算法:平衡二叉树总结:没什么问题,都挺好的。但是挂篇幅限制后续面经看下篇
字节求职进展汇总
0 点赞 评论 收藏
分享
计网 1. 完整网络请求的过程2. SSL握手的详细过程是什么样的3. 请求的方法有哪些4. get和post的区别5. post请求的数据放在哪里6. header通常有哪些内容7. 响应状态码有哪些8. 平时使用互联网遇到过哪些状态码设计模式1. 熟悉哪些设计模式2. 建造者模式什么时候用3. 责任链模式的场景4. Android哪些地方用到这里(OKHttp拦截器链,七大拦截器)Java1. ==和equals的区别2. Object的equals是怎么判断相同的(判断地址)面试官发出疑问,确定吗?嗯?( 我沉默了,内心:难道不是吗??。。)3. 过,继续下一问:内部类怎么访问外部类(隐式持有)4. 具体怎么持有,怎么区分Android1. 视图的绘制流程2. 视图是如何确定大小的3. onMeasure最终调用什么确定大小4. Looper作用是什么5. Looper跟线程是什么关系6. Android主线程是什么时候创建的7. 前后台切换会回调什么函数8. 什么情况只回调一个算法1. 写个完美一点的单例(DCL)volatile去掉有什么问题,第一个判空去掉呢,第二个呢锁对象可以换成其他吗2. 写一个生成者消费者模式(写不出来,只是了解过)3. 岛屿最大面积优化一下返回值,不用使用全局或者静态变量时间复杂度和空间复杂度分别是多少其他1. 数据库学过吗(课程还没上)2. 你现在大几,后面有这个课吗3. 出来实习的目的或目标是什么4. 实习时间大概能多久5. 一周能来几天后续周五面完下周一wxg发offer了,催三面回复说面试官这两天给反馈,过了三天感谢信了
查看36道真题和解析
0 点赞 评论 收藏
分享
喜欢吃卤蛋的肖恩在参...:佬是不是面的飞书Android哦?
查看60道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务