一年iOS开发经验,如何一举拿下一线大厂Offer面经

2024-03-05 05:58

本文主要是介绍一年iOS开发经验,如何一举拿下一线大厂Offer面经,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先简单说说我最近的面试经历吧。面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了。对于我来说,这也是一次自我检查,在这次面试中总结经验,认清自己,同时希望这些对即将换工作或者打算看看其他机会的你有一些帮助。

以下的部分有具体的面试经历,也有自己的一些总结面试必备技能和自己的一些感想。

准备

其实我很早就开始准备了,准确来说也不算准备,只是一直在总结iOS相关方面的知识,因为在华为虽然工作有时候比较多,但是还是有大把时间可以自己学习一些感兴趣的方向。从过完年回来,我就有计划的复习和总结了一些知识。

看过的书籍,这里并不是泛泛的读一遍,而是详细理解了大多数内容,通俗一点就是可以用自己的话将相应的知识解读出 来 。

《Android开发艺术探索》(这本书真心不错,我反复读了4、5遍)、《iOS群英传》(比较接近开发使用,因为做过一些应用开发,读起来还是比较简单的,读了2遍)、《剑指offer》(感觉面试中碰到的算法,70%都能找到相应的题目,保证所有的题都可以手写出来就行)。4个月精读了以上书籍,还有其他的都是简单了解,这里就不列举了,读完这些书,应该可以让你上一个层次吧(妈妈再也不用担心我面试啦…)。

刷题,主要是LeetCode(大概刷了300道题左右,每天3-6道,坚持下来,需要多复习,因为很多题过一段时间会忘记),还有看过一些牛课网。

看别人的面试经验,主要在网上,这里我列举两个比较好的。

1、 iOS客户端面试题集锦

2、 iOS阿里面试题锦集

投递简历

一份好的简历是非常有必要的,需要突出你的重点和闪光点,具体怎么写简历可以参考

有了一份好简历,接下来就是投递简历,一般是:拉钩+BOSS直聘+内推,从我这次面试机会来看,三者比例是2:2:1,也可能我工作经验还不到一年,内推滴滴、阿里和腾讯直接就把我的简历刷掉了,但是内推也是具体到某个部门,如果被刷掉也不要灰心,现在大公司基本上各个部门都有自己的hr,可以在拉头和BOSS上多投递一些,万一其他部门看中你呢?

面试经历

快手

快手就在五道口地铁站出口不远地方,能看到很显眼的LOGO,看上去很霸气的样子,但是当我进入到快手前台的时候,连一个标示符都没有, 一度以为自己走进了假快手,好吧,我是来面试,这些都不重要,接下来接待的人员把我领进了一个小屋里,等待面试的开始。

一面

面试官是一个很fashion的人,是从小米核心部门过来的,是iOS小组的领导。

问了关于数据库的一些问题,SQLite的相关操作,没办法,我在华为唯一一个做的和iOS相关的项目,但是不太擅长数据库。 网络相关的问题,网络的五层模型,又问了TCP和TIP,还有iOS相关的长连接,这里问的比较深。

开始iOS相关的知识,视觉控制器的生命周期(view的生命周期)内存告急的处理(手动释放不可见视图的内存和成员变量)

第一面这就算过关了等待二面。

二面

问了项目相关的问题,这部分根据自己的项目经验,由于大家的经验都不同,这里我就不详细说了。

设定一个场景,怎么去实现相应的功能,因为快手这个部门想做社交,因此这里是问我是如何实现微信的联系人页面(包括与服务端有什么样的交互)

最后也是一个算法,写出所有数组的子序列

二面面试官是这个组的Eva,跟我讲了现在这个组的发展情况和快手现在的情况,由于快手成长很快,所以不能仅仅依靠一个APP,还需要在其他方面进行一些尝试,而这个组的任务就是在一些方面做一些尝试,大概就是这个样子。

二面也顺利通过,接下来就是HR面了,这时候正好是12点,他们要去吃饭,不过快手是提供午餐和晚餐的,第一个面试官带给我一份饭,还不错,后来HR跟我说,现在只是过渡时期,后面午餐和晚餐会改成自助餐的形式。

三面

HR上来很亲切,问了我一些面试的情况,难不难之类的,然后又聊了聊我大学和研究生情况,我只想说我“too simple , too naive “,大概了解我后,只跟我聊我的不足,以此来压低我期望的薪水。说了一下薪资期望,加了微信,让我回去等待,说发offer大概是2周时间,因为需要走各种审批流程,让我不要着急。

快手是一个很年轻的公司,技术还是需要一定的积累,希望不要像小咖秀一样昙花一现。

美团外卖

一面

1、简历上写的项目问了一遍,然后开始问知识点。

2、volley的源代码,在图片缓存部分讨论了挺长时间,http中缓存机制,

3、视觉控制器的生命周期

4、数据库

5、多线程(NSTread、NSOPeration、GCDA+block)

6、http协议get post的区别

7、手机适配一些方案

8、真机调试、项目上线注意事项

9、静态方法是否能被重写

这些大概聊了1个半小时,开始的时候还有些紧张,慢慢聊开了,就好多了,面试官的语速有点快,老是需要面试官重复一遍,我也不经意间语速也变快了,不过能看出来面试官还是很厉害的。

二面

2次握手和3次挥手的原因,以及为什么需要这样做。

1、id和nill代表什么(nill和NULL的区别)

2、向一个nill对象发送消息会发生什么?

3、进程与线程区别

4、写一个NSString类的实现

5、http中的同步和异步

