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

  • 一面更多的是聊项目,面试官没有问太多基础的知识,面试官主要是在我介绍自己项目的时候切入问问题,整个过程氛围很开心。
二面 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 报文头部含有什么

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

  • 手写代码:跳台阶问题

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

电话三面(有点忘记了)

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

  • 自我介绍

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

  • 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开发除了flutter还有什么是必须掌握的吗?

相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了

除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;

转成循环方式

二面:
  • 内部类和外部类有什么区别?

  • 静态内部类和非静态的有什么区别?

Android开发除了flutter还有什么是必须掌握的吗?

相信大多数从事Android开发的朋友们越来越发现,找工作越来越难了,面试的要求越来越高了

除了基础扎实的java知识,数据结构算法,设计模式还要求会底层源码,NDK技术,性能调优,还有会些小程序和跨平台,比如说flutter,以思维脑图的方式展示在下图;

[外链图片转存中…(img-XLGwaTFq-1719246995439)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值