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

  这个基本也没啥说的, 网上一查一堆, 自己还是会一些的, 简单说说, 没问太多.

  6, RAC

  响应式函数编程, 对于信号流的应用, 说了些应用场景, 非要说框架的话也并非很熟悉.

  7, tableView优化

  说了动态计算高度, 通过接口数据等, 分散方法逻辑, 尽量手动计算, 也说了drawRect, 说了手动绘制cell, 不过又问起了YYKit从这里, 还是回答不上来了.

  

时间: 2024-10-05 05:11:30

iOS开发--面试的相关文章

iOS开发面试高频题

iOS开发面试高频题,面试不再懵逼 目录 前端技术2016年5月4日 对于要面试iOS开发的同学,可能已经看了很多的面试题.但是网上很多的面试题有些很全,但是没有重点,有些又太少.今天小编给大家整理了一些比较重要和经常问的面试题,总共20个,半小时之内就可以看完. 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;

iOS开发——面试篇&OC基本语法总结(面试)

OC基本语法总结(面试) C和OC对比 OC中主要开发在什么平台上的应用程序? 答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头? 答:OC中新增关键字大部分是以@开头 OC中新增加了那些数据类型? 答: Block类型 指针类型(Class, id类型) 空类型 特殊类型(SEL, nil) 面向对象特性是什么? 答:继承性,封装性,多态性 import和#include有什么区别? 答:import 的功能和 include一样, 是将右边的

iOS开发——面试篇&面试总结(二)

面试总结(二) 1. 风格纠错题 修改方法有很多种,现给出一种做示例: 下面对具体修改的地方,分两部分做下介绍:硬伤部分和优化部分 .因为硬伤部分没什么技术含量,为了节省大家时间,放在后面讲,大神请直接看优化部分. 优化部分 1)enum建议使用 NS_ENUM 和 NS_OPTIONS 宏来定义枚举类型,参见官方的 Adopting Modern Objective-C 一文: 1 2 3 4 5 //定义一个枚举 typedef NS_ENUM(NSInteger, CYLSex) {   

iOS开发——面试指导

iOS面试指导 一 经过本人最近的面试和对面试资料的一些汇总,准备记录这些面试题,以便ios开发工程师找工作复习之用,本人希望有面试经验的同学能和我同时完成这个模块,先出面试题,然后会放出答案. 1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? 答案:Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看

ios开发——面试篇(一)

面试篇之内存管理与多线程 简述OC中内存管理机制.­­­­­与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonatomic .atomic.strong.weak属性的作用?并区别strong(强引用). weak(弱引用)?什么情况使用copy,assign,和retain? 管理机制:使用了一种叫做引用计数的机制来管

iOS开发——面试总结(一)

面试总结(一) 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIResponder的类才能响应touch事件,从上图的响应者链可以看出,优先是最上层的 view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事件.直到单例UIWindow对 象,最后是单例UIApplication对象以终止,UIApplication的

iOS开发——面试篇&amp;面试总结(一)

面试总结(一) 1.UIWindow和UIView和 CALayer 的联系和区别? 答:UIView是视图的基类,UIViewController是视图控制器的基类,UIResponder是表示一个可以在屏幕上响应触摸事件的对象: UIwindow是UIView的子类,UIWindow的主要作用:一是提供一个区域来显示UIView,二是将事件(event)的分发给UIView,一个应用基本上只有一个UIWindow. 万物归根,UIView和CALayer都是的老祖都是NSObjet.可见 U

iOS开发——面试笔试精华(二)

面试笔试精华(二) 警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!! 1.        Difference between shallow copy and deep copy? 浅复制和深复制的区别? 1>   浅拷贝:指针(地址)拷贝,不会产生新对象 2>   深拷贝:内容拷贝,会产生新对象 2.        What is advantage of categories? What is difference between implementing a categ

iOS开发——面试笔试精华(四)

面试笔试精华(四) 1.        Object-C有多继承吗?没有的话用什么代替?? 1>  OC是单继承,没有多继承 2>  有时可以用分类和协议来代替多继承 2.        Object-C有私有方法吗?私有变量呢?? 1>  OC没有类似@private的修饰词来修饰方法,只要写在.h文件中,就是公共方法 2>  可以直接在.m文件中(比如类扩展)声明和实现方法,对编译器来说是私有的 3.        关键字const什么含义? const int a; int