聊了一些项目上做的东西,问了问职业规划 由于二面面试官不是做iOS,本来面试我的人临时开会去了,所以这一轮面试没怎么问iOS相关知识,不过二面面试官一直是微笑,所以这一轮很轻松,更像是一起讨论问题。

面试完已经是下午4:30了,由于面试当天是星期五,而周五美团的会议比较多,所以等了会,二面面试官说三面面试官在开会,面试另约时间,我还是说这次一次面试完吧,这一等就等了2个半小时,期间hr跟我说三面面试官是个大牛。

三面

我认为iOS做的优秀的几个地方,然后又根据我说的问了问比较深入问题。

1、iOS是如何进行资源管理的。

2、Python比较重要的几个特性

3、网络五层结构,每一层协议,由于我网络不是很好,还问了一些其他的问题(例如MAC地址和ip地址的区别等)。

为什么离开原来公司,以及职业规划,然后因为面试完大概就晚上8点了,就先让我回去,下周让HR跟我联系,我想这是应该通过面试了吧。

美团技术还是很厉害的,从面试官的水平就可以看出来,尤其是外卖核心部门,办公环境是不错,但是感觉就是有点乱,不知道是不是因为今天面试的人很多,基本上一直有很多人来回走动,有一些嘈杂。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:519832104 不管你是小白还是大牛欢迎入驻,分享经验,讨论技术,大家一起交流学习成长!

另附上一份各好友收集的大厂面试题,需要iOS开发学习资料、面试真题,可以添加iOS开发进阶交流群,进群可自行下载!

百度

梦寐以求的百度终于找我来面试了,之前不管是内推还是网络上投递都被拒绝了,原因是我工作不到一年,没办法谁让马云爸爸太厉害,我投递的是杭州的天猫,是做虚拟现实的小组(刚听到这个名字感觉和自己不太相符),这是我到面试完后,才知道的,面试官也跟我说iOS上的需求可能不会很多,更多的是AR技术在iOS上的应用,包含OpenGL等技术。

一面

询问了我博客上写的一些东西,从项目立意谈起,到设计,再到详细的技术实现,可谓是面面俱到,由于自己写的博客还是比较熟悉,回答的还不错。

1、GLSurfaceView的相关知识,OpenGL,Shader,绘制流程。

2、询问当前做的项目,以及到具体的实现和优化。

3、多进程间的通讯,Binder机制。

4、询问看过哪些框架源码,EventBus,Volley讲了一下。

大概聊了一个小时左右,聊得还可以,基本上都回答上了,中间给了我很多建议,不懂的地方,也会仔细跟我讲解一番,其实有一半的时间都是跟我聊产品,为什么这个产品好,怎样做才能迎合市场,然后怎么设计整个产品等,感觉跟我现在水平不是一个层次的,果然,第二天就给我发了一封邮件,说我现在暂时不太合适投递的岗位。

最后总结

自己对于互联网有一些小小的见解:随着资本的冷却,整个互联网市场也逐渐的冷静下来。iOS应用开发从一开始能说几个四大组件的名词,能随便写个监听事件,就能拿到高达上万的月薪的时代了。归根到底并不是工作难找了,而是iOS应用开发工程师这个职位已经趋于正常,再也不是没什么技术也能拿高工资的香饽饽。当然这个也不是绝对的,对于中高级的开发人员来说,市场还是比较缺少的,尤其是知名企业对于招聘员工来说,不仅要求有过硬的技术,还要求有高素质,好的教育背景等等。总的来说,高工资可以给你,但是前提条件是你要足够优秀,或者说让面试官觉得你很优秀。

其实面试过程就是一个把你自己推销给别人的过程,对于我们(毕业不久的同学,因为我毕业不到一年)来说就是要让面试官感觉你技术好,有培养价值。感慨有点多了,还是来点干货吧,大概列举一下每一轮面试的大概范围和深度,但是也不是绝对的,还是要看具体情况。

笔试

近一段时间的面试经历来说,一、二面的问题没有什么很大的区别(公司基本上都有3面技术面,但是也有例外,我在美团就是2面技术面。),基本上都是一线开发人员。主要考察你是否有牢固的基础知识和是否在平常开发中能熟练使用。

是否能讲解清楚你所做的项目,以及使用到的相关知识。

1、iOS基础知识

2、Python基础知识,大概是多线程,线程安全,集合类,JVM,类相关知识等。

3、iOS一些源码的阅读

4、优秀的第三方框架源码阅读

四面

一般公司都是三轮技术面,但是也有四轮技术面的,不过不多。很多公司基本上每一轮面试官都会记录他所询问的问题,以便给下一轮面试官作参考,还有就是避免对同一个知识点多次询问。所以到了这轮面试,基本上不会再询问比较基础的知识。

会从两个方面考察:

1、广度:比较新的技术(多线程,插件化等),http协议,数据库,iOS(一般不会询问之前面试官问过的问题)。

2、深度:一般会通过1或2个问题来考察,例如:项目中的贡献,所做的优化。设计能力,基本上不多,这个要看面试的岗位,因为我这里面试的只是高级开发,并不是架构。

工作中的亮点和突出。

HR面

基本上到了这轮,你就算通过面试了。hr会询问一些你的经历,最主要的还是和你商定薪资待遇。在这轮,大家应该要对自己的薪资水平有一个大体的了解,一般都是在原来的工资基础上增长20%~30%的样子,当然,如果你在面试过程中表现非常优秀,也可以不受这个限制。当然如果公司诚心要你,就算你要的工资过高,hr也会委婉的告诉你,不会直接把你pass。

点击此处,立即与iOS大牛交流学习

这篇关于一年iOS开发经验,如何一举拿下一线大厂Offer面经的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775507

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者