Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

面试题整理 #17

Open
zhangferry opened this issue Mar 3, 2021 · 3 comments
Open

面试题整理 #17

zhangferry opened this issue Mar 3, 2021 · 3 comments

Comments

@zhangferry
Copy link
Owner

zhangferry commented Mar 3, 2021

可以将自己遇到的感觉有价值的面试题列到这里,如果有好的解决方案参考资料可以放到这里,后续我会整理出来。

zhangferry added a commit that referenced this issue Jul 2, 2021
@zhangferry
Copy link
Owner Author

zhangferry commented Jul 4, 2021

快手 视频面试
1 atomic noatomic
property atomic nsinteger i
//线程1
for (10000)
self.i++;

2
NS_DESIGNATED_INITIALIZER 使用过吗?

3

@interface DogTest : NSObject
 + (void)test;
 - (void)test;
 @end

 @implementation DogTest

 - (void)test {
    NSLog(@"TEST");
 }
 @end

@interface NSObject (Test)
 + (void)test;
 - (void)test;
 @end

 @implementation NSObject (Test)

 - (void)test {
    NSLog(@"TEST");
 }
 @end

 int main(int argc, const char * argv[]) {
  @autoreleasepool {
    //1
      [NSObject test];
      [[NSObject new] test];
    //2
      //[DogTest test];
      //[[DogTest new] test];
   }
   return 0;
}

4 
func test1() {
      DispatchQueue.main.sync {
            print("1")
      }
  }

func test2() {
        print("1")
        let que = DispatchQueue.init(label: "thread")
        que.async {
            print("2")
            DispatchQueue.main.sync {
                print("3")
                que.sync {
                    print("4")
                }
            }
            print("5")
        }
        print("6")
        que.async {
            print("7")
        }
        print("8")
    }

5 给定一个正整数N, 请输出N!的结果末尾包含0的个数
例子:5! 120
0的个数是1

好未来电话面试
介绍定时器
为什么Timer定时器不准
涉及到了runloop,讲一讲对runloop的理解

介绍ios遍历方法,for in遍历的时候在里面增加一个元素会怎么样,删除一个元素会怎么样,为什么?

wkwebview设置userAgent的方法知道吗?有遇到什么问题嘛?
customUserAgent 和applicationNameForUserAgent 设置userAgent 有什么区别吗?
wkwebview 使用过程中有遇到什么问题嘛?
UIWebview迁移到wkwebview过程中有遇到什么问题或者麻烦吗?怎么解决的
js交互前端代码安卓和ios为什么要写两套,有办法一套解决吗

怎么自己设计一个系统的UIScrollview。

理想汽车
介绍一下runloop和runtime,有用过runloop和runtime做过什么事吗
UIView和CAlayer
介绍一下组件化是怎么做的。怎么解耦的
网络层封装做了哪些事
假如A业务模块和B业务模块都要引用同一张icon,怎么处理的。
路由和target-action这两个方案的优缺点。
数据是怎么加密的,怎么保证逆向拿不到我们的加密秘钥。
怎么设计一个崩溃上架框架
alloc做了什么,init呢,new呢,new初始化有什么区别
用MVVM多久了,为什么要用mvvm,怎么对mvvm中的View做单元测试
有左右两个lable,要让左边内容全部展示,怎么布局
设计模式和设计原则,UIKit设计中有用过哪些设计模式或者设计原则。

头条
1.使用过哪些三方库,看过源码吗?
2.YYKit使用过吗?你觉得有哪些值得你学习的地方
3.SDWebimage使用过吗?解码过程中是怎么样的
4.YY加载图片和SD加载图片有什么区别吗?

1.知道weak吗,
2.用得多吗?知道什么应用场景吗?
3.底层实现是啥知道吗?是什么结构知道吗?怎么解决寻找冲突的
4.知道MLeaksFinder吗?是怎么实现的吗?

编译链接你有了解多少
有用过反射吗?什么情况下会想到用反射,有没有别的办法
RAC信号的理解
谈对引用计数的理解
手指点击屏幕发生了什么
知道有哪些锁,用过哪些锁,可以不可以用别的锁代替,是怎么考虑的
代理用什么修饰,有用过strong修饰代理吗?为什么要用strong修饰
https是基于什么加密,为什么加密了还能通过抓包工具抓取https,抓包过程是怎么样的。
了解bitmap吗?结构是什么样的,有对做过什么优化吗
可变数组的实现原理

组件化的理解,Pod update和pod install的区别,简单说一下内部是怎么实现的

算法:
盛水问题,
走台阶问题,
找链表倒数第k个元素,
链表是否有环,
遍历二叉树,
手写快排

某上市公司
Delegate 、Notification和KVO比较各自的优缺点
在一个UI的正中间实现一个正方形的红色视图有几种方式?
手触碰到屏幕的时候,响应机制是怎样的?第一响应者是谁?追问 UIView和UIResponse的关系是什么?
UIViewController的生命周期是什么?追问 UIViewController 只alloc而没用到的时候,
UIViewController 的view是否加载了?如果没有加载那什么时候加载?
直接用UILabel和自己用DrawRect画UILabel,哪个性能好?为什么?哪个占用的内存少?为什么?
AFNetworking是否支持ipv6?
项目采用64位,为什么要用64位?怎么修改成64位?i386是什么?他们有什么关系?
iOS的应用程序有几种状态?追问,退到后台代码是否可以执行?双击home键,代码是否可以执行?
一般使用的图标内存为多大?比如200×300的图片,内存应该占用多少比较合理?
说说你对内存泄漏的看法,追问,block为什么容易引起内存泄漏?
[object copy]是浅拷贝还是深拷贝?为什么是浅拷贝?copy是实现了哪个协议?
Images.xcassets和直接用图片有什么不一样?

内存管理方面的
多线程
各种队列
线程锁
MVVM
各种问题都问的特别细

算法:
如何删除链表中等于某个值的所有节点?
如何反转二叉树?
如何验证两个二叉树是完全相等的?
如何合并两个有序的数组之后保持有序?
输入给定整形数字n内所有的质数

@zhangferry
Copy link
Owner Author

zhangferry commented Nov 18, 2021

  1. 怎么在汇编实现方法调用时间的计算?
  2. fishHook的原理是什么?
  3. pod install 的内部怎么实现的?
  4. xcode的space,project,target的区别和联系是什么
  5. category怎么实现一个weak属性?
  6. xcode的编译流程做了啥

@zhangferry
Copy link
Owner Author

1、如何检测OOM
2、source0和source1的区别,触摸事件跟它俩有什么关系
3、图片解码发生的时机是什么
4、两个类的load方法里互相创建另一个类会怎么样
5、CCache的原理是啥,它跟Xcode里的Derived Data有什么区别
6、IR和bitcode有什么区别
7、不用dipatch_once来写单例

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant