• Home
  • About
    • 杜玮的博客 photo

      杜玮的博客

      iOS小开发仔,objective-c、Java、C

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

百度面经

27 Apr 2018

Reading time ~5 minutes

百度一面

  • 自我介绍
  • 做项目用什么语言

    OC和Swift都有

  • OC和Swift的区别
  • Swift面向协议编程的理解(举例)

    四边形缺陷,多重继承解决

  • iOS事件响应链

    美团问过

  • post和get的区别

    腾讯问过

  • GCD中串行、并行、并发的概念
  • 多线程内存泄漏情况
  • 内存泄漏常见情况
  • 为什么块内部要重新强化弱化的对象
  • 你是怎么优化代码的
  • 死锁的情况
  • 死锁的四个必要条件
  • 怎么解决死锁

    • 请求与保持条件:银行家算法
    • 不可抢占:不知道
    • 循环等待:等待超时机制
    • 互斥条件:PV操作、信号量机制
  • 为什么重构网络请求框架
  • 手撕快排
  • 快排的非递归实现
  • 数据库索引的实现原理

    不会

  • 平常关注的技术博客有哪些
  • 有没有看WWDC

半个钟完事,面完直接跟我说过了,准备二面

百度二面

这次的面试官很好人

  • 自我介绍
  • GitHub有什么内容
  • 怎么实现的
  • 有没有用户反馈

    有几个star咯

  • 开发遇到的问题
  • HTTP和TCP/IP对比

    HTTP是应用层协议,是超文本传输协议

    TCP/IP是传输层协议,主要用于建立连接

  • 有学习过算法吗

    没有!

  • 怎么实现长链接

    我问了服务端要不要推送信息给客户端,还是说只是客户端单方面请求,他说分开来说

    单方面请求:keep-alive 推送信息:webSocket

  • 怎么判断长链接断线了

    socket心跳机制

  • 平常项目用哪种架构比较多

    MVC

  • 为什么使用MVC
  • 为什么重构网络请求框架

百度三面

这次的面试官感觉是安卓开发的

  • 我看到你简历上面没有写项目相关的内容,你在学校只是学习吗

    ????

  • 项目相关
  • 项目遇到最大的问题
  • 为什么重构网络请求框架

    问了三遍了大哥

  • 有学过其他技术吗
  • 有了解过安卓开发吗
  • 为什么不做安卓开发,iOS系统闭源会有很多问题,安卓就没有

    你可醒醒吧你

  • 未来职业规划

然后等了一个多小时都没反应



iOS开发面经 Share Tweet +1