滴滴iOS实习面经

为大家贡献一点iOS的面经 #iOS#

滴滴一面   2023-3-9 19:00  1h10min

1.自我介绍,问简历上的内容
2.oc中atomic和nonatomic的区别
3.swift的构造函数都有哪些
4.任务A、B、C,怎么让C一定在A、B后发生, A、B顺序无所谓,三个任务并列不嵌套,说出所有方法
5.http的队头阻塞
6.输入一个网址后都用了哪些协议
7.网络层都有哪些协议?分别什么作用
8.kvo的原理。三种调用方式_property, self.property, kvc的形式,哪些会触发kvo
9.oc的消息转发机制
10.优先级反转
11.CALayer的三个树,然后渲染树是什么,CALayer是几维坐标
12.离屏渲染是什么,怎么避免?

算法题
数组往左移动k位  难度: easy
例: 1,2,3,4   k = 2 ———> 3, 4, 1, 2
给出空间O(n)事件O(n)解法
有没有空间复杂度O(1)的解法?

滴滴二面 2023-3-9  20:25 45min左右

1.自我介绍,问简历内容
2.Autoreleasepool   我说:MRC下用的多,ARC下之前没用过
3.block中局部变量修改这个点,__block关键字
4.weak和assign区别
5.自己设计检测性能

算法题
一个数组中的最大字数组和  leetcode mid
全部评论
一面的第四个问题请问怎么回答呢?
点赞 回复 分享
发布于 2023-05-12 19:32 广东
一共几次面试
点赞 回复 分享
发布于 2023-05-11 17:48 陕西
有后续了吗
点赞 回复 分享
发布于 2023-05-11 16:54 湖南

相关推荐

