携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结!

栏目: IOS · 发布时间: 6年前

内容简介:面经包含:携程、阿里、京东、腾讯五一假期,春招基本上已经结束了,剩下少量面试和少量流程中。虽然还没有最终决定,不过也还是决定来开个帖子,写一些总结。楼主是今年春招的时候开始看看面经,真题做的很少,很水=。=,惭愧惭愧。然后秋招的时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信……

面经包含:携程、阿里、京东、腾讯

五一假期,春招基本上已经结束了,剩下少量面试和少量流程中。虽然还没有最终决定,不过也还是决定来开个帖子,写一些总结。

楼主是今年春招的时候开始看看面经,真题做的很少,很水=。=,惭愧惭愧。然后秋招的时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信……

楼主iOS开发,主要用的Swift语言。下面上一些面经,希望能够对大家有那么一点点帮助。

今日头条

楼主春招的时候采用的是广撒网的战术(因为当时完完全全是个菜鸡,iOS大部分都是边春招边学的。。)也是侥幸拿到了头条暑期实习生的offer,然后阴差阳错的决定到北京来实习,然后暑期结束之后拿到转正的offer。

当初巧合来的头条,来了之后觉得特别好,哈哈,趁机推荐一波。实习工资(正式还没谈)、福利、部门、地理位置都还不错,到现在也还在实习。

携程

携程是一家很令人蛋疼的公司。

内推投了携程,通过了测评。然后进入了漫长的等待,某周打电话跟我说,问我能不能去上海面试,我说我在北京实习,能不能远程面试。hr倒是很爽快的答应了,并且约定两天后面试……

然而,就此被鸽,进入了漫长的等待期。后来给携程校招组发反馈,终于获得了面试机会,两轮面试感觉答得还行,题也不是很难,然而就那么突然有一天gg了。

携程面试题

一面

static int a = 1; int main(){ int m = 2; char *n = NULL; l = (char *)malloc(100 * sizeof(char)); return 0; }
- (void)viewDidLoad
{
    [super viewDidLoad];
    dispatch_queue_t queue1 = dispatch_get_main_queue();
    dispatch_async(queue1, ^{NSLog(@"222 Hello?");});
    NSLog(@"aaaaaaa");
}
复制代码

程序结果将输出 A. 死锁 B. 打印“aaaaaaa 222 Hello?” C. 打印“222 Hello? aaaaaaa” D. 打印“”

二面

  1. 请说一说UITableView的重用机制
  2. 请说一说你对Objective-C中property字段的了解
  3. 请说一说你对iOS中内存管理的了解。ARC底层时如何实现的?
  4. 你是如何进行网络层的封装的?
  5. 你是如何学习iOS开发的?

阿里巴巴

我对阿里整体印象还是不错的。春招的时候动作特别慢,基本隔两周面试一次,最后发offer都等了快一个月。不过这次秋招动作很快,两天就搞完了三面,两面技术都是很快,而且也都是问问项目,感觉加起来还没hr面时间长。

阿里面试题

一面

  1. 为什么要用Alamofire而不用原生的NSURLSession,Alamofire的优势是什么?
  2. 如果让你来封装一个网络库,类似于Alamofire或者SDWebImage,你会如何实现?
  3. 在网络库中,如何针对TableView快速滚动过程中的图片额外渲染进行优化(网络库不能持有TableView)?

二面

  1. iOS的系统架构是怎么样的?常用SDK有哪些?
  2. 了解HTTP协议吗?GET和POST的区别是什么?
  3. 对安全方面有何了解?如何应对web页面被劫持?了解HTTPS加密解密的过程吗

京东

京东总体来说还是体验不错的,和前两面的面试官相谈甚欢。整体感觉一面面官很注重基础,二面面官更看重项目一些,基本上都是根据简历和项目来问的。然而就在我志得意满之时突然接到了三面的电话(说好的只有两面技术面呢),然后各种怼我……

京东面试题

一面

  1. 讲一讲你对iOS内存分配的理解?值类型和引用类型?
  2. 假设ViewController中需要用一个Blcok来改变ViewController中的一个属性,需要怎么实现?
  3. 这样实现之后,这个Block在内存中被存在何处?引用关系又是怎么样的?
  4. 函数中的闭包,如果要求闭包执行完后立刻改变函数中某个变量的值,应该如何实现?
  5. 如何实现一个类似于微信聊天界面的布局?
  6. 如何用Auto Layout实现一个如下要求的布局: %^&@$^@(#!...... (说了一大堆 =。= 反正就是使用优先级就解决了)

二面

  1. 说一说 MVC 和 MVVM 的区别,以及各自的优缺点。
  2. 如何将 MVC 改造成 MVVM ?在MVVM中,网络请求、缓存处理的部分应该放在哪个模块?
  3. 为什么说Swift是面向协议的语言?使用 Protocol 有什么好处?
  4. 比较一下 Swift 和 Objective-C 在语言层面上的安全性?
  5. 如果ViewController中使用闭包时,用weak避免循环引用,会有什么问题?
  6. 当点击一个View时,发生了什么?如何扩大点击区域?
  7. 如何对TableView进行优化?
  8. 能讲一讲你对光栅化的理解吗?

三面

  1. 对Swift和OC有什么看法?
  2. 能对Swift中的可选类型谈下你的理解吗?
  3. 说一下快排的伪代码和时间复杂度?
  4. 怎么判断两个链表是否相交?
  5. 怎么反转二叉树?
  6. 了解元组吗?
  7. 了解多线程吗?
  8. 什么是并行?
  9. 现在有ABC三个任务,如何实现AB完成后再执行C?
  10. 对 Runtime 有什么了解?
  11. HTTP 和 HTTPS 有什么区别?
  12. 知道 HTTPS 通信过程吗?
  13. Struct 和 Class 有什么区别?

腾讯

腾讯的面试真的非常的注重基础,两个面官都对iOS不是很懂,而且对项目也没有太深入的探讨,只是让说了一下项目的架构,感觉就是想确认一下这个东西是不是你自己做的。第一面面完之后完全没涉及到iOS相关的知识,导致我面完之后问面试官是不是我当时投错了岗=。=!另外,腾讯HR态度是真的很好,赞一个。

一面

  1. 为什么要设计Cache?Cache分级有什么好处?
  2. 如何保证多核数据的一致性?
  3. c++ new 和 malloc 有什么区别?
  4. c++ 可不可以多继承?
  5. c++ 引用和指针的区别?
  6. 如何判断两个链表是否有交点?
  7. 堆区和栈区有什么区别?为什么要这么设计?
  8. 给栈增加一个Max函数接口,返回当前栈的最大值,应该如何设计?
  9. 给定排好序的整数数组array[]以及整数n,如何找出和为n的两个数?
  10. 如果没排好序呢?
  11. 一个字符串,如何找出只出现一次并且最先出现的字符?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms and Theory of Computation Handbook

Algorithms and Theory of Computation Handbook

Mikhail J. Atallah (Editor) / CRC-Press / 1998-09-30 / USD 94.95

Book Description This comprehensive compendium of algorithms and data structures covers many theoretical issues from a practical perspective. Chapters include information on finite precision issues......一起来看看 《Algorithms and Theory of Computation Handbook》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具