iOS工程师精选面经合集
0家公司
0篇面经
最新 热门
/feed/main/detail/c88551f9c7cb4a2c96c0cdf05dec6b4b/feed/main/detail/63a496f7a2784f3c89ed552a4d3f41b4/feed/main/detail/a86580938c2a4eb8a8bffc26406962dd
09-28 10:32
已编辑
山东师范大学 C++
字节生活服务(三面挂)
📍面试公司:字节跳动🕐面试时间:9.8-9.18💻面试岗位:生活服务 抖音团购 客户端开发❓面试问题:🙌面试感想:一面65min:1.算法题:2个有序数组,得到它们的中位数2.时空复杂度都是O(N),空间复杂度如何优化到O(1)? index计数,边界处理3.讲一下项目经历和实习经历4.讲一下什么是DNS5.讲一下for-tencent做了什么? 项目背景?6.改造升级fstack,如何保证稳定可监控?7.数据流是怎么样的? 性能优化的目标是怎么定的? 成本降低多少? 服务容量? 线上水位?8.成本降低为一半是怎么定的? 有什么科学的计算方法? 还是看上面的预算?9.性能优化调研的过程,为什么用dpdk/fstack?10.C/C++的区别?11.多态的实现原理?12.virtual具体咋用的? 底层原理? 虚函数指针是什么?虚函数表存在类里还是对象里?13.多态调用查找的过程?  如何保证重写过后的调用,是调用的重写后的函数而不是父类的?14.父类子类的虚函数表是一个吗?15.如果父类有多个虚函数,但是子类只重写了某一个,子类如何调用没有重写的函数的?16.子类重写了虚函数后,如何调用基类的那个函数? 命名空间显示调用17.命名空间的底层原理是什么? 编译期间做的还是运行期间?18.智能指针讲一下? 引用计数是什么?  循环引用是什么?19.引用计数++或--是什么时候触发? 赋值? 拷贝构造? 赋值运算符重载? 底层的资源指针赋值和计数详细讲一下?20.讲一下中断,硬中断,软中断,同步异步? 硬件触发 错误触发 软件触发21.缺页中断详细讲一下? 什么时候触发的?22.物理内存不连续,外碎片怎么处理的? 伙伴系统?23.进程和线程的区别?24.进程间通信的方式: 共享内存attach,管道25.讲一下管道的接口pip,文件描述符,底层的数据结构是什么?26.如何保证多进程数据安全:锁,信号量27. 互斥锁 VS 读写锁?28. tcp VS udp29. 拥塞控制讲一下,什么情况触发拥塞? 拥塞触发后如何增长?30.IO多路复用是什么? 什么场景用?31.多路复用高效在哪? ET和LT,底层的数据结构了解吗?32.反问a.团队的组织架构? 团队的定位?  生活服务下面的,客户端开发方向b.具体的业务:抖音团购,首页和二级页面c.技术栈:ios开发主要是用的objective-c,然后安卓的话用的是扣子里或者java啊。字节 生活服务二面 60min1.自我介绍2.了解客户端吗? 讲一下对客户端的理解?3.讲一下tcmalloc高并发内存池的结构,使用场景?4.threadCache结构重点讲一下? 内存对齐的规则? 这个规则是应用层的还是说和cpu,系统,底层硬件设备有关联?5.场景题:mysql中有一个用户表,有几个key(userId,订单ID,订单数量,订单状态,订单时间)目前想查一下该用户近30天的已支付的订单列表并且倒序去排,怎么做?6.聚合索引的原理? 选哪几个key来聚合?7.TCP为什么3次握手,不是2次或者4次? 全连接队列和半连接队列?8.http VS https? 对称密钥和非对称的区别?9.用过什么抓包工具? tcpdump抓到的是二进制吗? 除了数据还有什么内容? -n -w -x?10.portobuf的压缩规则? 对比xml/json的优势和劣势? 压缩成二进制的好处,存储&&传输&&丢包11.vector VS list12.几十万个数据,如何找到最大的100个?  为什么用小堆?13.单cpu多线程,任务如何执行的? 串行还是并行? 并行和并发的区别?调度策略? 上下文切换? 本质是切换执行空间 VS 切换执行顺序<br>cpu密集型 VS IO密集型14.常见的设计模式? 单例模式如何保证全局只有一个对象?15.二叉树的之字形遍历字节 生活服务三面 60min1.自我介绍**2.防火墙,** 你做的主要是那一侧的东西? 哪个层面上的?3.ddos攻击是什么? 如何预防? 事前事中事后?4.现代防火墙自动拦截功能,怎么样一个实现思路?拒绝单ip高并发,流量限速,CDN吸收和分散流量,监控报警5.tcp报文讲讲?6.mtu是啥? 一般设置为多大? 1500? 二三四层结合着讲讲,ip切片?7.网络层ip有sip和dip,假如我是一个客户端,去连接你的服务器,我的这个ip地址可以伪造吗?8.伪造之后能发出去,但是回包回不过来了?9.做tcp的中间人攻击,我该怎么攻击?10.做tcp层面上的负载均衡器怎么做? 这种中继器怎么做?11.高并发内存池,高并发指的是什么? 底层的内存分配器结构? slot结构?12.for-tencent对比传统递归解析? 它的优势是啥? 安全? 效率?13.一个域名对应的ip有很多,怎么返回的? 代码里面的算法逻辑是啥样的? 权重? 外围集群咋设计的,就近接入,动态路由?14.单机的dns系统如何做高可用和高容错的?15.设计一套端到端的机制,来确保整个httpdns服务正常运行,需要很多数据,埋点设计需要哪些?这是一个开放问题,你可以从整体到单机都讲讲16.vmstat命令? 监控的内存信息有哪些? 里面的cache干啥的?17.进程间通信的方式? 管道的底层原理? 怎么实现的?18.内存对齐讲一下?19.虚函数可以是virtual的吗? 虚表指针存在对象的哪个位置?20.智能指针有哪些? 循环引用?21.手撕:搜索旋转排序数组
发面经攒人品
点赞 评论 收藏
分享
/feed/main/detail/cfed9b5095374561b7452300a0c3da73/discuss/799747395113242624/feed/main/detail/f68eaecb7fc8425ea23d0f042a1531d5/discuss/794996896715509760/discuss/796125060648960000/discuss/792837565710602240/feed/main/detail/c158e2bd862e4a1793ee2b3955451d44/discuss/792505773652713472/discuss/777938303671726080/feed/main/detail/16cbe2c25782404aa83cd1572f736108
07-04 17:12
已编辑
门头沟学院 Java
字节客户端一面(凉经)
1. 我看你是做服务端的,但是你投的是客户端开发,你后面是倾向于安卓还是IOS?2. get和post的区别是什么?3. 实现用户登录功能该用post还是get?为什么用post?post就安全吗?body不也可以通过抓包看见吗?3. HTTPS加密的过程?我答的是公私钥结合的方式其实就是TLS协议交换密钥的过程。追问如果代理人攻击如何解决?提示CA证书机制没答出来具体的机制是如何实现的4. TCP三次握手,为啥不是二次握手?为啥不是四次握手,这样岂不是更能保证可靠我说四次的话,感觉没有必要三次就能保证建立连接的可靠5. UDP协议在那一层?那我传输的时候可不可以绕过UDP协议直接交给IP层?这里没答好正确答案应该是,传输层负责端到端的通讯,屏蔽底层细节,通过ip协议可以把数据传输到对应的主机,但是如果没有端口信息不能定位到具体主机的应用进程,还有就是传输层的作用,可靠传输、拥塞控制、流量控制5. 线程和进程的区别?线程与线程之间是共享内存的吗?进程与进程之间呢?6. hashmap的put和get过程7.arraymap 和hashmap如何选型的?我不知道arraymap 是什么java中没有后来才知道是客户端的8. equal和hashcode那些经典八股9. 如何判断一个对象能否被垃圾回收?可达性分析算法 gcroot,那些可以作为gcroot?虚拟机栈和本地方法栈中引用的对象、方法区中静态属性引用的对象和方法区中常量池引用的对象10 .垃圾回收机制,分代回收机制,老年代新生代那一套11 .threadlocal 底层实现原理12 .单例模式懒汉和饿汉的区别?然后分别用在那些场景中,你实际用的话?13 .为啥设计双亲委派机制手撕1.单例模式2.删除链表重复元素手撕2翻车其实是有点紧张加上第一次面字节,也不太习惯飞书的编译器,双指针一直有BUG很慌就没调出来,反问还有那些需要提升的点?面试官说基础知识掌握还可以,编码习惯有待提升,下去再练练吧。败在了本来最擅长的点😣,这手撕已经很给我机会了,自己没把握住
查看16道真题和解析
点赞 评论 收藏
分享
/feed/main/detail/24332f62c2ce4b5c904b68df18cbe6b1/discuss/777938002008924160
07-21 20:03
已编辑
丰乡小学 全栈开发
抖音-智能创作-客户端-ByteIntern 面经
积功德职位描述ByteIntern:面向2026届毕业生(2025年9月-2026年8月期间毕业),为符合岗位要求的同学提供转正机会。团队介绍:抖音-智能创作团队是为抖音业务提供AI,特效,音视频创作技术能力,涵盖了计算机视觉、图形学、拍摄编辑、特效、客户端、服务端工程等技术领域,并以多种形式向抖音提供业界前沿的内容理解、内容创作、互动体验与消费的能力和行业解决方案,同时通过火山引擎为企业客户提供服务。1、负责视频、图像类算法在客户端和服务端的性能优化和工程部署;2、跟进业界先进的高性能优化技术,参与跨平台高性能计算引擎建设;3、参与支持业务的基础工程平台建设,探索高效的算法工程化部署方案。职位要求:1、2026届本科及以上学历在读,计算机等相关专业优先;2、熟悉C/C++/Java/OC语言的其中任意一种,具备一定的计算机基础;3、有移动客户端Android/iOS App开发经验优先,有基于Android/iOS平台的音视频开发经验的优先;4、了解FFmpeg、GPUImage等开源多媒体框架者优先,对视频编辑处理兴趣浓厚者优先。事后回忆,具体有些内容忘了,只记录了记得的。。。一面(2025.6.25)55min:1. 智能指针哪几种,使用场景?2. C++线程池,如何实现,优点和好处?过程中面试官多次提示,跟我对暗号。。。3. C++构造函数可以调用虚函数吗?4. OpenGL 渲染管线?5. 纹理内存优化?根据自己 iOS 相关经历瞎答一通,说可以不销毁同一尺寸的纹理(比如端侧遮罩很多是 256、320、384 这些尺寸),尤其是推理视频帧时可以复用。。。6. OpenGL PBO (Pixel Buffer Object) 有没有使用过?真没用过,我以为听错了,问面试官说的是不是 FBO、RBO。。。面试官应该是搞安卓的,结束后查了下发现是用来异步传输像素数据的。。。苹果爸爸的芯片是统一内存,CVPixelBuffer 就是中转站搞定一切,🐴的谁让我是 iOS 出身的。。。7. 你还做过GAN,实际落地吗?你知道的GAN有哪些?简单介绍了下 DCGAN, pix2pix, cGAN, cycleGAN, Wasserstein GAN8. 算法题:合并两个有序链表,ACM模式,限时20分钟。没啥好说的,拼手速。。。9. 询问 base 地要求?除了北京都可以。。。10. 反问:组内业务?二面(2025.6.26)1h20min:主要是根据简历内容来的1. 智能指针是如何实现的?2. 强引用计数指针,多线程访问会不会有问题,怎么保证安全?3. OpenGL ES 和 OpenGL 的区别?4. glFlush() 和 glFinish() 的区别?5. GLSL shader 是使用过还是比较熟?6. 你简历上提到修复过渲染流程的bug,具体讲讲是什么?7. 你理解的移动端和桌面端GPU渲染区别在哪?8. 看你简历上有提到人脸美颜美妆算法,你能讲一讲美妆是怎么做的吗?9. Metal 熟悉吗?Metal 的优点?仅限于使用过。。。10. 多线程渲染?没接触过。。。11. 看你简历上的检测、分割模型开发工作,展开讲一讲?12. 数据结构和算法熟悉吧,说一下快排和堆排时间复杂度?13. 手撕快排和堆排14. 智力题:25匹马,5条跑道,最少需要多少场比赛,可以找出跑得最快的 3 匹马?面试官中间提示了一次,脑袋宕机,想了挺久的。15. 问什么时候能来实习?回答 8 月初,8月5-7号,至少能保证3个月的实习。16. 反问:我没有提问题。。。17. 如果后面还有面试,hr会通知你的。。。过了 周五+周末+周一白天,周一晚上收到邮件,感谢信🙏🙏🙏不敢相信,业务经历几乎是重合的,这么匹配都能挂了。。。可能是因为我最近一年完全不是做客户端的。。。我也确实不想再干客户端了,投别的岗位被捞去面试,给HR贡献KPI了捏麻
查看22道真题和解析
点赞 评论 收藏
分享
/feed/main/detail/56172d8bb75f4fe8a5a991e89b569564/feed/main/detail/b4defc8f9a1c4b3893c2ea890fa2ffc3/feed/main/detail/37ebdbb25063462da04783334260cbfa
字节客户端开发实习面经
一面: 1.项目(zset使用, 并发问题)2.设计模式使用3.单例模式实现(饿汉+懒汉)4.Redis分布式锁实现5.慢Sql优化6.SpringBoot启动流程7.对依赖注入的理解8.注入方式有哪些9.Spring三级缓存10.String, StringBuilder,StringBuffer区别11.StringBuffer为什么线程安全12.HashMap结构实现13.Hash冲突解决方法14.JVM内存结构15.四种引用(强,软,弱,虚)16.volatile关键字的作用17.栈和队列的区别口述:使用栈实现队列代码:无重复元素的最长子数组(跑用例+时间/空间复杂度)二面:1.https与http的区别及实现2.站在服务器的角度,说说Get和Post请求的区别3.对前端/客户端的理解4.Tcp三次握手和四次挥手5.如何创建一个线程6.Thread中的start和run方法有什么区别7.线程池参数8.网络请求密集型和CPU密集型场景下,线程池参数的设置9.线程池执行流程10.类加载过程11.双亲委派模型的功能及意义12.打破双亲委派模型的场景13.Spi机制14.分代垃圾回收算法实现+三色标记法+漏标/多标15.项目困难问题解决,现成方案有没有调研代码:三个线程循环打印123/带过期时间的LRU/合并两个升序链表三面:1.项目描述2.项目中的网络问题3.做过哪些项目4.为什么不把所有做过的项目都放在简历上5.简历上的项目与课设项目的区别6.项目亮点有哪些,挑选一个说说7.为什么不参加比赛而准备就业技能8.发一个http请求,经过哪些层,需要哪些协议,为什么需要这些协议9.有连接和无连接的区别10.视频会议在网络中怎么找到对应的电脑11.为什么有并发问题12.并发问题是语言层面还是操作系统层面的问题13.能够实习多久14.学习成绩怎么样15.有上过算法课吗16.如何解决从学校到企业的过渡17.如何具备能够找到一份实习的能力18.如何面对实习的压力19.为什么选择投客户端开发这个岗位20.算法题: 一个数组,每次从左边或右边取,取完后另外一端(只有一个)的数会变两倍,求能取到的最大值(代码如下,写的不是很好)hr面:1.通勤问题,学校在哪2.能够实习多久,能够出勤几天3.为什么不看重学校的课4.为什么不读研5.投过哪些公司6.目前拿了哪些offer7.意向岗位业务做哪些8.为什么要投客户端开发岗9.对客户端的了解10.具体的技术栈了解吗11.Android和IOS开发的区别,更偏向哪个12.IOS开发就接受不了吗13.项目中的职责14.和队员之间的协作方式15.项目中总共有哪些分工16.为什么选择你做技术负责人17.项目参加过什么比赛18.为什么不投后端开发岗位19.如果对工作内容不感兴趣怎么办20.现在最想提升的一个能力21.抗压能力的体现22.自认为技术水平和能力怎么样23.如何去提升自己的技术能力24.实习有和家人和导师商量过吗反问:1.工作节奏2.主要业务
点赞 评论 收藏
分享
/feed/main/detail/654591591623465b9d5220e628a5b647/feed/main/detail/10a3e90b8dc64fbb873f40abfb0abbc8
玩命加载中
写面经
发动态
发动态
发帖子
写文章

全站热榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务