03-15 20:26
已编辑
电子科技大学 Java
T3题面:给一个3e5数组,每次询问长度为len的子数组乘积的和,如果子数组乘积>1e9,则视为0.赛后一分钟想出来了,比赛时打了个暴力+线段树注意到1e9大约是2^30, 因此len长度如果>30就直接输出0,30以内做一个记忆化就行,复杂度O(30*n)感觉是以前比赛做过的题,忘了怎么做了。。。---upd: 忘了数据范围了,如果有0,1的话那这样也不行
blueswiller:给出一个做法,刚刚才想到,应该没问题,时间复杂度为 O(max(30n, nlogn)): 1. 根据 0 切分数组。2. 现在问题转化为>=1 的情况,我们首先维护每一个数前一个 > 1 的数的位置,同时维护一个长度的差分数组,初始值全为 0。3. 我们从每一个数 i 开始向前跳,至多跳 30 次,维护这个过程中的乘积,于是得到 30 个区间加和。举例:假设从 j1 跳到 j2 ,相当于对查询长度 (i- j1 + 1) 至 (i - j2) 贡献 a_i * ... * a_j1。4. 对于所有区间加和,我们采用差分数组结合树状数组对其进行维护,由于长度至多为 n ,树状数组构建的复杂度为 O(nlogn),于是,构建阶段的复杂度为 O(max(30n, nlogn))。在线单次查询的复杂度为树状数组查询的复杂度 O(logn)。
投递淘天集团等公司10个岗位 > 笔试
点赞 评论 收藏
分享
03-30 19:21
已编辑
上海东海职业技术学院 Java
时间线:2025.3.17 BOSS内推投递2025.3.18 电话约面2025.3.21 一面 下午三点半面完 五点半收到笔试取消邮件 凉自我介绍大模型:        研究生科研方向        大模型了解吗?        大模型的应用场景有过了解吗?        假如我现在有一个特定的场景,想对其增强,可以采用哪些手段呢?比如说我现在有一个答疑的agent,我怎么去对这个agent进行增强?(当时不懂,这里应该是像往RAG那边引导)项目:    点评+外卖        简单介绍一下点评这个项目,主要是干什么的        这个项目是你从0到1自己实现的吗?        有尝试把这个服务部署到云上吗?        是个单体服务还是微服务?        单体服务为什么要引入redis?换个方式问,你的项目中哪些场景应用了redis?        其实我是想问你作为一个单体服务,为什么不能在内存里面使用比如像有些caffeine或者是最简单的给一个map在jvm的内存里面实现?为什么要用redis?        有考虑过怎么把你的单体服务改造成微服务吗?        简单讲一下你的短信登陆怎么实现?        HTTP请求携带token是把token保存在HTTP的哪个部分?        我看你下一个项目鉴权和认证使用的JWT,什么场景下使用JWT,什么场景使用传统的token?或者换个话题问,JWT和传统的token的区别在哪里?        JWT的token在服务端是有保存的吗?        那你当时技术选型是怎么考虑的?为什么要使用JWT?        怎么实现用户的登出的操作?        JWT是在哪里删除?        JWT如何实现令牌的过期?        令牌过期的校验放在哪里?        为什么要把用户的信息放在Threadlocal里面?        你在实现整个鉴权和认证的过程中有用过一些比如像Springsecurity这些相关的框架吗?        那你整个认证过程是你自己实现的吗?        那你觉得整个认证的流程里面有困难有亮点的地方是哪里?        你提到你解决了一个缓存穿透的问题,你能详细的描述一下你怎么解决的吗?        还有就是你解决了一个缓存穿透的问题,你能详细的描述一下你怎么解决的吗?        抛开redisson,使用redis实现一个分布式锁,常规的我们应该怎么实现?        Redis里面用了很多非常精妙的数据结构,你能介绍一下吗?举例一个最感兴趣的或者觉得他设计的最好的一个?        你整个项目实现中数据库是用的是Mysql对吧?        Mysql是一个事务型的数据库对吧?        事务的四个特性是什么?        这四个特性分别有什么含义?        我看你实现了一个点赞排行榜的一个功能,那这个点赞排行榜的数据要写入数据库吗?        Redis是基于内存的一个数据库,假如我Redis集群宕机了,宕机了之后我需要把Redis重新拉起来,拉起来之后这份Zset的数据也就是点赞排行榜的数据是不是也就没有了?        你知道Redis怎么做持久化吗?        使用RDB或者AOF把Redis存的数据持久化下来会有问题吗?如果Redis宕机了再拉起来,我去读这个数据会有问题吗?        简单想个方案解决Redis宕机之后重新拉起来不是最新的数据这个问题        websocket是全双工还是半双工通信?        websocket是否有类似https的机制来保证安全性?        举两个适合使用websocket的场景        项目里面websocket怎么使用的?        我看你是使用了注解加AOP实现了公共字段的赋值,为什么要使用这个方式实现公共字段的赋值?        为什么这种更新的操作不在mybatis的xml文件使用now这个函数实现而是要通过AOP这种方式实现?还有没有什么更好的方法?        AOP会面临失效的问题,什么时候AOP会失效?        怎么保证缓存和数据库的数据一致性?        我看你第一个项目(点评)是前后端分离的项目,你有考虑过前端怎么去部署吗?        你能简单介绍下什么叫前后端分离吗?这个分离具体分离的什么?        在前后端分离提出之前我们项目是怎样部署的?手撕:        实现一个简单的哈希表,实现三个方法get、put、remove,实现的时候怎么简单怎么来,不用考虑扩容机制。由于写不出,又接着问了点八股。        对基本类型和包装类型有了解吗?        为什么要引用包装类型?        装箱和拆箱是什么?        如果有一个Integer是null,对其拆箱会出现什么?        新建线程的方式?        什么情况下会发生线程的上下文切换?        讲一下什么情况下会发生死锁,遇到死锁该怎么解决?        产生死锁的必要条件介绍一下?轻松问答:              对以后的工作岗位有什么期待吗?        做网上的项目有什么体会吗?最长知识的部分在哪里?        有对技术栈进行系统性的学习吗?        学习java期间有没有对java的一些方法论进行探讨?我要写好一个java程序需要怎么去做?反问面试官很温柔,提问会有引导,回答不出来还会谈他的看法,还给了一些学习建议,面试体验非常好。第一次面,自己太菜了,回去接着沉淀了,非常感谢能够给面试机会(跪#牛客AI配图神器##面试##暑期实习##后端开发##Java##淘天#
点赞 评论 收藏
分享
今日:手撕+力扣投递拼多多笔试
投递拼多多集团-PDD等公司10个岗位 >
点赞 评论 收藏
分享
评论
3
28
分享

创作者周榜

更多
牛客网
牛客企业服务