2017面试小结

作者: 春田花花幼儿园 | 来源:发表于2017-12-31 18:56 被阅读438次
    • “面试,有一定的技巧在里边,但是更重要的在于平时的积累。” —— 美团面试官的一句话。
    • “临阵磨枪可以让你找到一份工作,但是进入大厂的人,绝对不是临阵磨枪,刷面试题进去的。”
      —— 我对上边这句话的解读。

    年末感言

    今天是2017年12月31号, 2017年的最后一天。

    昨天朋友圈突然很多90后开始晒18岁的照片,开始觉得又是朋友圈的一次流行风。直到今天早上看到新闻的推送,才意识到1999年出生的人也要满18岁了。90后一代人的时代就要"过"去。

    我个人还是比较感性,对过去和儿时仍然充满着怀念,每每想到都能不禁感叹,岁月流逝,时光荏苒,每个人的人生小船都在时间的巨浪下推着向前,即使万般不情愿,也没有任何退路,直到自己的小船无法航行。 我们每个人都被时间裹挟,又被时间给予恩惠。

    我觉得90后相较于80最大的区别,是这一代人可以真正算是计算机普及,随互联网成长起来的一代。现在静静的想起来,满脑子都是小学5年级放学后在隔壁小镇上老头儿开的黑网吧里和小伙伴一起打"神龙记","红警","半条命"的日子,几台破旧的win98电脑,也陪伴我度过了我小学时光的最后两年。那时候有段时间,每次去网吧,都能听到老头儿的儿子放三首歌,当时就觉得非常好听,以至于高潮时候的歌词到现在都还没有忘记,初中之后,硬是凭着歌词,知道这三首歌一首是林忆莲的《至少还有你》,一首是孙楠的《风往北吹》,另一首是群星的《让世界充满爱》。在我小学那两年乐此不疲的网吧的日子里,这三首歌记忆尤为深刻,简直成了一个符号,我想我这辈子都忘不了了。

    不知道大家看了《芳华》没有,说实话,这部电影我觉得拍的太好了。关于青春,有些东西是永恒不变的,那就是美好和伤痛,欢笑和泪水,满足和遗憾。

    哈哈,当然,我们还很年轻,所谓的步入"中年",也才是进入30岁。正是每一代人毕业之后,在社会上摸爬滚打,激情最满的几年。只要你想,只要你努力,仍然有在阶级未完全固化的当今,有翻身的可能。尤其是身处互联网中的你我,这种几率还会更大更快一些。

    正题

    2017年本来是作为过渡的一年,到明年年后开始找下家。没想到11月8号猝不及防的变故,打乱了原先的计划。主动请辞之后,赶上了北京iOS还有人要的好时候。 自己毕业的时候,内推进的上家公司,也并没有面试的经验。虽然后期招人面试了别人,但是到自己找工作的时候,自己当时面试太简单了。而且,一年前后,市场对用人的要求也更高。故此,把面试两周的经验和参考的一些比较好的文章分享给大家。

    总得来说,对于三年的iOS开发,大厂对iOS底层,基础(内存),项目的性能优化和工具使用,数据结构和算法,逆向,基本上iOS除了动画之外的所有内容都会有要求。 当然,小公司当然不会要求这么多,但是我觉得还是你应该试着进大厂。 算法,逆向这些下边不涉及,你可以另行搜索。

    面试题集锦推荐

    1.《招聘一个靠谱的 iOS》—参考答案
    2. iOS相关腾讯,阿里P6大厂面试题
    3.《2017年iOS面试题总结》
    4.《iOS面试汇总》
    5. 《2017年5月iOS招人心得(附面试题》》

    另外, 面试大厂的话,我觉得起码得把大厂的公开技术分享博客看一遍吧,比如美团点评团队的美团点评技术团队 腾讯Bugly等等。当然,即时不面试大厂,日常学习,你也应该看看这些。

    部分面试题分享


    1. 为什么离职?
    2. iOS中的多线程的优缺点? NSThread,NSOperation,GCD.
    3. NSOperation和GCD对比,什么情况下用NSOperation做起来比较好,但是GCD做起来不太好?相反的话有吗?
    4. 有一个非常大的数据,不关心数组遍历的顺序,OC中有几种遍历的顺序?-> dispath_apply
    5. CoreData的底层实现原理,和工作流程,是怎么工作的? Ream,WCDB, FMDB这两个了解吗? SQLite优缺点对比~~
    6. KVO实现的底层原理。
    7. 你们项目里边用到了加密,你了解RSA加密方式是什么吗? 还是有MD5,和base64是什么?
    8. Http和 (TCP、UDP)有什么区别?然后TCP、UDP之间有什么区别?
    9. Socket了解多少?有应用吗?、应用场景?
    10. layer层和UIView的区别?
    11. iOS在公司项目的管理是怎么管理的?
    12. Self和super两个关键字介绍?
    13. 消息发送机制讲一下?

    1.线程锁有了解吗?
    2.讲一下循环引用,怎么造成的循环引用,然后怎么解决?
    3.为什么__weak可以和解决循环引用? __Strong呢?
    __weak和__Strong有什么区别的吗?
    4.Weak在释放的时候怎么处理?会对引用计数器加一吗?
    5.runtime的机制了解吗?

    6.平常遇到奔溃怎么解决? 如果定位不到,怎么解决? 有没有想过怎么写一个自己的上传奔溃日志的功能。


    1. Block的底层实现原理?
    2. 代理,block,通知的怎么选择去使用?
    3. 怎么去检查循环引用?
    4. weak的实现原理,weak会计数器增加吗?assign会计数器增加吗?
    5. NSURLSession,NSURLConnection的区别?
    6. NSThread,NSOPeration和GCD怎么去选择用哪个?
    7. Charles抓包,https还可以吗?
    8. 网络通讯,TCP、UDP、Socket了解吗?
    9. 有用Socket做过一些东西吗?
    10. 网络安全方面/接口方面做过什么处理?

    1. 做过哪些有特色的项目? 或者项目里边哪些有特色的东西?
    2. UItableView做了哪些优化?
    3. FMDB本身读取数据,有哪些优化? /主键
    4. 数据库,查询语句,有没有查询比较复杂的类似于查询两个属性的和是多少这样
    5. 为什么做请求,用AFN代码,为啥不用其他的框架呢?
    6. 网络请求设置协议头,知道怎么设置吗? 比如请求图片,请求json是什么协议头?
    7. Get,post有什么区别?
    8. http和https的区别? Https: SSL
    9. 做网络部分数据安全处理?安全的部分,比如数据请求,Get,post,数据传输等等这些部分,怎么增加安全性? -> https不够,然后还要?
    10. Https苹果推荐,然后应该深入了解一下?
    11. NOTification是线程同步还是异步的?
    12. NOTification必须需要remove吗?会有什么问题吗? 比如说页面中有10个Nofication,那么当这个销毁的时候,用removeObserve移除所有的通知会有什么问题吗?还是单个一个一个的remove掉?
    13. block声明的时候,和使用的时候都有什么需要注意的?
    14. xib和StoryBoard
    15. const和#define的区别?

    1. iOS开发三年解决的一个最困难的一个问题?/ 工作中哪个代码改进或者技术实现让你很有成就感?
    2. 项目框架在数据层,在网络层面有封装吗? 做这个框架为了最大的问题?
    3. 自己做出来的这个东西,比如说你封装的这个BaseViewController,有没有评估过你这个方案做的好不好?业内大家都是怎么做的?性能怎么样? 比如说滴滴,美团,百度,今日头条的好的做法,他们是怎么做的。—》 侧重问你,反编译。黑盒试探,黑盒探测
    4. 你怎么确保你做出来的东西,你现在的开源社区开源的那些同类型框架要好???-》研究是哪些?
    5. 公司呆了两年半,然后为什么换工作? 对下一份工作有什么期望? 为什么进大的公司能够进?
    6. 说技术的成长,你平时会做什么事情,提升自己的技术?
      8.页面上有子视图,比如说100个,上边有圆角,怎么解决卡顿?(用图片替换圆角并不是那么的好?)- 照片墙,每一个照片的尺寸不一样,100张,并且有圆角,很卡顿,那么我们怎么处理这一百张图片和一百个圆角?
    7. coreGrahpis,coreAnaimation,coewImage这三个库的区别? 绘制圆角用的是那个库??
    8. 如果圆角的问题解决,但是横向很快的拖动的时候,页面要加载很多图片的时候会卡顿,怎么解决????
    9. 淘宝换肤的功能,主题包括哪些东西(文件,应用字体样式,小的Icon等等)等视野视野可见的元素都要换,怎么替换?
      —貌似runtime不可行。
    10. atutoRelease作用什么?只在ARC中有?在MRC中没有?为什么? atutoRelease怎么知道这个对象的生命周期可以结束,可以被释放?(怎么精确知道不能早,早了就是野指针,晚了就是内存泄露。)
    11. Runloop是做什么的?
    12. 消息机制,消息转发和谁有关系?归Runloop还是Runtime?
      消息转发的三个方法,做了什么?具体说一下。
    13. OC是动态语言,表现在哪些方面? 方法,属性,
    14. Runtime具体是个什么东西?他在什么时机发挥作用?
    15. Runtime除了消息机制意外,还是有哪些应用场景?
    16. weak属性有是那么特性?置为nil怎么实现的? 哈希表的key和value分别存的什么?举个例子: 比如 100个weak 指针指向一个对象A, 那么value存的是什么?
    17. KVO用过吗?怎么实现的?怎么在属性变化的时候拿到通知的? (A是观察者,观察属性B的变化,B的属性了,A怎么知道的?谁去通知的?如何通知的?针对NSKVONotifying_A做了哪些东西?)
    18. iOS消息推送怎么实现的?(我给你发个微信,微信给你发个消息) ANPS是什么?怎么做到推送实时性,立马能收到?断网的情况下能收到吗?长链接是手机上每个应用都保持和苹果服务器保持长连接吗?
      消息推送在安卓手机上是怎么实现的? 安卓手机上有APNS这个东西吗?
      苹果做消息推送的好处是什么?
    19. 收到消息推送之后,怎么进行跳转到一个新页面?
    20. iOS10之后对消息推送做了哪些心得酷炫的东西?
      24.反转一个二叉树?代码写出来 | 实现一个二叉树?
      25.反转一个单链表? 代码写出来

    比较好的文章

    GCD中的dispatch_apply的用法及作用 http://www.cnblogs.com/denz/p/5218187.html
    iOS 多线程开发GCD如何控制最大并发数 http://www.jianshu.com/p/9d5417ae07d2
    《招聘一个靠谱的 iOS》—参考答案(上) https://github.com/ChenYilong/iOSInterviewQuestions/blob/master/01%E3%80%8A%E6%8B%9B%E8%81%98%E4%B8%80%E4%B8%AA%E9%9D%A0%E8%B0%B1%E7%9A%84iOS%E3%80%8B%E9%9D%A2%E8%AF%95%E9%A2%98%E5%8F%82%E8%80%83%E7%AD%94%E6%A1%88/%E3%80%8A%E6%8B%9B%E8%81%98%E4%B8%80%E4%B8%AA%E9%9D%A0%E8%B0%B1%E7%9A%84iOS%E3%80%8B%E9%9D%A2%E8%AF%95%E9%A2%98%E5%8F%82%E8%80%83%E7%AD%94%E6%A1%88%EF%BC%88%E4%B8%8A%EF%BC%89.md#9-property%E4%B8%AD%E6%9C%89%E5%93%AA%E4%BA%9B%E5%B1%9E%E6%80%A7%E5%85%B3%E9%94%AE%E5%AD%97-property-%E5%90%8E%E9%9D%A2%E5%8F%AF%E4%BB%A5%E6%9C%89%E5%93%AA%E4%BA%9B%E4%BF%AE%E9%A5%B0%E7%AC%A6
    iOS面试题:腾讯二面以及参考思路 http://www.jianshu.com/p/dd17bdcff9f7
    深入理解Objective-C:Category: https://tech.meituan.com/DiveIntoCategory.html
    深入理解RunLoop https://blog.ibireme.com/2015/05/18/runloop/
    iOS 保持界面流畅的技巧: https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/
    Objective-C 对象模型: http://blog.leichunfeng.com/blog/2015/04/25/objective-c-object-model
    iOS 程序执行顺序和 UIViewController 的生命周期 (整理): https://juejin.im/entry/58b93b89a22b9d005ed8c58a
    iOS单例模式 or NSUserDefaults: http://yulingtianxia.com/blog/2014/04/07/iosdan-li-mo-shi-ornsuserdefaults/
    Objective-C Runtime: http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/
    Objective-C中的消息转发在具体实战中有什么用?: https://www.zhihu.com/question/55582425
    iOS-离屏渲染详解.: http://www.jianshu.com/p/57e2ec17585b
    iOS 高效添加圆角效果实战讲解: http://www.jianshu.com/p/f970872fdc22
    如何正确地写好一个界面:http://oncenote.com/2015/12/08/How-to-build-UI/
    绘制像素到屏幕上: https://objccn.io/issue-3-1/
    UIKit性能调优实战讲解: http://www.jianshu.com/p/619cf14640f3
    内存恶鬼drawRect: http://bihongbo.com/2016/01/03/memoryGhostdrawRect/
    UITableView的优化: http://www.jianshu.com/p/93085c0de4c9
    Core Graphics快速入门——从一行代码说起: http://blog.csdn.net/abc649395594/article/details/46386219
    iOS Core Graphics基础入门(3): http://blog.csdn.net/MerryGOOT/article/details/51933899
    iOS之使用NSInvocation调用方法: http://www.jianshu.com/p/e24b3420f1b4

    笔试面试知识整理:https://hit-alibaba.github.io/interview/iOS/ObjC-Basic/Block.html
    看完还不懂HTTPS我直播吃翔:http://www.jianshu.com/p/ca7df01a9041
    iOS中为什么非要用runtime才能在分类中扩展属性呢 http://blog.csdn.net/u014041012/article/details/57406196
    如何正确使用const,static,extern: http://www.jianshu.com/p/2fd58ed2cf55
    HTTP协议中GET和POST方法的区别: 1) https://www.zhihu.com/question/28586791 2) https://sunshinevvv.coding.me/blog/2017/02/09/HttpGETv.s.POST/

    NSURLSession与NSURLConnection区别: http://www.jianshu.com/p/056b1817d25a

    清晰理解Objective-C元类: http://blog.csdn.net/beclosedtomyheart/article/details/50164353
    iOS 之GCD串行和并发队列的理解: https://www.cnblogs.com/Ohero/p/4727000.html
    2017年iOS面试题总结:http://www.jianshu.com/p/f9eb6b315c08
    基础知识总结(一): http://www.jianshu.com/p/5bec0aeb3137
    Swift与OC真正去理解Block解决循环引用的技巧: http://www.code4app.com/blog-864937-1150.html
    runtime详解: http://www.jianshu.com/p/46dd81402f63

    招一个靠谱iOS: https://dayon.gitbooks.io/-ios/content/chapter11.html
    iOS 中 weak 的实现原理: http://www.jianshu.com/p/2bf505398f51
    iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析): http://www.cocoachina.com/ios/20170328/18962.html
    iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析): http://www.jianshu.com/p/13c4fb1cedea:

    socket编程: https://segmentfault.com/q/1010000006771916
    面试时,你被问到过 TCP/IP 协议吗?: https://juejin.im/post/58e36d35b123db15eb748856
    不再安全的 OSSpinLock: https://blog.ibireme.com/2016/01/16/spinlock_is_unsafe_in_ios/
    YYCache 设计思路: https://blog.ibireme.com/2015/10/26/yycache/

    loadView,viewDidLoad及viewDidUnload: http://www.jianshu.com/p/adfdd0fdb1f5
    Runtime之Method Swizzling: http://www.jianshu.com/p/934e6a98afba
    Realm、WCDB与SQLite移动数据库性能对比测试: http://blog.csdn.net/cloudox_/article/details/75012746

    NS_ENUM 和 NS_OPTIONS 之间的差异是什么?: http://www.itstrike.cn/Question/dc2f1712-927e-444f-9fdf-e4e51e4a103d.html
    地理编码的定义: https://www.cnblogs.com/xiwang/p/5831782.html

    iOS安全开发防护摘要: https://zhuanlan.zhihu.com/iOSRe/19646002
    HTTP 是基于 TCP 还是 UDP 的?:https://www.zhihu.com/question/20085992
    RunLoop总结:RunLoop的应用场景1,2,3,4,5:
    https://www.jianshu.com/p/fee0c5155b8e
    iOS循环引用: https://www.jianshu.com/p/13313baac740
    iOS中的SEl和IMP到底是什么: https://www.jianshu.com/p/4a09d5ebdc2c
    传输层TCP和UDP的区别分析与应用场景
    : http://blog.csdn.net/u013777351/article/details/49226101
    iOS中为什么非要用runtime才能在分类中扩展属性呢 https://slpowercoder.github.io/2017/02/11/iOS%E4%B8%AD%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9D%9E%E8%A6%81%E7%94%A8runtime%E6%89%8D%E8%83%BD%E5%9C%A8%E5%88%86%E7%B1%BB%E4%B8%AD%E6%89%A9%E5%B1%95%E5%B1%9E%E6%80%A7%E5%91%A2/
    iOS-内存管理之内存泄露爬坑记QAQ
    : http://lysongzi.com/2016/07/16/iOS-%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86%E4%B9%8B%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2%E7%88%AC%E5%9D%91%E8%AE%B0QAQ/
    NSTimer定时器进阶——详细介绍,循环引用分析与解决
    NSRunLoop原理详解——不再有盲点
    各种线程锁: https://www.jianshu.com/p/35dd92bcfe8c
    iOS底层-KVC使用实践以及实现原理: https://www.jianshu.com/p/fbd1e7c93fd0
    iOS开发 -- KVO的实现原理与具体应用
    : https://www.jianshu.com/p/e59bb8f59302
    RunLoop总结:RunLoop 与GCD 、Autorelease Pool之间的关系: https://www.jianshu.com/p/e259bf7ab297
    iOS 中 weak 的实现原理: https://www.jianshu.com/p/2bf505398f51
    iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析): https://www.jianshu.com/p/13c4fb1cedea
    loadView,viewDidLoad及viewDidUnload: https://www.jianshu.com/p/adfdd0fdb1f5
    【如何正确使用const,static,extern】|那些人追的干货: https://www.jianshu.com/p/2fd58ed2cf55
    轻松学习之一--Objective-C消息转发: https://www.jianshu.com/p/1bde36ad9938
    iOS之使用NSInvocation调用方法:https://www.jianshu.com/p/e24b3420f1b4
    [iOS 知识总结二] 为什么说Objective-C 是一门动态的语言: https://www.jianshu.com/p/7b395a8c3bd3
    杂谈: MVC/MVP/MVVM: https://www.jianshu.com/p/eedbc820d40a
    多线程编程1-NSThread
    多线程编程2-NSOperation
    多线程编程3 - NSOperationQueue . http://blog.csdn.net/q199109106q/article/details/8566222
    多线程编程4 - GCD http://blog.csdn.net/q199109106q/article/details/8566300
    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别? https://www.baidu.com/link?url=C6q8vEXNajRNph60ustwwYuv6Q7IhSm9cCP5G3OQIDSNbEgTk4AII9ui5JO250l2&wd=&eqid=e8ff62480002d96a000000045a048728
    iOS基础之 UIKit框架 全解析 . https://www.jianshu.com/p/a0e0075a75fe
    离屏渲染: http://blog.csdn.net/qq_29846663/article/details/68960512
    iOS-离屏渲染详解. https://www.jianshu.com/p/57e2ec17585b
    @synthesize和@dynamic区别
    Swift与OC真正去理解Block解决循环引用的技巧https://www.jianshu.com/p/bf2b8f278a81
    用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?: https://www.jianshu.com/p/f974cf4891ac
    问题[※※]:objc中向一个nil对象发送消息将会发生什么? https://www.jianshu.com/p/b7cda433e4f5
    __weak修饰详解及解决循环引用使用 https://www.jianshu.com/p/a252fdd42603
    iOS中block的循环引用问题: https://www.jianshu.com/p/492be28d63c4
    block 循环引用问题的一点发散 https://www.swiftcafe.io/2017/02/02/weak-block/
    iOS | 小心NSTimer中的循环引用: https://www.jianshu.com/p/2fe076e5e255
    iOS 循环引用的四种情况 https://www.jianshu.com/p/13313baac740
    通俗大白话来理解TCP协议的三次握手和四次分手 https://github.com/jawil/blog/issues/14
    Runloop笔试面试知识整理 https://hit-alibaba.github.io/interview/iOS/ObjC-Basic/Runloop.html
    清晰理解Objective-C元类 http://blog.csdn.net/beclosedtomyheart/article/details/50164353
    深入理解Objective-C:Category https://tech.meituan.com/DiveIntoCategory.html
    高效的圆角解决办法
    iOS的系统层级结构和相关的框架 http://blog.csdn.net/lxl_815520/article/details/51172917 https://www.jianshu.com/p/c40f4d43adb7
    iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析) https://www.jianshu.com/p/13c4fb1cedea
    iOS--KVO的实现原理与具体应用
    Cocoa Touch 框架 https://www.jianshu.com/p/a26fcbb3281a
    iOS底层-KVC使用实践以及实现原理 https://www.jianshu.com/p/fbd1e7c93fd0
    iOS 中几种常用的锁总结 https://www.jianshu.com/p/1e59f0970bf5
    iOS多线程-各种线程锁的简单介绍 https://www.jianshu.com/p/35dd92bcfe8c
    不再安全的 OSSpinLock https://blog.ibireme.com/2016/01/16/spinlock_is_unsafe_in_ios/
    NSCache优于NSDictionary的几点? http://blog.csdn.net/bowei1105/article/details/73320997
    构建缓存时选用NSCache而非NSDictionary http://ju.outofmemory.cn/entry/236986
    NSRunLoopCommonModes和Timer https://www.jianshu.com/p/360156006195
    探索 Block (一) (手把手讲解Block 底层实现原理)
    看完还不懂HTTPS我直播吃翔 https://www.jianshu.com/p/ca7df01a9041
    iOS,什么应用或者场景下需要使用socket编程?
    HTTP协议中GET和POST方法的区别 https://sunshinevvv.coding.me/blog/2017/02/09/HttpGETv.s.POST/
    nsnotification是线程同步的吗?https://www.google.com.hk/search?safe=strict&hl=zh-CN&source=hp&ei=4o4VWvCFDIK90AS-ko3gDw&q=nsnotification%E6%98%AF%E7%BA%BF%E7%A8%8B%E5%90%8C%E6%AD%A5%E7%9A%84%E5%90%97%EF%BC%9F&oq=nsnotification%E6%98%AF%E7%BA%BF%E7%A8%8B%E5%90%8C%E6%AD%A5%E7%9A%84%E5%90%97%EF%BC%9F&gs_l=psy-ab.3...1179.13832.0.14184.52.36.0.0.0.0.505.4677.3-8j3j1.12.0....0...1c.1j4.64.psy-ab..41.5.1826...0.0.AmLNnbOz4YE
    https://southpeak.github.io/2015/03/14/nsnotification-and-multithreading/
    iOS中的SEl和IMP到底是什么 https://www.jianshu.com/p/4a09d5ebdc2c

    备忘 (你可以忽略)

    1. nssring,nsarray的属性用copy,就相当于是把传入的数据copy了一份。传入的数据在别处修改的时候,不会影响属性的变化。??
      属性加property和 [mutableArray copy]这种不是一个意思
      property+copy是出一个不可变的数组。
      iOS开发 深拷贝与浅拷贝 https://www.jianshu.com/p/f01d490401f9

    交流


    希望能和大家交流技术
    Blog:http://www.lilongcnc.cc


    相关文章

      网友评论

      • 朱_源浩:好厉害,平时写项目用到的甚少,现在还没准备真的看过去几乎都答不上来,工作两年多,想努力一把
      • Jeavil_Tang:总结的不错,老铁
        春田花花幼儿园:中心思想的一句话刚更上去,哈哈
      • 天空总是很晴朗:工作两年半了,提到的面试题大多见过,用过,却很少答得上来,惭愧

      本文标题:2017面试小结

      本文链接:https://www.haomeiwen.com/subject/yruagxtx.html