一个ios程序员年后找工作经历(附上一些面试问题)

年头辞职换工作的事情在这金三银四的时候屡见不鲜,我呢,一个ios开发者。3月份辞职后旅游几天,四月份第一个礼拜开始投简历,只在某钩投,简历样式是附件简历,写上了三段工作经历。

今天是周6,在这之前面了三家公司,一家内推,是某大型外包公司,其余两家是拉钩邀请。

周五之前拿到了两家的offer,另外一家说是下周1 hr 会打电话谈些东西。

讲下经历吧。

第一家,也就是外包这家,前前后后面试了5次,拉扯了有两周左右,原因比较多,比如我是15年毕业,然而大公司向来是不算毕业前的工作经验的,所以在他们眼里我其实两年工作经验不到,对于我的期望薪资,他们这边定薪超出了限额。

第二家算是创业公司,母公司在北京,听说融资已经c轮,这边是孵化项目,面试很快,中午过去的,然后出公司不久就接到电话。

但其实两家加班情况都很严重,外包这家,因为朋友在里面,一周加班3次算是轻松,通常9点以后走,这家创业公司,995,就是早9晚9,但双休。

然后讲下面试过程吧,外包这家,技术面有三次,但问的不多,可能是真的都太忙吧,时间都在半个小时左右,比较偏向某个方面,会问实现过程。

第二家,面试应该问的是最细致的,从http底层,一直问到我平时的项目架构方式,整个技术面有两个小时,但面试官很nice,兴起之时还会在白板上书写,还有问一些ios基础,为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?

第三家,是北京那边电话面的技术,问的都很空泛,第一个问题我记得是你讲下Activity,然后我就从Luncher 启动一直讲到生命周期,然后到window这样。像这种问题,其实说简单简单,说难也难,因为这种东西,深入讲,可能对于四大组件的任意一个1个小时也是聊不完的,但同时也给你机会,如果你了解的多,也方便展示。

然后整理下问到的一些东西:

1、如何令自己所写的对象具有拷贝功能?

2、说说你理解weak属性?

3、题目:Swift mutating关键字的使用?

4、UIView和CALayer是什么关系?

5、下面的代码输出什么?

6、@synthesize 和 @dynamic 分别有什么作用?

7、动态绑定

8、Category(类别)、 Extension(扩展)和继承的区别

9、为什么代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?

10、id和NSObject*的区别

11、如何令自己所写的对象具有拷贝功能?

12、使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?

13、用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?

14、UIView和 CALayer是什么关系?

15、static有什么作用?

底层:

16、main()之前的过程有哪些?

17、KVO基本原理?

18、Swift 下的如何使用 KVC?

19、:Swift有哪些模式匹配?

20、objc在向一个对象发送消息时,发生了什么?

21、静态库的原理是什么?你有没有自己写过静态编译库,遇到了哪些问题?

22、runloop是来做什么的?runloop和线程有什么关系?主线程默认开启了runloop么?子线程呢?

23、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建

24、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vc的viewDidLoad中创建)

25、OC完整的消息转发机制+代码实现【暴击】

26、、以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?

27、如何手动触发一个value的KVO

28、如何对定位和分析项目中影响性能的地方?以及如何进行性能优化?

29、串行并行,异步同步的区别?

30、线程是什么?进程是什么?二者有什么区别和联系?

31、RunLoop是什么?

32、假设有一个字符串aabcad,请写一段程序,去掉字符串中不相邻的重复字符串,即上述字符串处理之后的输出结果为:aabcd

@autoclosure(自动闭包)

34、iOS app启动如何优化?

35、swift面试题:

36、怎样防止反编译?

37、UITableView性能优化,超实用

线程:

37、 不要阻塞主线程

38、谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?

39、进程和线程的区别?同步异步的区别?并行和并发的区别?

40、ViewController生命周期

41、iOS 中的多线程

42、内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象

需要手动释放?在和property结合的时候怎样有效的避免内存泄露?

谁申请,谁释放

43、dispatch_barrier_async的作用是什么?

44、如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)

http:

46、http与https的区别?

47、服务器能否知道APNS推送后有没有到达客户端的方法?

app:

48、1.什么方式可以看到上架App的头文件?

2.阅读过哪些框架的源码?能说说它的架构方式吗

49、iOS iAP内购审核可能失败的问题

50、IAP内购中虚拟货币导致审核无法通过的问题?

答案:

由于答案太多,我做了一个PDF文档,由于不能上传文件,需要答案可以加小编的qq交流群776598941,在里面获取文档,也欢迎招聘者,找工作的来,提供一个更大的平台


      最后祝大家找到心仪工作,有问题在评论区我会回复。


猜你喜欢

转载自blog.csdn.net/qq_42207221/article/details/80324143