iOS今日头条第3轮面试回忆

本文记录了在iOS高级开发岗位面试中,今日头条第三轮面试的问题和讨论,涵盖了自我介绍、编程题及由此衍生的口头问题,包括属性的只读、内存管理、线程安全等知识点,同时分享了实际开发中的优化经验。
摘要由CSDN通过智能技术生成

今日头条的iOS高级开发岗第三面,下面记录这次面试的回忆以作日后复习。

一、自我介绍

简单介绍一下你自己吧

  • 解析:简单介绍下自己的名字,教育背景,现在的工作,做过的项目

二、自我介绍衍生的口头问题

讲讲下你在你项目中做过的优化或者技术难点

  • 解析:介绍了自己封装的一个集picker,文本域的灵活展开的表视图。这个视图的数据源是json,怎么转成模型数组的?这个cell有哪些类型?展示的怎么区分这些cell?这里面有用过复用机制吗?这些cell有实现过多重继承吗?
  • 题外话:这种问题最好各人自己找问题讲讲,不多,提前准备一个你项目中非常擅长并熟悉的点,即可。

三、编程题:实现以下功能

  1. 编写一个自定义类:Person,父类为NSObject
  • 解析:头文件这样写 @interface Person:NSObject
  1. 该类有两个属性,外部只读的属性name,还有一个属性age
  • 解析:name的修饰符nonatomicstrongreadonlyage的修饰符nonatomiccopy
  1. 为该类编写一个初始化方法 initWithName:(NSString *)nameStr,并依据该方法参数初始化name属性。
  • 解析:头文件声明该方法,实现文件实现该方法
  1. 如果两个Person类的name相等,则认为两个Person相等
  • 解析:重写isEqual,这里面涉及到了哈希函数在iOS中的应用。

四、由编程题衍生的口头题目

4.1

题目: 怎样实现外部只读的属性,让它不被外部篡改

解析:

  • 头文件用readonly修饰并声明该属性。正常情况下,属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值