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

  • 线程池

  • 泛型

  • 泛型擦除

  • 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关键字的作用?

  • final关键字的作用

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

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

  • Error和Exception的区别

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

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

  • Map的遍历方式有哪些?

  • 你觉得Lock和Synchronized的区别是什么

  • 四大组件是哪四个

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

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

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

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

  • 说说Android中一些屏幕单位

  • apk为什么需要签名

  • Flutter

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

  • 说说你知道的查找算法

4月9日 跟谁学二面 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

在总结几点需要注意的吧:

  • 简历上一定不要写自己不会的东西!否则你会被问到怀疑人生!

  • 简历上不要轻易的写熟练!否则你也会被问到怀疑人生!

  • 面试过程中学会引导面试官很重要,一定要你占有主动权,这样你才能把你会的说出来。一般面试官不打断你,你就继续说,能说多久说多久。这样会让面试官觉得你很有钻研精神。

  • 找个靠谱的内推人非常重要。不仅能给你很多帮助,并且在你焦急等待的时候也有人能问问。

  • 多看面经多刷题

  • 记得录音,面试结束后复盘,听听自己当时的回答,然后总结反思怎么做的更好

总的来说我的春招到此结束。马上就要入职了(去了跟谁学)。回想一下,还是觉得挺有意义的。**面试过程也是一个成长的过程。一次次的挑战自己,怀疑自己,完善自己的过程。**这个过程十分痛苦,但是一定要相信自己,坚持走下去,一定会有胜利的那一天。

文末

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

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-ZMw2QBlE-1713432018124)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值