iOS面试--字节跳动最新iOS开发面试题

码影弦歌者
• 阅读 1265

序言

以下iOS面试题仅供参考,毕竟面试是不可控的,但懂得越多,自然机会越大!

字节一面内容:

1、 自我介绍

2、 介绍一下简历中的一个项目

3、 面向对象的三个要素

4、 多态?

5、 Java,python,OC运行效率孰高?

6、 Property,其中copy如何?

7、 Property(nonatomatic, copy) NSMutableArray有什么问题

8、 Copy和MutableCopy的区别

9、 解释下类别,原理

10、解释下封装,重载;

11、 OC存在多重继承吗?

12、了解表视图吗,解释一下复用原理

13、说明一下表视图的滑动卡顿的优化方法

14、viewDidLoad和viewDidAppear的调用时机(一次和多次的区别);

15、页面间的传值方式有哪些(公有属性,公有方法和协议,block传值,通知,extern全局变量传值,NSUserDefault简单数据存储传值);

16、通知和delegate的区别?

17、 通知的发送和接收是否在同一线程?

18、HTTP和HTTPS区别?

19、OC中多线程一般有几个方案?

20、了解NSURLConnection和Session吗?

21、说一下NSURLSession具体的实现原理

22、http的头部的几个码。;

23、编程题:实现一个二叉树的倒置。

字节二面内容:

1、老虎吃羊问题。(博弈论,老虎要吃羊,假设所有老虎是理智的,即首先为了生存,其次为了饱腹,老虎吃了羊后会变成羊,同样会被其他老虎吃掉。现在,N只老虎和1只羊,请问N为多少时,老虎们会吃羊。动态规划问题,奇数吃,偶数不吃。)

2、青蛙跳格子,斐波拉契数列;青蛙跳格子,斐波拉契数列;

3、熟悉使用什么框架?

4、如果让你自己实现SDWebImage的二级存储机制,你如果实现?

5、@autorelease{ NSString s;}和NSString s;有什么区别?

6、说一下你对autorelease的理解。

7、说一下对于http的理解?

8、http的返回状态码有了解吗?

9、为什么说http是无状态的?

10、为什么不用原生的APNS技术实现呢?

11、了解GCD吗?

12、说一下dispatch_group_t和dispatch_barrier_sync的区别吗?

13、了解NSOperation吗?

14、了解NSOperationQueue吗?

字节三面内容:

1、 算法题:求只有三项元素的数组中的顺序排列,时间复杂度要求O(n);

2、 说一下你对OC程序编译和连接方面的理解?

3、 说一下内存管理相关的操作?

4、 说一下响应链的原理?

5、 追问:hitTest有尝试过重写吗?

6、 http, session和cookie有了解过吗;

7、 线程和队列的关系?

8、 CALayer和UIView了解吗?


需要更多iOS面试文集资料,加iOS开发交流群:642363427,群文件直接获取
——点击加入:iOS开发交流群

如下图所示:

iOS面试--字节跳动最新iOS开发面试题

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
3年前
Python Challenge Level 18
初学Python,挑战一下流行的PythonChallenge,很不幸,卡在了18关~~被字符字节码之间的转换搞得焦头烂额,不过终于搞定了还是很happy的~~~主要的问题就是16进制形式的字符如何转成字节码(注意:不是encoding)如:\'89','50','4e','47','0d','0a','1a','0a','00
Stella981 Stella981
3年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Stella981 Stella981
3年前
JS 苹果手机日期显示NaN问题
问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
初探 Objective
作者:Cyandev,iOS和MacOS开发者,目前就职于字节跳动0x00前言异常处理是许多高级语言都具有的特性,它可以直接中断当前函数并将控制权转交给能够处理异常的函数。不同语言在异常处理的实现上各不相同,本文主要来分析一下ObjectiveC和C这两个语言。为什么要把ObjectiveC和
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Easter79 Easter79
3年前
SwiftUI 跨组件数据传递
作者:Cyandev,iOS和MacOS开发者,目前就职于字节跳动0x00前言众所周知,SwiftUI的开发模式与React、Flutter非常相似,即都是声明式UI,由数据驱动(产生)视图,视图也会与数据自动保持同步,框架层会帮你处理“绑定”的问题。在声明式UI中不存在命令式地让一个视图变成xxx
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(