写点什么

2021 字节跳动,金三银四内幕 Android 中高级面试题合集 - 令人细思极恐!

用户头像
Android架构
关注
发布于: 刚刚

2020 面试题精选分享

腾讯面试题分享

一面 42min 电话面试
  • 项目经历,开发中遇到什么问题,最后怎么解决的

  • TCP 三次握手,拥塞控制

  • 一面更多的是聊项目,面试官没有问太多基础的知识,面试官主要是在我介绍自己项目的时候切入问问题,整个过程氛围很开心。

二面 45min 视频面试 3.21
  • 安卓的设计模式有没有了解,工厂模式之类的

  • IPC,多线程

  • hashmap 相关

  • 扩容因子

  • hashmap 与 hashtable 区别

  • hashmap 重写了 equals 方法但是不重写 hashcode 方***怎么样

  • haspmap 查找的时间复杂度,可不可以优化

  • 我说把链表改成双向链表,还可以改成 avl 树,b 树,b+树,减少查找的时间复杂度。

  • 计网三次握手,四次挥手

  • 两道算法

  • 一个简单博弈问题,两个人分别选择最大的数直到选完,求最后两个手上数的和之差,实际上是排序就行了,重点在排序算法的选择,可以直接用 C++的 sort 函数,我自己手写了归并排序来用。

  • 提供一种大小为 N 的 CD,还告诉你有两种大小 A,B 的歌,每种歌的数量也告诉你为 x,y,往 CD 里放歌,尽量利用 CD 的空间能放多少放多少,每首歌不可拆分放,可用的 CD 总数不限,求有多少种排列方式。最后理了思路,就是用递归就行了。

  • 项目相关,开发中遇到的问题及解决办法

  • 问面试官问题,问的是面试官您认为哪些能力是更重要的,面试官说是基础更重要——数据结构,计网,算法。

三面 2h10min 视频面试 3.25
  • 操作系统相关知识

  • 栈内存,堆内存

  • 进程,线程

  • 竞争

  • 计网

  • TCP 三次握手

  • TCP 拥塞控制

  • 浏览器访问网址,具体发生了什么

  • DNS 协议怎么工作的

  • 安卓相关知识

  • activity 生命周期

  • 为什么要有任务栈,任务栈有什么作用

  • viewholder 的作用

  • view 绘制过程

  • view,window 和 activity 之间的区别

  • OOM 什么情况会发生,怎么解决

  • 两道算法题

  • a[100]中逐个填 1~100 的随机数,且不能重复

  • 大数相乘

  • 项目经历,开发中遇到的问题及解决办法

  • 谈谈你的优点

  • 你之前腾讯面试失败,是为什么,那两道题为什么没做出来

  • 那道题是输入一个字符串,从中删除 n 个字符,剩下的字符构成回文串,求 n 的最小值,确实难;另一题是无权图中两点最短路径,思路很简单就是 BFS

  • 最后问问题环节

  • 第一个问题问的依旧是,面试官您认为哪方面的能力或者是能力更重要,面试官说基础,操作系统,计网,数据结构算法这些。其实我的操作系统真的不够好,这次面试最大的问题就是这个了。

  • 最后问了面试官才知道,是 QQ 部门的。。。

阿里巴巴


#####电话一面


  • 起手式:自我介绍

  • 介绍下简历上的项目

  • 线程池的使用,线程池如何实现的,线程池的原理

  • Thread 的 join 函数的作用

  • java 线程间通信的方法有哪些

  • Android handler 机制,源代码

  • juc atomicInteger 类为什么能保持线程安全,普通的变量为什么不能保证线程安全

  • java 内存模型(问了我有没有阅读过 JSR 133 的官方文档?并没有,很惭愧,感觉学的路子有点野)

  • java 内存分区

  • concurrentHashMap 的原理

  • 100 以内,10 万以内,10 万到无穷个数,三种情况排序,选择排序算法

  • 你有什么要问我的?(问了一些技术相关的问题)


一面是在过完年后回实验室第一天就面了,过了年,很多知识都忘记了,回答得比较一般,所以码代码这事儿,真是和医生的手术刀一样,要天天摸着才是好。

电话二面

一面和二面隔得确实比较久,期间让老同学帮我查了进度,所以喊我再等等。三周后,迎来了阿里二面。二面的面试官是手淘的负责人,面试中给人一种感觉是比较开放,自由的,感觉到了一种高水准技术流派的画风。


  • 愿意不愿意来杭州

  • 自我介绍

  • java 的 gc(gc 工作原理,gc 回收机制,gc 内存分配)

  • http 和 https 区别

  • http 报文结构

  • http 报文头部含有什么

  • 你最拿手的项目是什么(回答了和同学做的开源项目,并且介绍了如何做的)

  • 手写代码:跳台阶问题

  • 你有什么问题要问我吗?

电话三面(有点忘记了)

三面是淘宝技术部的老大,整个人感觉思维缜密,对细节很注重


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码



  • 自我介绍

  • 问项目,问有没有看过项目里面的底层源代码

  • Nodejs 到了什么水平,大致说下对 Nodejs 的理解

  • 你有什么问题要问我吗?

电话交叉面

交叉面是阿里北京部门的,当时接到面试电话的时候,还是有点惊讶,没有做好交叉面的准备,感觉交叉面就面得不那么理想


  • 自我介绍

  • SS 助手是什么项目,大致说下

  • 有实习经历吗

  • 白盒是个什么概念?白盒的安全性依靠什么保证?白盒可以用于网络流传输吗?

  • ImageLoader 的框架,淘宝 app 图片的缓存设计方案(没有回答上来)

  • 你有什么问题要问我吗?

hr 面

风景如画的小姐姐,说话很温柔,问了些和生活,个人规划相关的问题。


  • 你对阿里面试官的印象如何?你从面试官上学到了哪些东西

  • 你每天的生活安排是什么样子的?

  • 你为什么选择来阿里?

  • 阿里的开源框架用了哪些呢?说说 weex?

  • 你以后的技术规划是什么样的?

  • 你最有成就的项目是哪个?

  • 为什么选择 android 开发?

  • 为什么选择 nodejs 开发作为第二条技术路线?

  • 你有什么要问我的吗?(问了面试官入职培训)

今日头条

一面:
  • 协变

  • 线程间通信?有几种同步/加锁方式?

  • 进程间通信?答了三个只知道概念的和安卓的 AIDL。

  • 又问这“三个”中任选一个阐述原理

  • hashCode()方法实现

  • hashCode()方法 equals()方法相互联系?

  • ActivityA 启动 ActivityB,两者的生命周期分别是怎样的,是顺序执行的吗?

  • 用过哪些框架,答曰 RxJava,Retrofit,Realm,问哪一个熟悉一点?都不太熟……就随便挑了一个 OKHttp 来问:http 请求中keep-alive 保存长连接的实现原理是怎样的?

  • LRUCache 原理,如何实现?

  • 手撕代码,股票买入买进最佳时机,LeetCode 上原题(有 6 道变形)

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
2021字节跳动,金三银四内幕Android中高级面试题合集-令人细思极恐!