微信基础团队 客户端开发 一面面经
先是做了个AI面,全是简答题:
1、输入url到http请求响应,两台机器用HTTP找到对方,访问一个网页的过程
2、线程的多少状态,怎么切换
3、在进行UI渲染时,怎么降低主线程渲染压力
4、做一个电子书客户端,用户快速翻页,要怎么优化性能?
说完问题后一分钟时间回答,最后一个问题时还会根据你的回答再问一些问题
正式面试:
1、智能指针,shared_ptr是线程安全的吗?
这里不是很熟悉,我说不是,面试官问除了锁之外还有什么高效方法,没答上来
2、堆栈内存的区别?栈是怎么自己管理内存的?
3、动态链接库相关的一系列问题,先是抛出了一个使用函数的问题,根据我的回答再提问
4、两台机器用HTTP找到对方(和访问网页的过程的差不多),也是从这个问题开始,根据回答进一步问了很多问题
5、假如路由器发现现在要发的包目的和源IP是一样的,怎么处理?
手撕:实现一个懒汉式,线程安全的单例模式