• 2019暑期实习面试


    基本信息

    事业群:PCG

    岗位:移动客户端开发(iOS、Objective-C语言开发)

    实习时间:6月份之后的暑期实习

    面试日期:3月30日 - 3月31日

    offer call:4月10日(看到很多小伙伴都接到offer call了,内心有一些着急,9号换了ycy头像)

    一面

    面试时间一共为:28min,3月30日

    问题涉及:iOS项目、操作系统

    问题未涉及:计算机网络、数据结构、算法、场景

    项目介绍及相关问题:

    APP

    1.获取当前天气功能为什么要使用协议代理?过程如何?

    表述还需加强。

    2.是否接触TableView渲染性能相关的东西?

    • cell的数目,配置tableview数据

      重用单元格的形式,数据成千上万行,最终渲染个数为屏幕上显示的数目。

      往下拉的时候,最上面的cell到最下面来,放置重复渲染,提高手机性能。

    • 刷新页面的两种方法

      • 无动画效果:tableView.reloadData(),就是相当于执行 cell for row的方法,将结果取出来,再更新视图

      • 将刷新语句放在View.beginUpdates()、tableView.endUpdates()中间,可以提高app的性能

    基础问题

    iOS相关问题

    3.MVC模式,有什么缺点?

    介绍了概念和优点。

    缺点猜测作答。

    4.RunLoop是什么?

    • 概念:事件循环对象,在循环过程中处理各种事件(点击、刷新等),从而保持程序持续运行;在没有事件处理的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。

    • 为什么需要:一个线程只能执行一个任务,执行完就会退出,如果我们需要一种机制,让线程能随时处理时间但并不退出,那么 RunLoop 就是这样的一个机制。Runloop是事件接收和分发机制的一个实现。

    • Runloop 和线程是绑定在一起的。每个线程(包括主线程)都有一个对应的 Runloop 对象。我们并不能自己创建 Runloop 对象,但是可以获取到系统提供的 Runloop 对象。

    5.点击事件之后发生什么?

    这里没准备过,跟面试官说是否可以根据已有知识猜测一下流程,面试官说可以。

    大概从获取事件源,执行事件内容方面作答。

    操作系统问题

    6.进程和线程的区别?

    操作系统的概念;异同点;iOS上的进程和线程,多线程。

    7.多线程共享资源,如何防止资源问题?

    • 资源是否是独占(独占锁 - 共享锁)

    • 抢占不到资源怎么办(互斥锁 - 自旋锁)

    • 自己能不能重复抢(重入锁 - 不可重入锁)

    • 竞争读的情况比较多,读可不可以不加锁(读写锁)

    提问环节

    我:为什么面试时间较短?

    有人面试一个小时,被举报了。

    面试官:是否介意转正率低?

    不介意,先努力转正,不行可以秋招再投递。

    二面

    面试时间一共为:28min,3月30日

    问题涉及:iOS项目、网络、排序算法

    项目介绍及相关问题

    自由探索科研项目

    1.高维数据降维

    2.数据稀疏如何处理

    3.梯度下降过程

    APP

    4.网络请求的第三方库是什么?

    基础问题

    网络

    5.HTTP状态码

    6.HTTP和HTTPS的区别

    算法

    7.稳定的排序有哪些?

    三面

    面试时间一共为:23min,3月31日

    项目介绍及相关问题

    1.遇到的困难?

    反向传值delegate+protocal;

    GCD主线程控制UI刷新。

    2.是否了解性能相关的东西?

    渲染和多线程

    3.是否了解跨平台开发?

    不了解,聊了一些前端的东西。

    https://juejin.im/post/5b076e3af265da0dce48fe95

    social环节

    4.为什么想做iOS开发?

    5.未来移动端开发的趋势是什么?

    可能以后 Web 和 Native 的边界会越来越模糊。偏向于Hybrid APP开发。

    (我是果粉,面试的时候表现的是热爱iOS开发。然而说到最后,面试官老师说未来的趋势是安卓,感觉就有点崩了。最后建议我了解跨平台开发。)

    HR面

    时间:9min,3月31日下午4点半

    自我介绍+哪里人+是否愿意来深圳之类的问题。

    offer call

    时间:2min,4月10日上午11点

    确认个人信息、部门、岗位、工作地点。

    通知今日之内会发放offer到邮箱。

  • 相关阅读:
    SQOOP的安装配置_Linux伊甸园开源社区24小时滚动更新开源资讯,全年无休!
    Cloudera's Hadoop Demo VM for CDH4 Cloudera Support
    海量文档查同或聚类问题 Locality Sensitive Hash 算法
    part 1: resemblance with the jaccard coefficient
    计算机科学中最重要的32个算法zz
    详细的tfidf构建过程实例(转)
    2012 Beijing Google Dev FastDay(11/03/2012) 移动新观察
    百度技术沙龙
    Hive官方手册翻译(Getting Started) 实践检验真理 51CTO技术博客
    《周末休闲吧》:教你如何玩车震——车震全程攻略!_周末休闲吧_百度空间
  • 原文地址:https://www.cnblogs.com/iriswang/p/11084619.html
Copyright © 2020-2023  润新知