首页 > 【2020春招】Android开发岗春招总结贴
头像
今天吃到草莓了吗
编辑于 2020-04-18 20:47
+ 关注

【2020春招】Android开发岗春招总结贴

前言

本人英国水硕。去年12月拿的毕业证。元宵过后开始备战春招,4月13结束。一半以上公司投了没反应。最终面了5家公司(字节跳动,美团,网易有道,三七互娱,跟谁学),2个offer(三七互娱,跟谁学)。实实在在一个小菜鸡,跟那些offer收割机大佬比不了。但也算有所收获吧。

字节跳动

字节跳动面了两次。

字节跳动 客户端国际化业务一面 1.16 Base 北京 (挂)

进程和线程

项目中用到过多线程嘛?

线程安全

死锁

线程等待技术(同步机制)

Pv操作

了解的锁的种类

线程池作用

进程的内存成分和作用

jvm

网络协议栈

osi七层

具体协议

HTTP怎么李彤tcp 为什么用tcp 为什么不用udp

TCP为什么可靠

为什么三次握手而不是两次、四次或者更多

HTTP端口

为什么要有端口

数组和链表往末尾添加一个数据 谁效率高

HashMap读取时间复杂(对于指定下标O(1) ) 通过给定值(O(n)) 需要遍历整个数组

二分查找时间复杂度O(log2n)

快排时间复杂度(O(nlogn))
算法: LeetCode原题 最小差

这是我准备之后的第一场面试,非常紧张。答的不算太好,但基本也都答出来了。但是算法就比较垃圾了。知道思路当时死都写不出来,面试结束几分钟就写完了。还是自己当时太菜,对算法这些不熟练。

字节跳动 3.25 Base 深圳 一面二面连着的  二面挂

这两个因为是连着的,然后中途二面面试官打电话让我别走,到面试的房间等他 导致录音被中断了,就没做面经。
反正基本都是围绕项目问。
两个面试的算法也都写出来了,还是挂了,估计还是项目太low了吧。

网易有道(三面挂)

310号下午2 网易有道校招一面(52min)

自我介绍

Android的生命周期(从创建到销毁经历的生命周期函数)

HashMap的原理(底层)

在java中怎么解决hash冲突

RecyclerView

RecyclerView 横屏滑动和竖屏滑动怎么实现(没答出来)

(LinearLayout 设置为垂直,然后LinearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL) )

Handler原理

要再子线程使用Handler要怎么实现(没答出来)

Fragment和Activity的区别

webview用过没(没用过)

Jvm的内存分布

Android中序列化方式(ParcelableSerialable)

Android中创建线程的方式

线程池

TCP/UDP的区别

TCP的三次握手、四次挥手

在Android中两个Activity通过什么传递数据(传递对象先序列化)

GET和POST的区别

HTTP请求头包含哪些
算法:快排、二分

312 下午2点 网易有道二面 (58min)

自我介绍

TCP/UDP区别

线程和进程区别

写一个代码 ,有个网络请求,在Activity中new一个http请求 是进程还是线程

在主线程请求网络嘛?

线程处理回来后,如果界面不见了怎么办(没答出来)

Activity启动模式

SingleTask和SingleInstance区别

了解CPU的时间片状态嘛?

C++动态链接库了解过(没接触过C++)

用过加密嘛

对称加密和非对称加密的区别

常用对称加密有哪些

集合用过吗(List和Map的区别)

什么叫线程安全的集合什么叫线程不安全的集合

Hash原理(冲突检测)

HashMap在java8版本之后有个红黑树的概念(完全?平衡?)

线程池

泛型

泛型擦除

ListView优化滑动速度

RecyclerView 与ListView的区别

RecyclerView 数据更新部分(没看过)

安卓的手势(Motion_Event 以及事件分发)

View的绘制方法

View的绘制流程

设计模式

常见架构(MVC,MVP)

安卓里的动画

有在canvas的绘制过吗

安卓的适配单位换算

Bitmap

SurfaceView

SQLite 版本更新

存储数据还有其他存储方式?区别?如果应用卸载哪些会消失

接口需要加abstract嘛

enum?(没用过)

MySQL 级联删除 多表查询

OOM遇见过嘛

LRU算法介绍原理

矩阵Matrix 图片的颜色参数通道(没用过)

Picasso和Glide区别

加载大图OOM怎么处理

加载过程

收获最大,在学校学习哪些点帮助最大,难点最大

在学校或者实践当中碰到的困难的点,怎么解决的

迭代器怎么完成的


算法:一个有序数组找到2个值加起来为target LeetCode 第一题


网易三面 总监面 317 下午1500 41min (挂)

自我介绍

项目问题

SurfaceView的特点(因为项目用过)

SurfaceView的缓存机制

Android读过什么源码(讲了okhttp的一些缓存策略和失败重连)

算法题

//char型数组words,由空格以及字母组成。 我们定义被空格隔离开的字符序列为一个单词。现需要对其处理,把连续的空格换成一个空格,把单词的首字母大写。要求:1. 在原有数组上操作,不得开辟新的数组空间。 2. 性能也要考虑优化。

//void processWords(char[] words)



有道的三次面试除了第三次的总监面,其他两次还是相当愉快的。三面的面试官,估计开的双屏跟我面试,全程几乎没有怎么看我(可能是压力面吧),都在盯自己的屏幕,回答问题也不肯定也不否认的那种。
挂的原因觉得可能还是我的项目太简单了吧。没啥亮点。

美团(一面挂)

美团点评一面 3231500 (47min) Android工程师 Base北京(挂)

自我介绍

优化页面跳转和数据传递(简历写的)

遇到什么问题

看过什么源码(HashMap,线程池)

讲讲线程池

线程池用途

创建线程的方式

举一个死锁的例子,实际场景

Java占据一个资源的关键字是哪个

写一个死锁 (两个线程两个对象)

SP 的存储格式

当存储量很大的时候有什么问题

Activity和Activity之间通信方式

Activity A跳转到Activity B ,B再传递消息给ActivityA 用什么

ListView为什么要有ViewHolder(使用ViewHolder可以避免重复地调用findViewById

序列化有用过没

创建对象的方式(new,clone,反射,反序列化)

sp和sqlite区别

Java中的深拷贝和浅拷贝

Java里创建对象 ,jvm会做什么事情

Java的泛型原理

加密算法有了解过?

用过git嘛

回滚用什么命令(revert)

Ide用什么

用过什么网络库和图片库(Picasso,Glide,okhttp)

一个整数,打印二进制多少个1 。说思路不用写(说了2种,问还有嘛,最后说了3种,问 还有吗 没了….)

字符串反转。说思路不用写(说了3种 还有嘛。。没了。。。)

自我评价

性格呢

反问:

评价下我: 你的自我评价很正确。。

本来以为应该会有二面,但是一直没有消息。没通知过也没通知说挂了。就默认他挂了。

三七互娱(Offer)

之前发过面经,有兴趣的朋友可以看看。

跟谁学(Offer)

跟谁学初面 41 1900(28min)

闲聊了一会

什么是线程,什么是进程?

JDK & JVM & JRE分别是什么以及它们的区别?

什么是面向过程 & 什么是面向对象 & 区别?

谈谈你对thissuper的认识。

静态属性和静态方法能被继承吗?静态方法又是否能被重写呢

Java多态的实现机制是什么

static关键字的作用?

final关键字的作用

基本类型的初始化值为多少?引用类型的初始值为多少

能说说多维数组在内存上是怎么存储的吗?

ErrorException的区别

给我例举至少5个常见的运行时异常

如果读取一个txt文本文件乱码了,你觉得原因是什么

Map的遍历方式有哪些?

你觉得LockSynchronized的区别是什么

四大组件是哪四个

如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity

你了解ViewPager2吗?和ViewPager 1有哪些区别?

Android中的动画分为哪些种类 & 特点 & 缺点。

在做悬浮窗的时候你遇到了什么困难

说说Android中一些屏幕单位

apk为什么需要签名

Flutter

Android中播放视频音频的方式有哪些

说说你知道的查找算法

49 跟谁学二面 10:00 30min(时间不算算法,算法在视频之前在线做的)

自我介绍

有什么offer

家里同不同意你来北京 有没有兄弟姐妹

学校分数

排名

对我们公司有什么了解

线上教育线下教育的优缺点

最有挑战的事情

怎么解决

朋友怎么评价你

HTTP(从协议,状态码,1.0/1.1跟2.0 扯了一堆)

最消极的词评价自己

最近看的3本书

学到了什么

最有成就感的事

为什么这件事给你成就感

知道我们公司有哪些竞品吗

觉得自己三个短板

怎么克服

刷了多少LeetCode

emmmmmm 还有些忘了


反问环节


算法:

统计使用数 TOP 1 的标签。

现有数据:[{tagName: 'p'}, {tagName: 'div'}, {tagName: 'p'}, ....]

请统计出现次数 TOP 1 tagName



总结

我大四就到国外去读书了,从来没有实习过(出国前的暑假确实有时间可以去实习,但是都被我浪费掉了) 所以相对于一直在国内的同学,大四就开始实习,在这一块有着明显的劣势。
之前学校里学的都是什么数据挖掘机器学习这些,跟我要找的安卓开发,知识上还是差的挺多的。以前很多学过的也都忘记了。
所以我基本上是从头开始学的。我看的书大概就这些

操作系统:深入理解计算机系统
计算机网络 : 谢希仁的计算机网络
数据结构和算法: 这个看的是B站上尚学堂的韩顺平的课,我觉得讲的还不错。
Android:Android的进阶之光
算法:剑指和LeetCode
各位大佬们的面经

在总结几点需要注意的吧:
1. 简历上一定不要写自己不会的东西!否则你会被问到怀疑人生!
2.简历上不要轻易的写熟练!否则你也会被问到怀疑人生!
3.面试过程中学会引导面试官很重要,一定要你占有主动权,这样你才能把你会的说出来。一般面试官不打断你,你就继续说,能说多久说多久。这样会让面试官觉得你很有钻研精神。
4.找个靠谱的内推人非常重要。不仅能给你很多帮助,并且在你焦急等待的时候也有人能问问。
5.多看面经多刷题
6.记得录音,面试结束后复盘,听听自己当时的回答,然后总结反思怎么做的更好

总的来说我的春招到此结束。周一就要入职了(去了跟谁学)。回想一下,还是觉得挺有意义的。面试过程也是一个成长的过程。一次次的挑战自己,怀疑自己,完善自己的过程。这个过程十分痛苦,但是一定要相信自己,坚持走下去,一定会有胜利的那一天。
最后希望各位牛友们最后都能拿到自己心仪的offer!





更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