顺丰科技IOS客户端-线下一面二面+hr面

一面二面(60min)

自我介绍

TCP的三次握手和四次挥手

答:常规回答。

http和https区别

答:ssl/tls协议,混合加密,数字证书验证,数字签名(同时结合了DNS放劫持来讲解)。

get和post有什么区别,除此还知道哪些请求吗?

答:get是获取资源,post是创造新的资源,还知道put和delete,分别讲了功能。

讲一下Flutter渲染流程和结构

答:Widget Element RenderObject三者关系,结合项目Getx框架和setstate刷新机制的framework层代码和原理以及Engine层的渲染引擎skia2和openGL。

讲Flutter的优点和缺点

答:优点:支持即时编译和预编译,热重载便于编译,独特的垃圾回收机制,独特的内存分配机制以及Isolate单进程的处理任务流程。

缺点:库偏少,需要自己造轮子。

面试官反问Flutter还有别的缺点吗

答:不清楚,但是感觉跟单进程有关。

面试官答:共享状态复杂:在单进程中,多个 Isolate 之间共享状态是困难的。由于每个 Isolate 都有自己的内存空间和执行上下文,共享数据需要通过消息传递或其他机制进行同步。这增加了代码的复杂性,特别是在处理大量共享状态的复杂应用程序中。

内存占用增加:每个 Isolate 都需要一定的内存来维护其执行上下文和数据。当创建大量 Isolate 时,会增加应用程序的内存占用。这可能会对设备的资源消耗产生影响,并且在一些资源受限的环境中可能导致性能问题。(管道并不能解决内存分配问题,只能解决不同isolate之间的通信)

讲一下MVVM MVP MVC的区别

答:结合项目Flutter的Getx框架讲自己对MVVM的理解,简单描述了MVC和MVP。三个模式耦合度的变化。

应用出现卡死状态怎么解决?

答:使用debug模式找出报错地方,增加该地区的widget复用,优化代码,减少内存消耗。

项目的app启动时间有了解吗

答:没有,但是一般只是需要初次登陆需要缓存会比较久。

面试官:顺丰的软件每天的使用量很大,需要对不同的手机机型启动时间进行兼容,有什么解决方案吗

答:没有接触过这方面的问题,但是认为可以通过逻辑实现?

有监听过大量用户的响应时间吗

答:(完全没听懂)没有,然后听面试官给我解释也没听懂。

在项目中token如何使用?

答:对全局的网络请求进行封装,在用户登录时候接收后端返回的token存入文件中,读取文件中中的token将其添加在请求头中。

项目中使用WebSocket实现点赞和用户对话,讲讲怎么使用的。

答:用户对话图片转成进制后存入oss服务器中,文字的话就是简单的json,点赞功能使用websocket监听再利用Getx回调刷新。

怎么优化Flutter性能?

答:多复用已有的Widget,优化图片资源,使用异步的方式加载数据。

面试官反问:看到有使用缓存来存储常用数据,缓存存在什么地方,以什么样的形式存储呢?

答:结合了很多存储缓存的方法,使用getstorage持久化缓存(基于其他插件类似创建本地数据库会影响客户端性能)

面试官反说:这个不怎么影响,反说getstorage是将数据存储在应用文件私有目录中。(这个我确实没弄清楚)

Flutter是如何实现跨平台的功能呢,相比于react native有什么缺点呢?

答:没用过react native,我认为跨平台Flutter实现是基于底层的Flutter vm虚拟机可以实现跨平台(不是很清楚)

面试官反说:Flutter是使用自带的skia图形引擎进行绘制导致无聊iOS还是android两边表现出来的效果是一样的都是跟画画一样画出来的,而RN可以通过js可以更好的和原生进行复用。

介绍部门业务

android是使用RN技术栈,IOS使用oc或者swift进行原生开发,业务分为客户和内部软件,询问意愿。

答:更倾向于iOS原生,面客方面的软件。

面试官反问:为什么认为自己为什么更适合面向客户的软件。

答:之前项目的更多是面向用户不是p2p的形式,个人认为对app外观和性能更有追求,面向客户更有挑战性。

反问环节

问:base在哪个城市

答:深圳南山区

问:如果入职会优先分配去哪个部门

答:看统一入职后的安排,反问我的是否愿意接受学习RN,OC,Swift

答:愿意的,更倾向于oc,swift。

问:您认为跨端开发对iOS开发产生了什么样的影响?

答:跨端毕竟还是存在一部分的局限性,实际的app开发中是需要两者复用的。

全部评论
好像说国庆后发意向
点赞 回复 分享
发布于 2023-09-21 19:07 广东

相关推荐

嵌入式小辣鸡:包装好一点,校内的奖项可以不用写,校内项目经历最后两点写的太差了,详细讲一下内容,名字变一下。只需要写项目实现了什么,自己在其中做了什么就好,查看图片
点赞 评论 收藏
分享
评论
4
5
分享

创作者周榜

更多
牛客网
牛客企业服务