面试经验|京东面经、网易有道、360等面经
6796
2021.11.13
发布于 未知归属地

其实我是2021年秋招的女程序媛,拿了京东的offer。但后面还是选择了老家所在城市的公司。

京东一、二面
流程是两个技术面试,几乎一两天搞定,需要人再面试,只是后面人力谈薪资。

我面了很多家公司,面试的专业知识都差不了太多,《iOS程序员面试宝典》这本书基本都包含了,网上有很多电子版,当时我怕网上给的不全,还买了个纸质的,现在看来纯属浪费呀。可加我得到资料,在最后边哦。
面多了发现面来面去都是那些题目问过来问过去,当时秋招投了好多公司,做了很多测评,也拿了不少offer,可发现最终也只会选择一家公司,所以我觉得找工作首先得找好自己的目标城市,然后针对性的投递,不然会太累哦。

话不多说,放一点我能记住的面试题。
jingdong的是电话面试,没有编程题。

技术:

  1. runtime

  2. runloop

  3. weak原理

    答: 一个全局的weak_entry_t,weak_entry_t * weak_tntries
    对象释放流程: objc_release -> 引用计数器为0 -> dealloc -> objc_rootDealloc -> objc_dispose -> objc_destructInstance -> objc_clear_deallocting 才会调用该对象的weak指针数组,将其依次置为nil

  4. 三种多线程技术,GCD可以取消队列中的任务么

  5. SDK的了解

  6. 组件化技术

    1)target-action方案

    优点:
    1、内存中不需要维护映射表
    2、不需要注册
    缺点:1、中间件实现繁琐。
    2、中间件方法类型、参数、返回值不够灵活。
    中间件方法内部使用字符串来调用方法和类,调用死板。
    3、中间件方法内部容易写错,编译没问题,而实现运行就出问题了,维护不方便。

2)url-block方案

优点:统一了ios和安卓平台差异性,以及h5和app的交互都可以使用该路由。
缺点:1、需要在内存中维护url-block表,组件多了可能会有内存问题。
2、url的参数传递受到限制,只能传递常规的字符串参数,无法传弟非常规参数,如UIImage、NSData等类型。
3、未区分本地调用和远程调用的情况,尤其是远程调用,会因为url参数受限,导致一些功能受限。
4、组件本身依赖了中间件,且分散注册使的耦合较多。
5、url注册查找不够高效,且维护不方便,编译没问题,运行出错难于找错。

3)protocol-class

1、解决了无法传递非常规参数的问题
2、组件间的调用更为方便
3、解耦代码量少,实现方便,以后维护也方便。
4、协议方法改变后,编译就会报错,避免代码个性遗漏。
5、协议方法未实现的话,会报编译警告。
6、方法查找容易,调用高效。
缺点
1、内存维护映射表
2、组件的方法调用分散
3、组件协议需要注册,不注册就无法调用。

4)url-controller

  1. block类型,为什么用__weak修饰了就不会循环引用了

  2. 性能优化做了哪些

问的挺多的,记不全了。几乎都包含在面试书里。

我现在在这里,可投递加我得资料哦。
万兴科技,全国同岗同薪,在长沙等城市工资很有竞争力哦
校招内推投递链接:
https://www.wondershare.cn/join-us.html

内推码:NTAHBfC
投递后,可加VX,交流面经、查询面试或者是聊聊公司都可~ 18072530104

评论 (0)