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

news2024/11/15 8:34:20

文章目录

  • 1. 客户端安全性处理方式
  • 2. sip是什么?
  • 3. 有些图片加载的比较慢怎么处理?你是怎么优化程序的性能的?
  • 4. 实现过一个框架或者库以供别人使用么?
  • 5. App需要加载超大量的数据,给服务器发送请求,但是服务器卡住了如何解决?
  • 6. 利用NSNotifationCenter实现跨多控制器传输数据和消息中用同步还是异步
  • 7. 地图导航不能用了怎么办?
  • 8. SDWebImage具体如何实现
  • 9. runloop定时源和输入源
  • 10. 即时通讯中的大数据处理
  • 11. 如果在网络处理过程中发现一处比较卡,怎么结局
  • 12. 怎么介绍一个项目
  • 13. 怎么解决sqlite锁定的问题?

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)输入源传递异步消息,通常来自于其它线程或者程序,定时源则传递同步消息,在特定时间或者一定的时间间隔发生。
在这里插入图片描述

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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/796951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何测试Linux内核

目录 概述 LTP 构建系统 C测试用例 参考资料 Autotest Kmemleak Kmemcheck Linaro LAVA 调试器 GDB KGDB 设备驱动测试 资料获取方法 概述 在本文中,我们将讨论用于测试Linux内核的各种框架和工具。首先,我们将介绍LTP( Linux Test Proje…

Ribbon 启用规则,SelectionCountRule规则在Classic界面下不生效,只有在UCI界面下才生效

Ribbon 启用规则,SelectionCountRule规则在Classic界面下不生效,只有在UCI界面下才生效。

Python pygame(GUI编程)模块最完整教程(7)

上一篇文章: Python pygame(GUI编程)模块最完整教程(6)_Python-ZZY的博客-CSDN博客 总目录: README.md Python-ZZY/Python-Pygame最完整教程 - Gitee.com 21 OpenGL与Pygame 不会OpenGL的读者可以跳过本章节。 21.1 OpenGL简…

后端一次返回大量数据,前端做分页处理

问题描述&#xff1a;后端接口返回大量数据&#xff0c;没有做分页处理&#xff0c;不支持传参pageNum&#xff0c;pageSize 本文为转载文章&#xff0c;原文章&#xff1a;后端一次返回大量数据&#xff0c;前端做分页处理 1.template中 分页 <el-paginationsize-chang…

局域网内主机ping不通,但是可以调用对方http接口(防火墙阻止了icmp协议)(关闭防火墙或者启用ICMP回显请求(ICMPv4-In))

文章目录 背景可能的原因问题排查及解决 背景 局域网内有一台主机&#xff0c;ping它ping不通&#xff0c;但是可以调用它的http接口&#xff0c;很诡异。。。 可能的原因 可能的原因有以下几种&#xff1a; 防火墙设置&#xff1a;局域网内的主机可能设置了防火墙&#xff…

【Unity3D日常开发】Unity3D中Package Manager加载不出来插件包或者加载出来后无法Install的问题

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 今天在新电脑上打开Unity3D的Package Manager&#xff08;包管…

<MyBatis>前台传参多个条件查询方式(传数组或者拼接字符串)

方式一&#xff1a;前台传参为数组&#xff0c;后台SQ查询案例&#xff1a; 一般为多选场景&#xff1a;查询&#xff1b; 举例如下&#xff1a; 传值&#xff1a;“status” : [“保存”,“关闭”], 不传值&#xff1a;“status”: [], 传给后台&#xff1a; 控制层&#xff1…

清洁力好的洗地机有哪些品牌、清洁力好的洗地机盘点

清洁力好的清洁工具有很多&#xff0c;但是想要清洁力好的并且又省心省力&#xff0c;快捷高效的洗地机可以说是榜上有名&#xff01;在清洁的时候&#xff0c;洗地机的作用相比传统清洁工具使用更加的便捷&#xff0c;并且清洁力不比传统清洁工具差&#xff0c;同时还衍生了更…

八、seata使用及源码分析

一、数据库事务ACID特性 基础概念&#xff1a;事务ACID A&#xff08;Atomic&#xff09;&#xff1a;原子性&#xff0c;构成事务的所有操作&#xff0c;要么都执行完成&#xff0c;要么全部不执行&#xff0c;不可能出现部分成功部分失 败的情况。C&#xff08;Consistency…

【雕爷学编程】Arduino动手做(93)--- 0.96寸OLED液晶屏模块17

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

使用Java IO进行压缩和解压缩 | ZIP和GZIP的实现

文章目录 一、概述二、ZIP2.1 ZIP格式介绍2.2 Java IO中的ZIP库和类介绍2.3 ZIP压缩文件2.4 ZIP解压缩文件 三、GZIP3.1 GZIP格式介绍3.2 Java IO中的GZIP库和类介绍3.3 GZIP压缩文件3.4 GZIP解压缩文件 四、压缩和解压缩的注意事项4.1 选择合适的压缩格式和方法4.2 处理大文件…

山西电力市场日前价格预测【2023-07-28】

日前价格预测 预测明日&#xff08;2023-07-28&#xff09;山西电力市场全天平均日前电价为349.59元/MWh。其中&#xff0c;最高日前电价为378.84元/MWh&#xff0c;预计出现在20: 15。最低日前电价为321.82元/MWh&#xff0c;预计出现在13: 15。 价差方向预测 1&#xff1a;实…

【Ajax】笔记-jsonp实现原理

JSONP JSONP是什么 JSONP(JSON With Padding),是一个非官方的跨域解决方案&#xff0c;纯粹凭借程序员的聪明才智开发出来的&#xff0c;只支持get请求。JSONP 怎么工作的&#xff1f; 在网页有一些标签天生具有跨域能力&#xff0c;比如&#xff1a;img link iframe script. …

为什么说RL 是强化学习的技巧?

一、说明 深度学习&#xff08;DL&#xff09;很难训练&#xff0c;强化学习&#xff08;RL&#xff09;要更难。在早期开发中&#xff0c;遵循与 DL 相同的策略&#xff1a;保持简单&#xff01;消除任何妨碍您的花里胡哨的东西&#xff0c;并将不确定性降至最低。 具体到RL&a…

利用spss进行因子筛选相关性分析

因变量放在前面&#xff0c;其他的变量全部导入即可 点击确定得到结果 两个星**表示相关性显著&#xff0c;*一颗星次之&#xff0c;一般我们选择两个星的变量&#xff0c;进行后续的建模

新能源电动汽车交流充电桩控制主板的配置

新能源电动汽车充电桩控制主板的配置 你是否曾经遇到过充电桩无法兼容你的电动车&#xff0c;或者充电速度慢如蜗牛?原来是充电桩主板的配置问题! 充电桩主板是充电桩控制系统的核心&#xff0c;它的配置决定了充电桩的性能和兼容性。 首先&#xff0c;处理器是充电桩主板的核…

Selenium+Java环境搭建(测试系列6)

目录 前言&#xff1a; 1.浏览器 1.1下载Chrome浏览器 1.2查看Chrome浏览器版本 1.3下载Chrome浏览器的驱动 2.配置系统环境变量path 3.验证是否成功 4.出现的问题 结束语&#xff1a; 前言&#xff1a; 这节中小编给大家讲解一下有关于Selenium Java环境的搭建&…

关于position:fixed定位的位置不对的问题(即没有按照浏览器的窗口进行定位)

问题&#xff1a; 今天在开发过程中发现元素使用 position: fixed 时位置有问题&#xff0c;位置跟我写的位置对不上&#xff0c;后面在 MDN 上面找到了答案&#xff0c;下面是关于 position: fixed 的描述&#xff1a; fixed&#xff1a; 元素会被移出正常文档流&#xff0c;并…

多组输入字符,每一次都判断这个字符是否为字母

首先多组输入&#xff0c;就要用到循环 然后是输入字符&#xff0c;用函数getchar() 又因为getchar()输入的字符后面有还有一个‘\0’&#xff0c;所以代码的最后还应该单独写一个getchar&#xff08;&#xff09;函数来把\0处理了 代码&#xff1a; int main() {int ch 0;wh…

图表的使用

<template><!-- 外层 --><div><!-- 上面 --><header><!-- 上面item --><div class"fl"><div class"leftimg"><img src"../../assets/orders.png" width"50px" alt /></div&…