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

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安排。

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

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

总结

  • 虽然我应聘的是杭州的岗位, 但面试官是在上海的。近期接触到的面试, 基本都是这样, 异地面试。反正都是视频面试也没差。
  • 虽然这一次面试面了一个半小时, 但从反问环节也能看出, 面试官对我并不满意, 也不愿透露更多部门团队相关的信息。
  • 不仅要把自己做过的项目背景、选型、自己负责的内容、优化项、优化收益这些内容讲清楚, 还需要把项目中使用到的技术的原理说得明白。
  • 这次的代码考核整体不算太难。主要涉及三个知识点:
    • 数组扩容
    • 泛型
    • 线程安全
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345