三年 Android 开发的技术人生,浅谈自身面试的感悟(1)

目前相比其他同阶段开发者优势劣势在哪里,相比2-3年经验的开发者呢,有什么闪光点可以使我超越这帮人呢?

1-5年中小公司常见题(个人——部分总结)

面试官主要还是根据你简历去问,以下主要做一个简单的部分总结。**不过这些年我把我自己面试过的题目都汇总成了Android 知识点,需要面试、阅读的朋友可以去我的 Github地址:https://github.com/733gh/Android-T3 访问阅读。

java

  • gc回收机制

  • 多线程,synchronized 与 volatile

  • 类加载相关

  • hashmap原理,arraylist等等

  • java内存区域

  • 静态代理与动态代理区别

Android

  • 性能优化,内存泄漏治理,启动优化,包体积优化

  • 四大组件(不涉及原理),是的,依然有公司问,基础很简单,重要是细节

  • 进程间通信方式,及部分原理

  • 事件分发机制与事件冲突处理

  • 热修复与相应第三方实现原理(如tinker)

  • handler

  • view流程(涉及相应方法内部源码)

  • Activity,windows,view关系

  • 组件化与模块化

三方库

  • Retrofit与Okhttp

  • Glide

JetPack

  • lifecycle- 原理及为什么要存在它的背景

  • ViewModel与LiveData

Kotlin

  • 协程与其他第三方线程框架区别

  • kotlin和java你认为的不同

  • 相应的内联函数解释一下

网络协议

  • tcp/ip,http

  • 签名与证书

设计模式

  • 单例

  • 代理

  • 其他的基本遇到的很少,不过设计模式,日常用的东西

算法类

  • 二分

  • 快排

  • 二叉树

  • 链表

三年内—面过的一些公司


常青藤爸爸-卒

  • 电面

  • 聊做过的项目

  • 为什么要辞职

  • 为什么要选用组件化

  • 讲一下JetPack部分组件内部实现原理

  • 二面

  • 个人简介

  • 聊项目组件化,画一下你的框架图,讲一下具体注意事项

  • 说说MVP和MVVM

  • 手写 算法-二分查找

原因: 二分查找没写出来,对你没有看错,真的给没写出来,当场差点给老弟哭了。


MetaApp-卒

  • 笔试题

  • 大数相加。(禁止使用bigxxx,String长度可能超过long)

  • 两个String字符串除重,确保顺序不变

  • 上述的解法,算法复杂度是多少,有没有达到O(n),没有请实现一个?

原因:大数相加写的很失败。


阶段小总结


老弟算法差到离谱,于是痛定沉思,刷刷算法题,真的是丢人,排序算法,二叉树等等。


新氧科技-卒

  • 一面

  • 聊项目

  • 聊组件化,为什么要用组件化,背景,组件到的依赖问题

  • 聊聊JetPack

  • 项目中用过哪些性能优化说一下?

  • 说一下你是如何做包大小治理的

  • 说一下你的性能优化具体做了啥?

  • 说说SparseArray和HashMap区别,内部实现?

  • 说说为什么CoordLayout为啥比RelayoutLayout效率高,内部实现?

  • 当LinearLayout和CoordLayout相同情况下,优先使用谁,为什么?

  • 二面

  • 聊聊你在上家公司做了什么

  • 聊聊你为什么要辞职

  • 聊聊你的项目

  • 说一下你知道的基本数据结构

  • 说一下常见排序算法

  • 说一下快速排序的原理

  • 你还有什么想问的吗

原因:技术VP觉得工作年限不足,可能是安慰吧。


未来花朵-婉拒

  • 一面

  • 讲讲你的项目

  • 说一下你是如何做包大小治理的

  • 讲一下你对Handler的理解

  • 讲一下view绘制流程

  • 二面

  • 讲讲你再上家公司干了什么

  • 讲讲你为什么要辞职

  • 聊聊你的项目

  • 对直播一些问题的解释

  • 讲讲kotlin和协程

原因:是一家创业的小公司,在二面中发现面试官技术深度欠缺,与我职业规划有点差异。


