美文网首页
TikTok短视频Android一面凉经(2024)

TikTok短视频Android一面凉经(2024)

作者: 李景三 | 来源:发表于2024-07-21 23:15 被阅读0次

TikTok短视频Android一面凉经(2024)

tt.jpg

笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《TikTok短视频Android一面凉经(2024)》。

面试职位: Android工程师

技术一面

  • 面试形式:视频面试
  • 面试时长: 90min(提问60min + 代码25min + 反问5min)
  • 代码考核: 数组实现队列。 push, pop, size。进阶:泛型; 再进阶: 线程安全
  • 岗位地点: 杭州余杭区抖音集团(EFC)

面试问题(60min)

  • 是否在职, 离职时间
  • 介绍一下你在上家单位做的东西吧
    • 这些业务模块是你一个人负责吗?
  • RN页面打开速度优化
    • 这个页面为什么要改成RN呢?
    • 所以为什么技术上要去选择RN呢?看上去有很多技术风险。
    • 你们有很强的跨平台的诉求吗?
    • 你了解的动态化方案有哪些?
    • 那为什么会选择RN, 而不是UI动态化的方案?
    • RN的技术原理, 执行流程, 渲染原理。
    • 深入一点吧。第一步, js代码和js引擎之间的解析关系, 包括和原生的通信方式是怎么做的?
    • 能更具体点吗?它怎么去解析jsbundle的, 怎么去映射成Native的View的。
    • 核心的执行流程呢?
    • 负责RN化的时候, 你负责的是哪块部分?
    • RN相关的性能优化, 是怎么做的优化, 取得预期收益有哪些, 深入一下技术原理。
    • 局部刷新的原理?
    • 如何做RN和原生的性能对比?
    • 除了启动时长, 还有哪些性能指标?
    • 帧率怎么监控?
    • 你说到更好的方案当时是怎么做的?
    • 编舞者在Android系统上的作用?
  • 播放优化
    • 你做了什么事情?
    • 预加载x个不会带来资源的竞争和劣化吗?
    • 播放器播放文件的整个流程?
    • 视图预热对App的内存影响有具体关注过吗?
    • 如何监控内存?
    • 怎么做的?
    • LeakCanary是在发生内存泄漏的时候去dump内存, 有没有在未发生内存泄漏的时候监控内存的手段。
  • retrofit的技术原理。
    • 动态代理是如何实现的?
    • Retrofit如何将注解调用到okhttp的网络请求流程里?
    • 如何拿到注解, 如何转化成okhttp的request?
  • 举个例子, Tiktok的feed流的冷启动起播速度优化, 你会怎么做?
    • 还有别的吗? 启动速度还跟什么有关?

代码考核(25min)

数组实现队列。 实现三个方法push(), pop(), size()。自己设计用例。要求能编过, 运行逻辑正确。
进阶1: 泛型。(Int改为T)
进阶2: 线程安全。(方法加synchronized)

fun main(args: Array<String>) {
  val q = Queue<Int>(1)
  println(q.push(1))// 1
  println(q.push(2))// 2
  println(q.push(3))// 3
  println(q.size())// 3
  println(q.pop())// 1
  println(q.push(4))// 4
  println(q.size())// 3
}

class Queue<T>(var n: Int) {
  private var arr = Array<Any?>(n) {}
  var h = 0
  var t = 0

  fun pop(): T {
    val ans = arr[h]
    h = (h + 1) % n
    return ans as T
  }

  fun push(num: T): T {
    arr[t] = num as Any
    t = (t + 1) % n
    if (t == h) {
      val newSize = n shl 1
      val newArray = arr.copyOf(newSize)
      arr = newArray
      h = 0
      t = n
      //println("扩容: $n -> $newSize")
      n = newSize
    }
    return num
  }

  fun size(): Int {
    return if (t > h) {
      t - h
    } else {
      n - (h - t)
    }
  }
}

反问问题(5min)

应聘岗位负责的业务

