IOS面试宝典(一)(持续更新)




一.ASIAFN有什么区别

1.性能

*ASI基于底层的CFNetwork

*AFN基于NSURLConnection

*运行性能:ASI>AFN



2.处理服务器数据

1>AFN:

*根据服务器返回的数据的类型进行自动解析JSONXML

*利用successfailure两个block


2>ASI

*并没有对服务器数据进行解析,直接返回NSData二进制数据

*3种方式处理请求过程


3.处理请求的过程

1>AFN:successfailure两个block

2>ASI:代理方法 SEL block


4.ASI特色

1>缓存

2>下载和上传

*轻松监听请求进度

*轻松实现断点下载(ASI没有断点上传功能,断点上传得使用socket技术)

3>提供了很多扩展接口(比如数据压缩)

4>ASIHttpRequest继承自NSOperation

*能用队列统一管理所有请求

*请求之间能依赖

5>ASINetworkQueue

*统一管理所有请求

*监听所有请求的开始\完毕\失败

5.AFN特色

1>使用简单

2>自带了网络监控功能




二.简单说一下APP的启动过程,main文件开始说起

 

程序启动的完整过程

 

从main文件开始说起程序启动分为两类:1.有storyboard 2.没有storyboard

(一)有storyboard情况下:
1.main函数

2.UIApplicationMain

    - 创建UIApplication对象

    - 创建UIApplication的delegate对象

3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)

    - 创建UIWindow

    - 创建和设置UIWindow的rootViewController

    - 显示窗口

(二)没有storyboard情况下:
1.main函数

2.UIApplicationMain

    - 创建UIApplication对象

    - 创建UIApplication的delegate对象

3.delegate对象开始处理(监听)系统事件(没有storyboard)

    - 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法

    - 在application:didFinishLaunchingWithOptions:中创建UIWindow

    - 创建和设置UIWindow的rootViewController

    - 显示窗口

 

 

三.你为什么要离开上家公司?

面试官问你这样的问题也是为公司着想,但是为公司着想那就得好好说道说道了,不仅要看你的个人能力,还要看你会不会跟未来的团队相处融洽,当然了,不止这些哦,让我们来详细分析一下职场面试问你为何要离开上一家公司的原因吧!


首先,我们来分析职场人离开的原因是什么。


现实中,职场跳槽离开老东家的原因千奇百怪,林林总总,一万个人会有一万个原因。即使同一个人,如果是主动离开,其原因很有可能不止一种,甚至是10种以上原因的组合。不然,人是不会跳槽的,因为跳槽和人的懒惰天性相冲突。职场人常见的离职原因大致如下。


主动离职


1.生活与工作的冲突。一是个人健康原因影响到工作;二是本人生活习惯和工作性质冲突,如:需要熬夜、出差、喝酒、陪客等;三是家庭生活和工作冲突,比如:配偶出国、家里有人需要自己陪护等。


2.个人与企业的冲突。第一,和上司之间的冲突,自己实在不想忍受;其次,和同事之间的冲突,而这个冲突自己又无法协调;第三,和企业文化的冲突,自己极不认同企业的价值观,又无法改变;第四,自己的职业发展遭遇天花板,如:在外企遭遇到国籍天花板,民企里面会遭遇关键岗位被家族成员把持,自己干得再好也是副职,得不到全面锻炼。第五,上司和自己年龄差不多,而自己对职业发展还有更高预期。


被动离职


1.不可抗客观因素。一是企业搬家了,工作单位距离家里太远了;二是部门搬到外地了;三是企业老板跑路了,企业散了;四是企业发展停滞,或被并购;五是行业衰退。


2.自己被淘汰出局。一是自己专业能力上不能胜任,被考核或考核的压力所淘汰;二是自己违犯企业制度或职业操守;三是自己有重大的道德问题甚至违法问题,搞得声名狼藉。


被动离开是没有办法,离开后寻找机会的主动权小一些。主动离开一般都有新的职业机会,其实主动跳槽者都是失望和希望的交汇。希望减去失望,如果是正数,人就选择离开老东家。当然现在90前后者很多情况都是裸辞。


面试官借此想考你什么?


首先,判断候选人讲述离开的原因是否真实。第一,至少有1/3的候选人讲述离职的原因是不真实的。但假话也有判断价值,至少判断这人不坦诚。第二,判断候选人讲述的原因是否全部真实。其实很多候选人讲述了离职的真实原因,但还有其他真实原因没有讲。第三,即使讲述的是真实的原因,但这个真实的程度究竟有多少。


其次,深刻而全方位判断候选人。一是通过候选人描述离职的原因,可判断候选人的价值观。无论候选人讲述的原因是否真实,至少自己都认为是冠冕堂皇的,尤其说的是假原因的更能表达候选人深层次的价值观,即认为只有这个原因才是自己最体面的离开理由。二是通过候选人描述离开的前因后果和过程,判断候选人处理矛盾的方式和风格。三是判断候选人看问题的视角和客观程度。四是判断候选人的思维模式,是正面思维主导还是负面思维主导。五是判断候选人的逻辑思维能力及习惯。六是判断候选人的职业发展规划是否清晰。


第三,印证。一是印证前面讲述的很多事情是否真实,二是印证候选人与下一步要讲的职业诉求和职业发展规划是否有机贯通。三是和面试官已知的信息相互印证。四是为拟录用时的职业背景调查做铺垫。


第四,综合假设和预估。一是假设候选人进入组织后与现有组织人员的冲突性、互补性,从而判定是否录用、录用后如何定位、如何融入、如何使用。二是预测候选人进入组织后的职业发展路径,进入组织后可能为组织带来的正面的和负面的影响。三是判断候选人进入组织后会大致什么时间离开、会以什么方式离开、离开时会给组织带来什么麻烦。


