iOS开发--面试
今天一大清早去面试, 公司距离我家还挺近的, 花了一个小时走着去, 也顺路印下简历, 理理思路, 到了公司面试官什么的都不错, 还给我讲了很多知识, 收获也是满满的, 总结下今天都遇到了哪些问题, 调整调整状态.
1, 当需要自定义tabbar的item的数量可变时怎么做的
这里原本是想说自定义tabbar的, 不过估计考察的应该是runtime下的class动态创建类方法, 然后就简单的说下runtime, 并不知道回答的是否好, 但是原理是不会错的. 通过和后台的合作在数据中键值对中拿到类名, 然后通过class的方法实例化对象即可(NSClassFromString()).
2, 了解runtime么
并没有和面试官说消息机制什么乱七八糟的, 感觉没多大卵用, 就说了runtime的一些实际应用, 自我感觉还凑合, 毕竟自己在开发中用过几次, 也会动态的设置成员变量(成员变量其实是不可以的, 但是在runtime头文件中的确有方法, 这个涉及到静态的结构体成员变量动态增加, 所以应该并不是通过常规理解的runtime方法实现的)和方法
3, 做过定位么, 如果在后台始终刷新位置
这个我感觉可能面试有点误会我的意思了, 也可能是我的确说错了, 毕竟本人英语很烂, 方法会敲不会说, 不过也做过差不多的, 定位就不用说了, 没啥说的coreLocation或者百度的SDK, 说下如果在程序进入后台后长久的运行代码.
- (void)applicationDidEnterBackground:(UIApplication *)application {
[self beingBackgroundUnpdateTask];
/*
代码写在这里就可以了
*/
[self endBackgroundUpdateTask];
} - (void)beingBackgroundUnpdateTask {
self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];
}];
} - (void)endBackgroundUpdateTask {
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];
self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}
这样后台就会反复刷新了.
4, 了解YYModel, 或者YYKit么
表示真的不会, 就看过一些YYKit的源码, 也没想过面试会问三方框架, 基本没说上啥.
5, 了解MVVM吗, 说说MVVM
这个基本也没啥说的, 网上一查一堆, 自己还是做过不少MVVM的项目的, 简单说说, 没问太多.
6, RAC
响应式函数编程, 对于信号流的应用, 说了些应用场景, 非要说框架的话还没到源码级别, 也就是使用上的一些细节.
7, tableView优化
说了动态计算高度, 通过接口数据等, 分散方法逻辑, 尽量手动计算, 也说了drawRect, 说了手动绘制cell, 不过又问起了YYKit从这里, 还是回答不上来了.
8, webview中<input>button标签, 触发onClick时与原生的交互
js交互,或者拦截webview,没啥说的。
iOS开发--面试的更多相关文章
- iOS开发——面试指导
iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. ...
- ios开发——面试篇(一)
面试篇之内存管理与多线程 简述OC中内存管理机制.与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为 ...
- iOS开发——面试总结(一)
面试总结(一) 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIRespon ...
- iOS开发——面试笔试精华(四)
面试笔试精华(四) 1. Object-C有多继承吗?没有的话用什么代替? 1> OC是单继承,没有多继承 2> 有时可以用分类和协议来代替多继承 2. ...
- iOS开发——面试笔试精华(二)
面试笔试精华(二) 警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!! 1. Difference between shallow copy and deep copy? ...
- ios开发——面试篇C语言精华
面试篇C语言精华 1.面向过程:分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实 现. 面向对象:直接描述客观世界的对象及其相互关系.现实世界中任何实体都 可以看作是对象,对象之间通过消 ...
- iOS开发——面试笔试精华(三)
面试笔试精华(三) 1. When to use NSMutableArray and when to use NSArray? 什么时候使用NSMutableArray,什么时候使用N ...
- iOS开发——面试笔试精华(一)
面试笔试精华(一) 1. #import 跟#include.@class有什么区别?#import<> 跟 #import”"又什么区别? 1> #imp ...
- iOS开发如何面对疫情过后的面试高峰期 !
2020年本应该是一个 "爱你.爱你"的年份!却因为 黑天鹅 给我们带来非常大的影响! 一.2020年iOS招聘数据分析 这里是 2020年3月份BOSS直聘 北京iOS招聘前几页 ...
随机推荐
- 一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了
一直以来 部署mono 都是很头疼的事情 因为是我在是不熟悉非win环境,今天偶然发现这个项目,挺好的,分享下 https://github.com/wshearn/openshift-communi ...
- [翻译]AKKA笔记 -ACTOR SUPERVISION - 8
失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ...
- maven archetype二三事
maven plugin 创建maven archetype 骨架的plugin是 <plugin> <groupId>org.apache.maven.plugins< ...
- 单选按钮加confirm进行判断返回false任被选中问题
<html> <head> <script language="javascript"> var checkValue = "&quo ...
- 解析大型.NET ERP系统 十三种界面设计模式
成熟的ERP系统的界面应该都是从模板中拷贝出来的,各类功能的界面有规律可遵循.软件界面设计模式化或是艺术性的创作,我认可前者,模式化的界面客户容易举一反三,降低学习门槛.除了一些小部分的功能界面设计特 ...
- 前端开发面试题收集(css部分)
http://davidshariff.com/quiz/ 做了下这里面前端开发面试的题,发现有些不会,所以在此做个整理以供自己学习,参考,总结. 1.问: CSS属性是否区分大小写? ul { Ma ...
- 【Win 10应用开发】把文件嵌入到XML文档
把文件内容嵌入(或存入)到XML文档中,相信很多朋友会想到把字节数组转化为Base64字符串,再作为XML文档的节点.不过,有人会说了,转化后的base64字符串中含有像“+”这样的符号,写入到XML ...
- 【Win10 应用开发】使用“实时可视化树”工具查看应用界面元素
记得有朋友问老周,系统中的“计算器”应用的界面菜单是怎么做的.其实,你可以用VS 2015的新工具来查看它的界面结构. 实时可视化树工具只能查看XAML定义的界面,如WPF和Win App.现在,Wi ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...
- window.name实现的跨域数据传输
这篇文章是对 JavaScript跨域总结与解决办法 的补充. 有三个页面: a.com/app.html:应用页面. a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件 ...