【2024春招】英国硕士历时三个月的Android开发岗春招总结贴(拿到双Offer)

  • 了解的锁的种类

  • 线程池作用

  • 进程的内存成分和作用

  • jvm

  • 网络协议栈

  • osi七层

  • 具体协议

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

  • TCP为什么可靠

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

  • HTTP端口

  • 为什么要有端口

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

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

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

快排时间复杂度(O(nlogn))

算法: LeetCode原题 最小差

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

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

这两个因为是连着的,然后中途二面面试官打电话让我别走,到面试的房间等他 导致录音被中断了,就没做面经。

反正基本都是围绕项目问。

两个面试的算法也都写出来了,还是挂了,估计还是项目太low了吧。

网易有道(三面挂)

=========

3月10号下午2点 网易有道校招一面(52min)

  • 自我介绍

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

  • HashMap的原理(底层)

  • 在java中怎么解决hash冲突

  • RecyclerView

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

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

  • Handler原理

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

  • Fragment和Activity的区别

  • webview用过没(没用过)

  • Jvm的内存分布

  • Android中序列化方式(Parcelable,Serialable)

  • Android中创建线程的方式

  • 线程池

  • TCP/UDP的区别

  • TCP的三次握手、四次挥手

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

  • GET和POST的区别

HTTP请求头包含哪些

算法:快排、二分

3月12 下午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 第一题

网易三面 总监面 3月17日 下午15:00 41min (挂)

  • 自我介绍

  • 项目问题

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

  • SurfaceView的缓存机制

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

算法题

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

//void processWords(char[] words)

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

挂的原因觉得可能还是我的项目太简单了吧。没啥亮点。

美团(一面挂)

=======

美团点评一面 3月23日15:00 (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)

===========

三七互娱一面 3月19日 15:00(28 min)

  • 自我介绍

  • 为什么选Android这个方向

  • ArrayList和LinkedList

  • 谁占内存高一点

  • 从ArrayList和LinkedList中get一个数据,谁内存大

  • 类实例化过程: 父类的静态代码块,非静态代码块 和子类的静态代码块,非静态代码块

初始化顺序

  • 怎么理解。为什么是这个顺序

  • 字符串 == 和 equals 的区别

  • HTTP 怎么理解无状态

  • HTTP 工作原理

  • 项目

3月27 hr面(20min)

常规问题

4月1 总监面(20min)

  • 玩啥游戏

  • 为啥喜欢玩这游戏

  • 为什么想做编程

  • 为什么走Android

  • 项目介绍一下

  • 最大的问题

  • 闲暇时间做啥提高编程能力或者安卓的能力

  • 最大的优势

  • 举个例子

  • 回想这段经历什么感觉

  • 新技术去哪里接触

  • 对你影响最大的app或者公司

  • 有啥想问的

跟谁学(Offer)

==========

跟谁学初面 4月1日 19:00(28min)

闲聊了一会

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

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

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

  • 谈谈你对this和super的认识。

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

  • Java多态的实现机制是什么

  • static关键字的作用?

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
友,同时减轻大家的负担。**

[外链图片转存中…(img-teLK4lWK-1715795804996)]

[外链图片转存中…(img-j8EqsOqQ-1715795804998)]

[外链图片转存中…(img-DKdJ7JNE-1715795805000)]

[外链图片转存中…(img-go7TozvO-1715795805003)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值