当我们去面试一个工作,不管是什么类型的感觉,我们首先面对的第一道坎就是面试。因为自己的能力不足被刷下来,也许会有点遗憾,但最遗憾的还是莫过于有能力但是面试没有发挥好而被刷下来。 首先我们要知道的是面试官都不是专业从事ios开发,他的问题都是比较基础的,所以他问的问题不必惊慌,保持镇定,然后保持语气平和即可。废话不多说,现在我给大家分享我整理的阿里面试题,希望能对各位大佬有小小的帮助。虽然很基础,但是望各位大佬耐心看下去,也许有意想不到的收获。
1.dSYM你是如何分析的?
所以首先我们要知道dSYM是什么?什么是dSYM文件Xcode编译项目后,我们会看到一个同名的dSYM文件,dSYM是保存16进制函数地址映射信息的中转文件,我们调试的symbols都会包含在这个文件中,并且每次编译项目的时候都会一个新的dSYM文件,位于/Users/<用户名>/Library/Developer/Xcode/Archives目录下,对于每一个发布版本我们都很有必要保存对应的Archives文件(AUTOMATICALLY SAVE THE DSYM FILES这篇文章介绍了通过脚本每次编译后都自动保存dSYM文件)。
2.然后我们还有了解dSYM的作用是什么呢?
现在来阐述一下吧。当我们软件release模式打包或上线后,不会像我们在Xcode中那样直观的看到用崩溃的错误,这个时候我们就需要分析crash report文件了,iOS设备中会有日志文件保存我们每个应用出错的函数没存地址,通过Xcode的Organizer可以将iOS设备中的DeviceLog导出成crash文件,这个时候我们就可以通过出错的函数地址去查询dSYM文件中程序对应的函数名和文件名。大前提使我们需要有软件版本对应的dSYM文