看似简单的一问一答,也就短短的一两分钟时间,作为一名合格的面试官会脑子飞快旋转,做出种种价值及风险评估。

面试碰到这个问题,面试者如何回答,可能怎么回答都不是。


要回答这个问题,首先要规避一些问题。

1) 我在上一家公司的离开,首先不是我的原因,也不是我的过错造成的,更加多的是相信我有这个能力。

2) 造成我离开的原因,在面试这一家没有。

3) 不能说领导的坏话,不能攻击上一家公司。不能存在负面的信息。包括:管理太混乱公司不重视人才公司排斥我们某某的员工等。

4) 但也不能躲闪、回避,如想换换环境个人原因等。

5)  也不能涉及自己负面的信息,如工伤、不诚实、懒惰、缺乏责任感、不团结等

6) 这个问题不能回答的太详细,让HR觉得你左也不是右也不是。

 

  回答任何一个面试的问题,应该都要着重点的为自己个人形象添彩。特别是关键性的问题。

所以我们在回答这个问题,要慎之又慎,看下面的精彩回答:

 

1、这是我面试一个生产主管时,他的回答:

我离职是因为这家公司倒闭(效益不太好)。我在公司工作了三年多,有较深的感情。从去年始,由于市场形势突变,公司的局面急转直下。到眼下这一步我觉得很遗憾,但还要面对显示,重新寻找能发挥我能力的舞台。” 

 这个回答不算好,也不算坏,大环境如此,我也无能为力。

 

2、我去面试一个公司,时的回答

  “每一家我所工作的企业,都是我努力去工作的企业,也是我的工作生涯中的一个平台,每一个平台都会因为我存在而改变,我在平台学习拼博,更加的上进。当企业发展稳定了,当我在这家企业之中变得碌碌无为,我觉得我应该离开了,当然我的离去不会让企业损失什么,更多是我和企业都在发展。

我这个回答,我也不认为很好,打分为59分。

 

3、十一月三日,《职来职往》面试者魏丽的回答:

我始终把自己当作一家公司来经营,我的这个有形资产,就是我的存折,我的车,我的房;我的无形资产就是我的个人品牌,以及我的能力;学识;我的人际关系;我的人脉关系等等我是通过这个平台来提升我的无形资产。一个价值的提升。我要实现价值的最大化,而不是利润的最大化。

我觉得一个人离开的一家公司,我觉得了带着微笑离开的,就建造金字塔的人,一定不是奴隶,一定是一群快乐的人,否则金字塔不会那么坚强。

 

高,实在高。这个是我认为对这个问题最精彩的回答。当然了,回答问题要有情感,要合乎当时回答的情境。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是 AVFoundation? AVFoundation是苹果公司提供的一个多媒体处理框架,它能够处理音频、视频、文本和图像等媒体类型,还能够实现录制、编辑、播放等多种操作。 2. AVFoundation的优点是什么? AVFoundation有以下几个优点: - 它可以在多个平台上使用,包括iOS、macOS和tvOS等。 - 它提供了灵活的API,可以对多种媒体类型进行处理。 - 它支持硬件加速,能够提高处理速度和性能。 - 它支持多种格式的媒体文件,包括MP3、AAC、H.264和MPEG-4等。 3. 如何使用AVFoundation实现音频录制? 在使用AVFoundation实现音频录制时,需要执行以下步骤: - 创建一个AVAudioSession对象,用于管理音频会话。 - 创建一个AVAudioRecorder对象,用于录制音频。 - 配置录音参数,例如音频格式、采样率、通道数、音频质量等。 - 调用AVAudioRecorder的record方法开始录音。 - 调用AVAudioRecorder的stop方法停止录音。 4. AVFoundation中的AVPlayerLayer是什么? AVPlayerLayer是一个CALayer子类,用于在iOS和macOS应用程序中显示视频内容。它可以显示一个AVPlayer对象的输出,并且支持全屏播放、画中画、视频内容缩放等功能。 5. 如何使用AVFoundation实现视频播放? 在使用AVFoundation实现视频播放时,需要执行以下步骤: - 创建一个AVPlayer对象,用于播放视频。 - 创建一个AVPlayerLayer对象,用于显示视频内容。 - 将AVPlayerLayer对象添加到视图层次结构中。 - 创建一个AVPlayerItem对象,用于管理视频资源。 - 调用AVPlayer的replaceCurrentItemWithPlayerItem方法将AVPlayerItem与AVPlayer关联。 - 调用AVPlayer的play方法开始播放视频。 6. 如何在AVFoundation中实现视频编辑? 在AVFoundation中实现视频编辑通常需要使用AVAsset、AVAssetTrack、AVComposition、AVMutableComposition等类。以下是实现视频编辑的大致步骤: - 创建一个AVAsset对象,用于表示视频资源。 - 创建一个AVMutableComposition对象,用于管理视频资源。 - 使用AVAssetTrack获取视频的音频和视频轨道。 - 使用AVMutableCompositionTrack将音频和视频轨道添加到AVMutableComposition中。 - 使用AVAssetExportSession导出编辑后的视频。 7. AVFoundation中的AVCaptureSession是什么? AVCaptureSession是用于管理视频和音频输入的会话对象。它可以管理多个输入设备(例如摄像头、麦克风等)并且可以将它们合并到单个输出中。使用AVCaptureSession可以方便地实现视频录制、视频流传输、实时视频分析等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值