面试题 -- 客户端安全性和框架设计

这篇具有很好参考价值的文章主要介绍了面试题 -- 客户端安全性和框架设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 客户端安全性处理方式

1) 网络数据传输(敏感数据[账号\密码\消费数据\银行卡账号],不能明文发送)
2) 协议的问题(自定义协议)
2) 本地文件存储(游戏的存档)
3) 源代码(混淆)

2. sip是什么?

1) SIP(Session Initiation Protocol),会话发起协议
2) SIP 是建立VOIP连接的IETF标准,IETF是全球互联网最具权威的技术标准化组织
3) 所谓VOIP,就是网络电话,直接用互联网打电话,不用耗手机话费

3. 有些图片加载的比较慢怎么处理?你是怎么优化程序的性能的?

1) 图片下载放在异步线程
2) 图片下载过程中使用占位图片
3) 如果图片较大,可以考虑多线程断点下载

4. 实现过一个框架或者库以供别人使用么?

如果有,请谈谈构建框架或者库的时候的经验;如果没有,请设想和设计框架的public 的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易使用你的框架
1) 提供给外界的接口功能是否实用,够用
2) 别人使用我的框架时,能不能根据类名、方法名就猜出接口的具体作用
3) 别人调用接口时,提供的参数是否够用、调用起来是否简单
4) 别人使用我的框架时,要不要再导入依赖其它的框架

5. App需要加载超大量的数据,给服务器发送请求,但是服务器卡住了如何解决?

1) 设置请求超时
2) 给用户提示请求超时
3)根据用户操作再次请求

6. 利用NSNotifationCenter实现跨多控制器传输数据和消息中用同步还是异步

如果在异步现场发的通知,那么可以执行比较耗时的操作
如果在主线程发的通知,那么就不可以执行比较耗时的操作

let name = NSNotification.Name("abc")
        NotificationCenter.default.addObserver(self, selector: #selector(test), name: name, object: nil)
        
        DispatchQueue.global().async {
            print("----\(Thread.current)")
            NotificationCenter.default.post(name: name, object: nil)
        }
        
        @objc func test() {
        print("----\(Thread.current)")
    }

7. 地图导航不能用了怎么办?

提示用户打开导航定位功能

8. SDWebImage具体如何实现

1) 利用NSOperationQueue 和 NSOperation 下载图片, 还使用了GCD的一些函数(解码GIF图片)
2) 利用URL 作为 Key, NSOperation作为Value,缓存下载
3) 利用URL 作为key,UIImage 作为Value,保存图片到本地

9. runloop定时源和输入源

1) 你创建的程序不需要显示的创建run loop,每个线程,包括主线程(main thread)都有与之相应的run loop对象,主线程会自行创建并运行run loop。
2) Run loop处理的输入事件有两种不同的来源:输入源(input source)和定时源(timer source)
3)输入源传递异步消息,通常来自于其它线程或者程序,定时源则传递同步消息,在特定时间或者一定的时间间隔发生。
面试题 -- 客户端安全性和框架设计,面试题,ios

10. 即时通讯中的大数据处理

使用put 上传到文件服务器,然后发带url的自定义格式的给对方,对方接收到之后下载

11. 如果在网络处理过程中发现一处比较卡,怎么结局

1) 检查网络请求操作是否放到主线程了
2) 看看异步请求的数据是否太多了(子线程数量)
3) 数据量是否太大了?如果太大,先可以清除一下不必要的对象(看不见的数据、图片)
4) 手机CPU使用率和内存问题

12. 怎么介绍一个项目

1)项目的价值(可以加些“老板”关键字)
2)项目的模块
3)我做的是哪个模块

13. 怎么解决sqlite锁定的问题?

1) 设置数据库锁定的处理函数
int sqlite3_busy_handler(sqlite3*,int()(void ,int),void);
2) 设的锁定时的等待时间
int sqlite3_busy_timeout(sqlite3
, 60);文章来源地址https://www.toymoban.com/news/detail-610471.html

