wxg客户端(iOS基础面安卓)两面面经
前言
一开始收到面试官电话,问我安卓考不考虑(我是iOS的),我说可以,他说春招没hc了,社招可以吗?对你的要求和对应届生要求一样。思考了一下接了面试。
后面邮件发过来才发现是wxg,人直接傻了。。。(难度很大)
一面 (3.21 1h30min)
面试官满严肃的,然后面试过程中时不时流露出“你好菜啊”“这都不会”的神情。现在想想留下了不学无术的泪水55555
C++
1、new是啥?new和malloc啥区别?new出来的对象能malloc吗?(我想了想说new会做一些其他操作,比如数组长度并保存 ,所以理论上是不行的,后面一查)
2、继承多态封装,啥是继承?(答得不好)
3、栈为什么自底向上
4、内存分配(栈堆相关)
5、智能指针
6、知道什么是静态编译什么是动态编译吗?
7、虚函数,虚函数表、纯虚函数
iOS
1、ARC是啥,ARC全称?ARC做了啥?
2、ARC怎么管理内存的?(count)
3、KVO了解吗?
4、面向接口编程了解吗?
5、block相关,怎么知道block指向堆的还是栈的?
6、怎么保证block能访问到同一个变量?(forwarding指针)
7、block怎么移到堆上,为什么要截获变量?(没答上来)
8、循环引用有哪些?
9、RunLoop相关,timer有什么意义?(没答上来),RunLoop源码看过吗?
10、卡顿监控了解吗?
11、离屏渲染,以及为什么会出现离屏渲染?为什么要新增一个缓冲区?(当时看过以为理解了,一问还是答不上来)
12、事件的响应链
计网
1、HTTP结构?(不知道问啥,答了请求头响应头那些)
2、HTTP怎么声明的TCP/UDP
3、URL输入到显示的过程?
4、Web开发了解吗?(html那套,问我如何渲染,不了解)
5、三次握手,四次挥手,为什么是三次(全双工)
6、HTTPS,为什么用非对称密钥和对称密钥的组合?了解加密算法吗?(不了解)
操作系统
1、线程进程区别,进程之间如何通信的?线程呢?
2、缺页中断了解吗?
设计模式
1、了解什么设计模式?(答单例模式,iOS的单例模式是默认线程安全的,忘了看这方面java的实现方式了5555)
2、责任链模式?为什么使用责任链模式不用ifelse?(其实都是为了解耦好维护,当时脑子太乱了根本想不起来)
3、MVVM和MVC相关,MVVM的核心是啥?(数据绑定)双向数据绑定指啥?
总结
只是其中一部分记得起来有一点思路的问题,还有其他没听说过的问题现在想不起来了。。。总体来说难度挺高的,不只是这篇文章写的这点问题,每点问题都得是真的会而且比较熟悉面试官才会放你过,否则就会被怼。面试官:你好像没答到点上啊。
顺便一提,面试前后我都是躺平的状态,没报多大希望。。
二面(3.21 30min)
一面半小时后二面,二面leader好像挺年轻的,但是给的压力很够。。也是全程“就这?”“好菜啊你”的感觉。。。
项目相关
让介绍了一下接手的需求,然后问了项目相关的,花了十分钟把其中一个独立的项目的流程图画了一下。讲完后面试官:“你这个难度好像也不大啊?也就处理一下时序的关系。”默默流泪,是的您说的没错呜呜呜。
闲聊
面试官随便问了一点点基础的问题后问职业规划,问对移动端,嵌入式之类的看法,我说都可以接受。
大招
离开前面试官还问了一堆不会的问题。XSS注入了解吗?图形渲染管线了解吗?知道怎么保证TCP/IP的安全吗?做过安全相关的内容吗?啊?那你学的C++到底是用来干什么的?(我:是的我是个小菜鸡呜呜呜)最后他说,他会让一面面试官出道作业给我,看看我的学习能力。躺平.jpg
#面经##腾讯##安卓工程师##社招#