7k7k-婉拒

  • 一面

  • 讲讲Android四大组件

  • 说一下编译版本,最低版本,最高版本的区别

  • 说一下Android各版本差异

  • 说一下服务

  • 二面

  • Java基础考察主要

  • Java多线程相关

  • 两个栈实现队列

  • 二叉树的遍历方式

  • 一个8个石头,一个天平称重,其中一个石头较重,求最快几步(穷举)

原因:面试得还不错,同样,这家也是独立开发,他们的擅长是做游戏,于是婉言谢辞。


彬彬有礼-卒

  • 一面

  • 讲讲你负责的项目

  • 说说Android事件分发机制,及dispatchEvent方法内部做了什么?

  • 说一下Retrofit,和Okhttp的区别

  • 说一下glide如何加载指定个数此gif图

  • 说一下内存泄漏常见的场景,及你如何处理一般

  • 二面

  • 讲讲为什么要离职

  • 说一下Flutter?

  • 你都了解哪些设计模式,讲一下

  • 。。。

原因:应该是音视频不怎么了解导致,这家需要音视频比较了解的小伙伴。


阶段小总结


老弟对JVM基础了解还差点,简单点来说,背的不熟练,比如Java内存区域这些基础东西,需要看看。


一下科技-卒(hc满了)

  • 一面

  • 讲一下热修复的原理

  • 说一下Java的内存模型及Gc的回收机制

  • 谈一下你项目中用到的IM

  • 简述一下 一个流式布局整体的写法,比如onMeasure和onLayout中做了什么

  • 说一下xml中的布局如何转化为代码

  • 说一下ArrayList和LinkeList区别及实现原理

  • 说一下换肤的原理,讲一下如何动态配置换肤的资源包

  • 说一下你做过的内存优化有哪些?

  • 说一下包大小治理方面你做了什么?

  • 二面

  • 说一下你认为的组件化与模块化的不同?

  • 说一下TCP三次握手

  • 除了Retrofit,还用过其他网络框架吗,说一下区别

  • 看过OkHttp源码吗,说一下原理

  • 讲一下你对Handler的理解,不要涉及源码

  • 说一下音视频相关的,比如直播的流程

  • 说一下你了解的设计模式

  • 三面(Hr)

  • 说一下你为什么要离职

  • 谈谈一些想法

  • 以一个非技术角度给我讲一下冒泡排序

  • 说一下TCP三次握手的原因是什么?

  • 说一下你对二叉树掌握多少

  • 说一下常用的排序算法及复杂度和原理

  • 四面(交叉面)电面

  • 谈谈你做过的项目

  • 说一下你做过的性能优化有哪些

  • 你还有什么要问的吗

原因:1,2面聊得都不错,能看出来技术深度不错,3面Hr一上来就问三次握手,老弟有点吃惊,看得出来这个HR有点意思。总体氛围也不错,4面结束,面试官说成了,等人事电话,最后等来了HC满了,也就意思是你被当备胎了。


壳壳互联-卒

  • 一面

最后

文章不易,如果大家喜欢这篇文章,或者对你有帮助希望大家多多点赞转发关注哦。文章会持续更新的。绝对干货!!!

  • Android进阶学习全套手册
    关于实战,我想每一个做开发的都有话要说,对于小白而言,缺乏实战经验是通病,那么除了在实际工作过程当中,我们如何去更了解实战方面的内容呢?实际上,我们很有必要去看一些实战相关的电子书。目前,我手头上整理到的电子书还算比较全面,HTTP、自定义view、c++、MVP、Android源码设计模式、Android开发艺术探索、Java并发编程的艺术、Android基于Glide的二次封装、Android内存优化——常见内存泄露及优化方案、.Java编程思想 (第4版)等高级技术都囊括其中。

  • Android高级架构师进阶知识体系图
    关于视频这块,我也是自己搜集了一些,都按照Android学习路线做了一个分类。按照Android学习路线一共有八个模块,其中视频都有对应,就是为了帮助大家系统的学习。接下来看一下导图和对应系统视频吧!!!

  • Android对标阿里P7学习视频

  • BATJ大厂Android高频面试题
    这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

mg-72do68uc-1714549371446)]

  • Android对标阿里P7学习视频

[外链图片转存中…(img-NuxCTf5s-1714549371446)]

  • BATJ大厂Android高频面试题
    这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等
    [外链图片转存中…(img-qwPTZOqG-1714549371447)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值