腾讯北京 Android 岗实习凉面

菜是原罪。

前情提要

半个月之前突然有个同学跟我说,有个学长在腾讯北京那边,最近在招 Android 岗的实习生,问我有没有想法。最开始是不太敢答应的,毕竟 Android 开发我也就半吊子调库侠。但后来想了想 DDL 才是第一生产力,总得有个事情逼着自己去系统学习,就把简历投过去了。

提交简历三天之后收到了面试通知,约到了四天之后。说实话很紧张,所以也就只能是看个大概。重在参与了。

提问

  1. 在浏览器中访问一个页面,中间会用到哪些协议?
  2. 简单介绍一下 TCP
    • 分为几层?
    • 为什么需要三次握手和四次挥手?
    • TCP 和 UDP 的区别?
    • TCP 通过哪些机制来保证数据包一定会送达?
  3. 多线程
  4. 介绍一下 synchronizeviolate 关键字的区别
  5. violate 和指令重排
  6. 双重校验锁的单例模式为什么需要两次判空?
  7. 多线程中为什么需要锁机制?
  8. 开发中有没有遇到过 XXX(没记住)
  9. 线程池的意义
  10. 开发中有用过 RecycleView 吗?简单介绍一下。
  11. RecycleView 的优点有?
    • DiffUtil 用到的差异比较算法能说说吗?
    • - 如果让你来实现一个 DiffUtil,你会怎么做?
  12. Bitmap 有在开发过程中使用过吗?
    • 如何计算一张图片在内存中的大小?
  13. OOM 和内存泄露的区别?
    • 有没有什么工具可以检测内存泄漏?
    • LeakCanary 的原理有了解过吗?
  14. (没记住)
  15. 谈谈你对协程的理解?
    • 在开发中使用协程的实例?好处?
    • XXX(没记住,可能是协程相关的东西)的源代码有看过吗?
    • 取消协程有哪几种方法?
      • 取消协程之后,协程的工作是否会立即停止?
      • 如何在取消之后停止协程内的工作?
  16. 谈谈你对 Handler 的理解。
    • Looper 中的循环是死循环吗?
    • 为什么 Looper 的死循环不会导致界面卡死?
  17. 谈谈你对于 MVVM 的理解以及开发中的应用。
  18. 谈谈你在开发中用到的缓存策略。
    • 你用到的缓存是如何保存的?
    • 为什么选择使用 SharedPreferences
    • 除了 SharedPreferences 你还知道哪些缓存实现?
    • 介绍一下 SharedPreferences 的优缺点。
    • (没记住)
    • 介绍一下 HTTP 中的缓存策略。
  19. 谈谈你对 Retrofit 的封装。
    • 封装时有进行什么优化工作吗?
  20. 讲讲你做过的别的什么项目。
  21. 你在项目中有遇到过什么问题吗?你是如何解决的?
    • 为什么自行在 Item 里实现 Divider,而不是使用 RecycleView 的 ItemDecroation

算法

T1

给定一个二叉树,请从根结点开始,按照前序遍历的顺序打印所有的节点,每次打印完一个子树后再打印一次根节点。比如:

    2
   / \
  3   4
 / \   \
5   6   7

打印的结果是 2 3 5 3 6 3 2 4 7 4 2

再比如:

  1
 /
2

输出的就是 1 2 1。 再比如:

  1
 / \
2   3
   / \
  4   6
 /
5

输出就是 1 2 1 3 4 5 4 3 6 3 1

T2

假设这是一棵二叉搜索树(左边的子树的数字都比根结点小,右边的子树的数据都比根节点大),能否根据遍历后的打印结果,将这棵树建起来?
比如打印的结果是:3 1 2 1 3 6 5 6 7 6 3,那么这棵树就应该是:

   3
 /   \
1     6
 \   / \
  2 5   7

如果给定的不是二叉搜索树,而是一棵普通的二叉树,那么还能否重建?

后续

没收到后续的通知,看样子是凉了。意料之中的事情,一周之内也看不了什么。不过这次面试倒是很好的一次经验,知道后面该重点学习什么了。

评论

  1. 10月前
    2021-1-01 19:06:31

    哇哈,,原来学长写了面经的...宝贵的经验!!!今年加油 🙂

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