首页 文章 精选 留言 我的

精选列表

搜索[导航菜单],共10000篇文章
优秀的个人博客,低调大师

备战九十,iOS面试题菜单,持续更新(题目及答案已上传Github)

Objective_C语言特性 (戳这里跳转到Github) 分类 扩展 代理(Delegate) 通知(NSNotification) KVO (Key-value observing) KVC(Key-value coding) 属性关键字 runloop (戳这里跳转到Github) RunLoop概念 RunLoop的数据结构 RunLoop的Mode RunLoop的实现机制 RunLoop与NSTimer RunLoop和线程 讲一下 Observer ? autoreleasePool 在何时被释放? 解释一下 事件响应 的过程? 解释一下 手势识别 的过程? 解释一下 GCD 在 Runloop 中的使用? 解释一下 NSTimer。 AFNetworking 中如何运用 Runloop? PerformSelector 的实现原理? 利用 runloop 解释一下页面的渲染的过程? 如何使用 Runloop 实现一个常驻线程?这种线程一般有什么作用? 为什么 NSTimer 有时候不好使? PerformSelector:afterDelay:这个方法在子线程中是否起作用?为什么?怎么解决? 什么是异步绘制? 分类和类拓展的区别? runtime (戳这里跳转到Github) objc在向一个对象发送消息时,发生了什么? objc中向一个nil对象发送消息将会发生什么? objc中向一个对象发送消息[obj foo]和objc_msgSend()函数之间有什么关系? 什么时候会报unrecognized selector的异常? 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么? 给类添加一个属性后,在类结构体里哪些元素会发生变化? 一个objc对象的isa的指针指向什么?有什么作用? [self class] 与 [super class] runtime如何通过selector找到对应的IMP地址? _objc_msgForward函数是做什么的,直接调用它将会发生什么? runtime如何实现weak变量的自动置nil?知道SideTable吗? isKindOfClass 与 isMemberOfClass 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么? 什么是method swizzling(俗称黑魔法) Compile Error / Runtime Crash / NSLog…? 实例对象的数据结构? 类对象的数据结构? 元类对象的数据结构? Category 的实现原理? 如何给 Category 添加属性?关联对象以什么形式进行存储? Category 有哪些用途? Category 和 Extension 有什么区别 说一下 Method Swizzling? 说一下在实际开发中你在什么场景下使用过? 如何实现动态添加方法和属性? 说一下对 isa 指针的理解, 对象的isa 指针指向哪里?isa 指针有哪两种类型? Obj-C 中的类信息存放在哪里? 一个 NSObject 对象占用多少内存空间? 说一下对 class_rw_t 的理解? 说一下对 class_ro_t 的理解? 分类和类拓展的区别? 如何运用 Runtime 字典转模型? 如何运用 Runtime 进行模型的归解档 在 Obj-C 中为什么叫发消息而不叫函数调用? 分类和类拓展的区别? 说一下 Runtime 的方法缓存?存储的形式、数据结构以及查找的过程? 是否了解 Type Encoding? Objective-C 如何实现多重继承? Category 可不可以添加实例对象?为什么? Obj-c对象、类的本质是通过什么数据结构实现的? Category 在编译过后,是在什么时机与原有的类合并到一起的? 代码题(一) 代码题(二) UI相关 (戳这里跳转到Github) UIView与CALayer 事件传递与视图响应链 图像显示原理 UI卡顿掉帧原因 滑动优化方案 UI绘制原理 离屏渲染 Block相关面试题 (戳这里跳转到Github) 什么是Block? Block变量截获 Block的几种形式 多线程 (戳这里跳转到Github) 进程 线程 进程和线程的关系 多进程 多线程 任务 队列 iOS中的多线程 GCD---队列 死锁 GCD任务执行顺序 dispatch_barrier_async dispatch_group_async Dispatch Semaphore 延时函数(dispatch_after) 使用dispatch_once实现单例 NSOperationQueue的优点 NSOperation和NSOperationQueue NSThread+runloop实现常驻线程 自旋锁与互斥锁 内存管理 (戳这里跳转到Github) 内存布局 内存管理方案 MRC(手动引用计数)和ARC(自动引用计数) 循环引用 讲一下 iOS 内存管理的理解 使用自动引用计数应遵循的原则 ARC自动内存管理的原则 访问 __weak 修饰的变量,是否已经被注册在了 @autoreleasePool 中?为什么? ARC 的 retainCount 怎么存储的? 简要说一下 @autoreleasePool 的数据结构? __weak 和 _Unsafe_Unretain 的区别? 为什么已经有了 ARC ,但还是需要 @AutoreleasePool 的存在? __weak 属性修饰的变量,如何实现在变量没有强引用后自动置为 nil ? 说一下对 retain,copy,assign,weak,_Unsafe_Unretain 关键字的理解。 ARC 在编译时做了哪些工作 ARC 在运行时做了哪些工作? 函数返回一个对象时,会对对象 autorelease 么?为什么? 说一下什么是 悬垂指针?什么是 野指针? 内存管理默认的关键字是什么? 内存中的5大区分别是什么? 是否了解 深拷贝 和 浅拷贝 的概念,集合类深拷贝如何实现 BAD_ACCESS 在什么情况下出现? 讲一下 @dynamic 关键字? autoReleasePool 什么时候释放? retain、release 的实现机制? 能不能简述一下 Dealloc 的实现机制 在 MRC 下如何重写属性的 Setter 和 Getter? 在 Obj-C 中,如何检测内存泄漏?你知道哪些方式? 算法面试题 (戳这里跳转到Github) 不用中间变量,用两种方法交换A和B的值 求最大公约数 模拟栈操作 排序算法 折半查找(二分查找) 集合结构 线性结构 树形结构 图形结构 数据结构的存储 单向链表双向链表循环链表 二叉树/平衡二叉树 过河经典问题,超详细解析 字符串反转 有序数组合并 HASH算法 查找两个子视图的共同父视图 求无序数组中的中位数 网络相关 (戳这里跳转到Github) 请求报文和响应报文 HTTP的请求方式 HTTP的特点 HTTPS和HTTP的区别 HTTPS的连接建立流程 对称加密和非对称加密 分别用C语言、python、GCDAsyncUdpSocket来实现UDP通信 利用python实现Udp通信demo iOS端基于UDP的简易聊天demo UDP的特点 UDP的报文结构 UDP差错检测 TCP的特点和报文结构 三次握手 四次挥手 可靠数据传输 流量控制 拥塞控制 DNS DNS服务器 DNS解析过程 DNS记录和报文 DNS解析安全问题 Cookie Session Cookie 和Session 的区别: 网络层和传输层的区别 IP协议 IP数据报分片 IPv4编址 IPv6数据报格式 从IPv4到IPv6的迁移 性能优化 (戳这里跳转到Github) 基本概念 怎么检测离屏渲染: 怎么检测图层混合: 光栅化 入门级 中级 高级 如何提升 tableview 的流畅度? 如何有效降低 APP 包的大小? 日常如何检查内存泄露? 什么是 离屏渲染?什么情况下会触发?该如何应对? 如何高性能的画一个圆角? 如何优化 APP 的电量? Animation (戳这里跳转到Github) 简要说一下常用的动画库。 请说一下对 CALayer 的认识 CALayer 的 Contents 有几下几个主要的属性 设计模式 (戳这里跳转到Github) 编程中的六大设计原则? 如何设计一个图片缓存框架? 如何设计一个时长统计框架? 如何实现 App 换肤(夜间模式)? 数据安全及加密 (戳这里跳转到Github) 简述 SSL 加密的过程用了哪些加密方法,为何这么作? RSA非对称加密 75道程序员逻辑思维面试题(戳这里跳转到Github) 持续更新中,记得收藏关注哦!..... 更新时间:2019年6月26号(添加网络相关面试题)更新时间:2019年6月27号(完善网络相关面试题)更新时间:2019年6月29号15:09(添加内存管理方面面试题)更新时间:2019年6月29号16:10(添加Runtime相关面试题)更新时间:2019年6月29号16:29(添加Runloop相关面试题)更新时间:2019年7月1号13:45(添加性能优化相关面试题)更新时间:2019年7月2号20:42(添加设计模式相关面试题)更新时间:2019年7月2号20:57(添加数据安全及加密相关面试题) 更多面试题和学习书籍文档,可以添加QQ群:551346706 !已经上传群文件和百度网盘,加群自己下载即可!