Tiktok的feed功能相关, 业务迭代开发。交互部分, Tab框架。Feed相关的二级页面。

Tiktok人数, 规模

不方便说。规模比较大。

Tiktok国内国外?

国内国外都有。

这个岗位会负责播放相关的?

会有。短视频应用。

底层播放能力是有单独的团队去做的吧?

对。但我们会有一些深入的定制化相关的, 都会涉及到播放器相关的。

TT跨端方案用的多?还是都是native?

都有。

这个岗位负责的内容有跨端相关的吗?自研的?

也有。自研。跟RN类似, 技术方案不太一样。

鸿蒙?

不方便说。

对候选人能力的要求。职级要求?

没有特别的要求, 主要也是就这你的简历来提问。不方便。

工作地点。你是在上海?

杭州的话在西溪那边。面试官是在上海。

字节每一轮技术面都会有代码考核吗?

基本上都会有, 更倾向于面试官的风格, 偏好。

几轮技术面?

HR安排。

技术相关的, 是不是还是不太方便聊?

这个太宽泛了, 要是以后有机会的加入我们的话, 可以再详细聊。

总结

  • 虽然我应聘的是杭州的岗位, 但面试官是在上海的。近期接触到的面试, 基本都是这样, 异地面试。反正都是视频面试也没差。
  • 虽然这一次面试面了一个半小时, 但从反问环节也能看出, 面试官对我并不满意, 也不愿透露更多部门团队相关的信息。
  • 不仅要把自己做过的项目背景、选型、自己负责的内容、优化项、优化收益这些内容讲清楚, 还需要把项目中使用到的技术的原理说得明白。
  • 这次的代码考核整体不算太难。主要涉及三个知识点:
    • 数组扩容
    • 泛型
    • 线程安全

相关文章

  • 快来!不一样的抖音TikTok 不用“翻墙”也能看哦

    工具名称:TikTok (文末获取下载地址) 适用系统:Android 近年来短视频火爆,你是不是刚才还在躺着“刷...

  • 海外抖音tiktok赚钱吗,可以通过短视频tiktok真的赚钱吗

    海外抖音tiktok赚钱吗,可以通过短视频tiktok真的赚钱吗,海外抖音tiktok如何变现? 大家可以看看,這...

  • 阿里一面凉经

    介绍一下自己 epoll,poll,io,nio 数据库了解多少,说一说了解的。mysql引擎,底层,sql语句执...

  • 手撕面经 - 精准打击

    校招2篇,实习1篇,会及时做出调整 字节跳动前端一面面经(感觉凉凉) [字节]一面凉经 腾讯暑期实习前端面经

  • 每日安全资讯(2020.04.15)

    因未启用HTTPS,利用漏洞可向TikTok用户推送虚假视频抖音海外版TikTok披露了一个安全隐患,当部分视频没...

  • 特朗普现支持TikTok的竞争对手Triller

    特朗普已加入Triller,Triller是视频共享应用程序TikTok的竞争对手,它想在美国取缔TikTok。首...

  • 字节跳动一面凉经

    【每日一语】如果这世界上真有奇迹,那只是努力的另一个名字。生命中最难的阶段,不是没有人懂你,而是你不懂你自己。——...

  • 美团一面凉经

    很多人都无从得知自己的天赋,因为找不到相信他们的老师。于是他们深信自己很笨。——《心灵捕手》 我的面试官特别重基础...

  • 字节跳动 一面 凉经

    1.自我介绍 2. 简历中的项目深挖: (1)主要工作,具体落实流程。 (2)我说我负责用例设计,她问用例设计上遇...

  • 税友一面凉经

    1、自我介绍;为什么想离职;业务规模 2、说说jvm垃圾回收(为什么内存碎片会产生 空间浪费) 3、说说缓存 4、...

网友评论

      本文标题:TikTok短视频Android一面凉经(2024)

      本文链接:https://www.haomeiwen.com/subject/umrehjtx.html