金三银四,2018最新iOS面试题,由它可以搞定面试官?



序言

这些资料,你一定会用到!我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行。

在分享这篇面试文章的小编先分享自己建的一个“iOS程序员开发者的群”“638302184”每天都会有开发者分享案例一起探讨工作中的问题,群里还会分享阿里面试题及各大BAT面试题,你不会的有人解答。我不会的请伸手帮助一下。

先提供一些面试公司核心岗位必备面试题一波,请注意!

1、客户端在数据安全方面会使用那些常用加密算法?

2、如何灵活结合不同加密算法实现数据安全交互?

3、数字签名原理是什么?

4、https协议原理是什么?

OC项目里怎么混编入Swift文件?

不管是混编还是用RN、Weex之类的混合开发模式都建议从小模块与主业务不太相关或耦合性,改动性影响度不大的地方入手。

这里我就说OC项目里混编Swift的做法吧,毕竟这个要实用一点Swift混编OC的暂不考虑,如果用了Swift写项目了,应该坚持全用Swift不应该来混编OC,当然一些三方倒是可以的。

[if !supportLists]一、 [endif]当我们创建一个Swift文件时,会自动有个创建桥接文件的提示,创建就行。

二、OC怎么访问Swift类。

Swift类放在一个 : 工程名-Swift.h的文件里,这个文件是自动生成的,不用手动创建,想在哪里访问Swift类就在哪里导入即可,当然暴力的做法是将这个文件导入到OC的pch文件里。

三、Swift怎么访问OC类。

把Swift想要访问到的类放在第一步创建Swfit自动生成的桥接文件里就行。

以上只是基于之前混编时的经验来说,更加详细的请参阅苹果官方文档说明

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

1.谈谈 tableview 的重用机制。

为什么要“重用”?iPhone 重用机制是为了实现大量数据显示而采用的一种节省内存的机制。如果一个 tableview 有几百个 cell,这个内存消耗无疑是很恐怖的。再加上 cell 中还有 image 之类的资源。很容易出现 memory warning 甚至 crash !!!

重用代码

static NSString *CellTableIdentifier = @"cell ";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CellTableIdentifier];if (cell == nil) {cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellTableIdentifier];}

关键函数

(__kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;

文档说明如下:

Returns a reusable table-view cell object for the specified reuse identifier and adds it to the table.

它返回的是一个受 identifier 管理定位的可重用的 tableViewCell。

那么它是如何重用的?

举例:假设系统启动的时候,tableView 可以显示 7 个 tableViewCell ,并且都有 tag 值,是 0 - 6。咱们把 tableView 向上滑动,那么 tag 为 0 的 Cell 将会移动到 tag 为 6 的 Cell 下面。重新设置属性。为 1 的 Cell 会移动到 0 的 Cell 下面。。。 这就是 “可重用”。

但是有的同学会问了:经常会有 cell 重叠的情况发生, 这个很容易理解,因为 Cell 滑出界面并被放入重用队列时, cell 中的内容不会消失,可以通过下面代码解决。

(void)layoutSubviews {[super layoutSubviews];/这里面对属性的值进行更改/ }



作者:原来是泽镜啊

链接:https://www.jianshu.com/p/b721a2e4b7aa

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


0