tips

技术

1WWDC是什么?你关注过哪些?

 

2.苹果1是在什么时间在什么上发布的?

 

3.你使用过的framework有哪些?都是做什么用的?

Core Animation 

通过Core Animation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。 

Core Audio 

Core Audio 是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。 

Core Data 

提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。

messageUI 收发短信

AVFoundation 

iAd

accelerate

audiotoolbox 

 

 

UIButton 点击事件的方式有哪些

 UIControlEventTouchDown           = 1 <<  0,      // on all touch downs

    UIControlEventTouchDownRepeat     = 1 <<  1,   // on multiple touchdowns (tap count > 1)

    UIControlEventTouchDragInside     = 1 <<  2,

    UIControlEventTouchDragOutside    = 1 <<  3,

    UIControlEventTouchDragEnter      = 1 <<  4,

    UIControlEventTouchDragExit       = 1 <<  5,

    UIControlEventTouchUpInside       = 1 <<  6,

    UIControlEventTouchUpOutside      = 1 <<  7,

    UIControlEventTouchCancel  

 

4.你使用过的第三方framework有哪些个有什么作用?

ASIhttprequest、SDWebImage、fmdb 、sharesdk、zbar、 

 

5.说说你对内存管理的理解?

ojc-c 是通过一种"referring counting"(引用计数)的方式来管理内存的, 对象在开始分配内存(alloc)的时候引用计数为一,以后每当碰到有copy,retain的时候引用计数都会加一, 每当碰到releaseautorelease的时候引用计数就会减一,如果此对象的计数变为了0, 就会被系统销毁

 

6.请简单说明retain、copy、assign以及autoreleasepool的作用

assignsetter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题 

非原子性访问,不加同步,多线程并发访问会提高性能。

Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount1。这是为了减少对上下文的依赖而引入的机制

retainsetter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料

当您向一个对象发送一个autorelease 消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当 程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。

 

7.数据保存怎么实现?

core data、nsuserdefault 、plist 、SQLite3, file

 

8.block和gcd的并发执行

 

 dispatch_async(dispatch_get_global_queue(0 0), ^{

            // 数据的操作 // 耗时的操作

         dispatch_group_t group = dispatch_group_create();

                  dispatch_group_async(group, dispatch_get_global_queue(0, 0), ^{

                      //并发的操作

             });

                     // 使用dispathch_group_notify() 指定一个额外的程序块,该程序块将在组中的所有程序块即将运行完成时执行。

           dispatch_group_notify(group, dispatch_get_global_queue(0, 0), ^{

               //在后台线程联系任何GUI对象是不可能的,必须将工作传回到主线程!可再次调用dispatch_async 这次传入dispatch_get_main_queue() 函数返回的队列,该函数总是提供存在于主线程上的特殊队列,并准备执行需要使用主线程的程序块

           // GUI 的操作

               dispatch_async(dispatch_get_main_queue(), ^{

                   // 回到主线程才可以出发按钮事件

               });

               

           // GCD内存管理 。释放变量,

           [变量 release];

           [变量release];

            

            });

        }) ;

        }

 

  });

 

 

9.app的优化,你用什么工具去优化一个qpp,例如,例如一个页面,万一崩了,你用什么工具去查内存之类的状态

leaks、allocations、addexceptionbreakpoint

 

10.你项目遇到的问题,怎么解决的

http://stackoverflow.com/论坛、google、

 

11.你用过的认为好的app,为什么

 

12.其他的一些基础的知识.

 

13,项目中你觉得好的动画什么的,可以show一下

 

1.如果一个同事不喜欢上网查找资料,请你用委婉的语言劝说他你应该怎么说?

 

2.如果你进入本公司前是初速度,入职后为加速度。请问你认为你的增长情况应该用什么表示?

 

3.一个同事忘记关电脑,你怎么办

posted @ 2013-05-16 13:46  Jere-Jobs  阅读(183)  评论(0编辑  收藏  举报