Ali相关面试题

接到的电话面试,人比较随和,当时IOS有一段时间没怎么碰了,因为近期一直在用C++,QT做IM。很多回答我都扯到了C++上,所以可能没戏- -!

回想一下,大概有如下几个问题:(都是很常见的问题)

1.谈谈Objective-c中的内存管理

 这个问题比较广泛,自己分别对 OC中指针,对象的创建与释放,autoRelease/autoReleasePool,arc,编译中对arc文件的编译区分,以及局部变量尽量不要new等方面都说了一点。

2."什么是谓词?"

 我表示没有听过。后台查了一下,表示很无语,其实就是C++中断言的概念,一般用在函数入口,不满足条件直接退出执行。

3.的页面传值有哪些?

  当时脑袋短路了,一想好像就初始化的时候,还有一个通知。后来回来又想想,delegate不也是吗?

4.IOS更新版本的时候,如何适配机型?

  我描述了一下如IOS6升IOS7的时候,一些控件的改变,如Navigation和StatusBar合并的事,一些修改Navigation背景颜色用hintColor。

  (他让我说一下若何用图片替换导航栏),我当时忘记API了,只表示自己换过,说用initCustomView,后来发现应该是setBackgroundImage.

 还有对机型的适配问题,我一直使用代码写UI的,不用xib之类。所以相对布局的情况下,改动较小

5.说说block

  由于在自己的项目中也没有自己写block,所以也就说了自己用block写过测试,递归算法之类。具体在用第三方包中倒是常见,block和java中的匿名内部类存在着很大的相似性

6.用什么做网络连接?

 ASIHttpRequest

7.用过什么数据库第三方包?

  没用过。一般的sqlite的CRUD都是自己写的,不是很复杂,而且项目中现在使用的是苹果的xcdatamodel,类似数据库的文件系统

8.用过哪些第三方的包?

  举了一些ASIHTTP,ImageLoader,WebCache,AutoNavi/Baidu Map/Google Map,shareSDK等等。

 PS:有点遗憾,忘记说github了,其实我觉得用过什么不重要,重要的是你能找到你需要的

9.平时都看什么书。

  最近在看<C++高质量编程>

10.一般去那些技术网站?

 csdn,iteye,博客,IOS的话一般cocoachina

原文地址:https://www.cnblogs.com/hermit/p/3566225.html