到了这里,关于面试题 -- 客户端安全性和框架设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity客户端开源框架

    链接:https://github.com/yomunsam/TinaX/tree/master TinaX 主要实现了以下功能: Lua 语言支持 出于普遍的热更新需求,TinaX原生提供了基于 Tencent/xlua 的Lua语言运行环境,并为主要功能提供了Lua层面的API支持。 如果不需要Lua环境的话,也可以在项目中将Lua相关功能完全关闭,不会影响包

    2024年01月16日
    浏览(69)
  • 手机银行客户端框架之TMF框架介绍

    腾讯移动开发平台(Tencent Mobile Framework)整合了腾讯在移动产品中开发、测试、发布和运营的技术能力,为企业提供一站式、覆盖全生命周期的移动端技术平台。核心服务包括移动客户端开发组件、H5容器、灰度发布、热更新、离线包、网关服务、消息推送、数据同步、移动

    2024年04月17日
    浏览(43)
  • WebRTC | 音视频直播客户端框架

            端到端通信互动技术可分解为以下几个技术难点:客户端技术、服务器技术、全球设备网络适配技术和通信互动质量监控与展示技术。         音视频直播可分成两条技术路线:一条是以音视频会议为代表的实时互动直播;另一条是以娱乐直播为代表的流媒体

    2024年02月14日
    浏览(46)
  • 因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端

    docs/Client.md · master · mirrors / Textalk / websocket-php · GitCode

    2024年02月13日
    浏览(59)
  • Java 网络编程 —— 客户端协议处理框架

    Java 对客户程序的通信过程进行了抽象,提供了通用的协议处理框架,该框架封装了 Socket,主要包括以下类: URL 类:统一资源定位符,表示客户程序要访问的远程资源 URLConnection 类:表示客户程序与远程服务器的连接,客户程序可以从 URLConnection 获得数据输入流和输出流

    2024年02月07日
    浏览(44)
  • Forest声明式HTTP客户端框架漫谈

    Forest 是一款声明式的 Java 开源 HTTP 框架,相比它的前辈 Httpclient 和 OkHttp 更简明易懂、也更容易维护,使用过程中非常丝滑故想分享给更多的朋友,此处我们进行简单的介绍和使用说明。 Forest为声明式HTTP客户端框架。将繁复的 HTTP 请求细节封装成 Java 接口 + 注解的形式,不

    2024年02月09日
    浏览(47)
  • 客户端脚本安全

    a.了解web安全测试的基本知识 b.掌握前端的脚本安全知识,了解基本的前端安全测试条目,如同源策略、xss攻击测试、CSRF测试、点击劫持测试 c.webinsepct nessus 绿盟扫描 数据流 输入输出 同源策略 同源策略 是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本

    2024年02月04日
    浏览(46)
  • 面试官问我:线程锁导致的kafka客户端超时,如何解决?

    本文分享自华为云社区《线程锁导致的kafka客户端超时问题》,作者: 张俭 。 有一个环境的kafka client发送数据有部分超时,拓扑图也非常简单 我们先对客户端的环境及JVM情况进行了排查,从JVM所在的虚拟机到kafka server的网络正常,垃圾回收(GC)时间也在预期范围内,没有

    2024年02月03日
    浏览(45)
  • 前端解决客户端不安全随机数

    前端项目在安全漏洞扫描的时候,爆出了客户端不安全随机数的问题,看了下代码是因为使用了 Math.random() 生成随机数造成的。 百度了一下,math.random()并不是真的随机数,而是伪随机数! 原因 Math.random() 函数是 JavaScript 内置的一个函数,它用于生成一个 0 到 1(包括0,不包括

    2024年02月16日
    浏览(44)
  • Android安全——客户端安全要点,android开发基础视频教程

    filter.addAction(“MY_ACTION”); localBroadcastManager.registerReceiver(myReceiver, filter); 发送本地广播 Bundle bundle = new Bundle(); bundle.putParcelable(“DATA”, content); Intent intent = new Intent(); intent.setAction(“MY_ACTION”); intent.putExtras(bundle); LocalBroadcastManager.getInstance(context).sendBroadcast(intent); 在Activity销毁时

    2024年04月17日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包