网易、弘历软件、深信服、联众世界校招iOS工程师面筋
网易
-
pod install和pod update有什么区别?
-
详细说明从前端发送网络请求给后台的过程;
-
runtime分类的实现;
-
怎么动态添加属性;
-
block实现变量的修改;
-
堆排序;
-
复杂度代码实现;
-
复杂度推导。
弘历软件
-
让你封装一个socket通信你会怎么做;
-
让你一个人上线迭代软件需要注意哪些地方;
-
根据简历上的一些项目和做项目是经常遇到的哪些问题问的?
-
还有问一下你在做项目的时候遇到过哪些问题,怎么解决的?
-
最新的技术你知道哪些,用到过哪些
深信服科技
-
首先是自我介绍;
-
数据库查找数据的流程;
-
多线程,应该注意的问题有哪些;
-
MVC;
-
http协议;
-
写代码,单链表反转。
联众世界
- 问:如何理解MVC设计模式。
答:Model负责存储、定义、操作数据;View用来展示书给用户,和用户进行操作交互;Controller是Model和View的协调者,Controller把Model中的数据拿过来给View用。Controller可以直接与Model和View进行通信,而View不能和Controller直接通信。View与Controller通信需要利用代理协议的方式,当有数据更新时,MOdel也要与Controller进行通信,这个时候就要用Notification和KVO,这个方式就像一个广播一样,MOdel发信号,Controller设置监听接受信号,当有数据更新时就发信号给Controller,Model和View不能直接进行通信,这样会违背MVC设计模式。
- 问: Objective-C的一些语言特性;
- 项目中遇到的最困难的事是什么。