优秀的个人博客,低调大师

车联网也需要“走对路”,用户需求“导航”小度车载OS持续领先

车联网在无人驾驶浪潮下越来越成为新科技热门领域,百度小度车载OS、阿里斑马智行、腾讯“AI in Car”等大佬级产品纷纷入局,车载OS的竞争也越来越激烈。 这其中,在无人驾驶上最为积极的百度动作频频,其小度车载OS在今年7月发布以来不断迭代,此次11月1日百度世界大会上又宣布进行了“全新升级”。 在AI这个赛道上,由于某种默认的、且被中央部委定位过的分工,百度通过Apollo等占据了无人驾驶“超级席位”,但车联网却并未“划界”,围绕车联网的竞争,在包括BAT在内的互联网科技大佬的加入过程中,逐渐白热化。 目前来看,随着奇瑞、现代、起亚等合作伙伴推出车联网产品,小度车载OS已经成为业内最快落地的平台,而从行业角度审视百度的种种做法,小度的领先可能并不意外。 车联网首先要具备这两大基础能力 车联网并不是一个全新的技术领域,某种程度上它是过去的技术和资源在汽车场景的全新应用,因此,像小度车载OS这类产品,谁能领先,首先看的无非是背后平台的“基础能力”。 技术:四大新潮技术必须齐备 很少有技术领域像车联网一样,对几乎所有的新技术有种完备而苛刻的要求,它需要人工智能来支持智能化的人车交互,需要云计算来保障智能车载系统的快速反应,需要大数据支撑各种智能化的准确性,需要物联网(以及5G)技术解决人车交互、车车交互、云车交互等交互和协作问题。 而这些,恰恰是“技术派”立身的百度最大的优势所在,以“AI”作为主航道之一的百度已经全面转型技术公司,相比较其他互联网大佬而言,光谈技术层面,百度不论在AI、大数据、云计算还是物联网方面,都处于公认的行业领先位置。 有时候,与其说百度在车联网上做得挺好,倒不如说车联网本就是一个需要技术的领域,刚好与百度的属性匹配上了。 生态:车联网不是“技术威权”游戏 车联网是高技术领域比较特殊的存在,不同于一些技术解决方案完全以某个技术核心大佬为主导(即便是广义的物联网,也存在着一个核心技术力量,其他都是参与者),车联网的实施和落地,十分依赖合作伙伴的支持,技术与合作方的地位是完全对等的。 没有汽车厂商支持的车联网只能是自我陶醉。某种程度上,积累了多少可以深度合作的伙伴,车联网就能发展到什么程度。 由于地位的对等,车企对合作的需求据不仅仅满足于配角角色,越开放的生态越容易得到它们的认可。这方面,客观地说,百度、腾讯相比较阿里,其合作模式更加open和平等一些,尤其是百度通过Apollo等技术平台已经在汽车领域积累了较多的合作伙伴,有131家合作伙伴都已经选择加入Apollo,这对其车联网发展十分有利。 这倒不是说开放的生态一定就比控制式的合作玩法更加“高尚”,只是它可能更符合现实和利益的需要。 从现实结果看,阿里的斑马智行在折腾1年多后,于云栖大会宣布股权、业务、技术、生态等动作,尚处于整装待发期;腾讯与长安汽车还刚刚一起组建“梧桐”公司;而百度小度除了已经拥了奇瑞、现代、起亚等首批项目落地车企合作伙伴,还推出了行业首次量产落地车型“奇瑞EXEED”。 在技术、生态的某种先天优势下,百度车联网在国内算得上做得最好、落地速度最快,但是,真正让百度车联网事业部总经理苏坦在百度世界大会自信满满的,还不仅于此,可能还包括小度车载OS已经玩出了一些不太一样的花样。 车载OS有“套路” 汽车作为工业产品已经十分成熟,与汽车“搭伙”做车联网,只要遵循这个时代普通人对汽车的一些新需求、新看法,车载OS就能找对自己的路。 由于目前市场上只有小度车载OS有了具体的落地车型,这里我们就以其为案例解构,就知道虽然车联网技术“先进”,但套路却很“普通”。 理念上:不定义汽车 开车开得好好的,为什么人们会选择车联网,为什么车企都盯上了车联网,说来说去还是因为大众想要改变车子生来就被定义的现实。 过去,汽车生产出来,在往后的几年甚至十几年的功能都被定义,用户在购买时已经替自己的未来很长一段时间做出了抉择,这本质上已经不符合当下普通人对多数产品的选择习惯,毕竟用户面对的变化越来越多、越来越快。 事实上,汽车已经越来越从耐用消费品到快消品转变,人们换车的时间在大幅度缩短。车联网正是在这样的背景下诞生,让汽车由“硬件定义”走向“软件定义”,如同瞬息万变的互联网时代的多数产品一样,车辆不被定义,可以适时而动。 在奇瑞EXEED案例中,小度车载OS给该款车型赋能了8个能力,包括:语音语义、AI图像、主动交互、智能化电器控制、个性化硬件/软件、地图服务、(有声)内容服务、支付等,这些东西其实都是用软件在定义汽车,汽车不再是一个研发、设计阶段就定死了的产品,而是有着与时代接轨的充分可能,只要有需要,快速迭代的小度车载OS还能赋予汽车更多属性。 操作上:简单与复杂的取舍 很多人认为,汽车与智能本质上是冲突的,开车这件事最需要的是安全,而安全首要的是驾驶员精力的集中,不能分心,无人驾驶彻底实现前的智能化各种玩法,似乎都存在着额外分心的可能,过去简单的机械操作变得需要关注更多东西。 也即,车联网在操作层面必须实现简单与复杂的某种取舍,既能够保证驾车本身的安全舒畅(而不是增加额外关注负担),也要尽可能实现智能体验。 小度车载OS的做法,就是“用最简单的方式实现最复杂的需求”。例如,本次百度世界大会,小度在液晶仪表盘组件、大屏智能车机组件、车载机器人组件、流媒体智能后视镜组件这四大组件的基础上,升级新增了AR-HUD智能挡风玻璃组件,该组件通过前挡风玻璃上的AR显示,实现了车道线贴合、偏离预警、车辆识别等功能,呈现上却不遮挡视线保证了安全。 应用上:从现实场景思考新技术应用 AI的应用已经是个说烂了的话题,但车联网与AI应用的结合,还必须从驾驶这件事本身角度布置AI技术应用。 不论是平台企业,还是车企,最应该想象的都是在“此时此景”下,用户/车主能用AI做点什么事,而不是一股脑把AI技术全部倾倒上去。 在小度的案例中,其AI应用就侧重行车途中可能的互动需求,例如,通过接入AI能力,车内人员可以问询“小度,今天有什么重要事提醒”,回答或是“有,今天是信用卡还款日,来自招商银行信用卡小程序”,问询“附近有什么大孩子玩的地方”,回答或是“附近有朝阳公园、富国海底世界,……打开第几个?”(由小程序支持)。 车联网也是需要讲应用的,如果技术无法吸引用户使用,说再多都没用。 车联网平台还有三个抉择 抛开上文的技术实操,从各平台竞争优胜的角度看,车联网的玩法还需要面对三个抉择,不同的选择可能通向不同的结果。 是做“外挂式组装机”还是做“内嵌式一体机” 正如奇点汽车创始人兼CEO 沈海寅所言,“上汽跟阿里合作,斑马系统某种程度来讲是一个外挂……我的车可以不带这套系统,也可以带这套系统……不带系统就叫做非互联网版本,带了这套系统它是互联网版本。” 斑马智行的玩法,其实类似于系统与硬件分开的“外挂式组装机”,少了斑马或多了斑马不影响车辆主体的体验,既改变不了车辆被定义的现实,也无法实现在增加智能的情况下不增加操作复杂度。 小度的玩法与此相反,更像是“内嵌式一体机”,智能化是被深度植入到车里去的,就如同大脑与神经连接,而不是外接了一台计算机。把特斯拉的智能系统去掉,就不叫特斯拉了,同样的,把小度去掉,EXEED也不能叫做EXEED了。 斑马的玩法,好处在于可以搭载到几乎所有的产品上,部署容易可把摊子做大,但一体化、定制化的深度智能化体验应当更适合未来车联网的需求,就如同智能手机的操作系统不能像PC一样安装即可,还需要深度定制一样。“内嵌式”或更符合车联网的现实价值。 是做娱乐化工具还是做第三空间 做车联网的车载OS有一个公认的误区:把智能化、车联网当作一种“功能的丰富”,就如同高档小车的内饰变得更多、更精致一样。其本质,是到底把车联网当作“智能化的、娱乐化的工具”,还是把它当作实现额外空间价值的载体。 无人驾驶的最终目的,并不只在于人可以松开方向盘,而在于它能将汽车“第三空间”的价值进一步发挥。现代人在家和写字楼之间对汽车作为私密空间的需求多样性越来越强,自动驾驶意味着第三空间得到彻底放开,这是自动驾驶的深度需求。 小度在车载OS上接入智能小程序的做法,其目的,或就在把汽车当作第三空间打造。作为BAT小程序大战中首个接入车联网的小程序,百度智能小程序+车联网的组合某种程度实现了车内用户开放的需求,一个接口对接小程序生态360行服务,4s店、汽车保养、电影、餐饮服务等,皆可以被满足。 以前,车只是生活的工具,以后车联网和智能化会让车变成一个独立的价值空间。 是做生意还是价值捆绑 做外挂式的车联网,或者仍然把车当作出行工具,从商业角度都是一种“做生意”的玩法,一手交解决方案,一手收钱,车联网平台与合作伙伴是割裂的,各自管各自的利益。而内嵌式的玩法,或者把汽车当作第三空间打造,是在进行价值捆绑,一荣俱荣、一损俱损。 两种玩法不能说哪个更优,在车联网趋势下,前者倾向于在技术和合作伙伴准备不足的情况下先铺摊子占市场,后者则是在基础能力具备的情况下,先深度做成熟案例再进行复制。 不过,即便在这种情况下,百度的小度也领先了一步实现了最快落地。从车联网发展长期而言,用户终将从“尝鲜式体验”(意味着谁都可以分得红利)回归到自己对智能车生活的真实追求,“大生态”最终需要成长为“强生态”,这样的车联网平台才能获得长远的竞争力。这方面百度小度走在了前面,其他平台或仍有追赶空间,最终如何只有待市场检验。 原文发布时间为:2018-11-1 本文作者:曾响铃 本文来自云栖社区合作伙伴“ 科技向令说”,了解相关信息可以关注“ 科技向令说”。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册