首页 > 其他分享 >给公司面试了五十多个Android开发,我已经吐血身亡了

给公司面试了五十多个Android开发,我已经吐血身亡了

时间:2023-06-22 10:35:47浏览次数:33  
标签:五十多个 吐血 源码 开发 Kotlin Android 解析 Flutter


给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构

身在某二线互联网公司,面试了很多应聘安卓岗位的程序员。符合要求的很少,目前来看也就百分之五左右。

我面试Android的时候一般都是先看看面试者的Java基础知识,然后是一些基本的数据结构和基本的算法。然后是一些面向对象的思想,最后是Android。因为任务基础扎实了,面向对象的思想有了,开发Android是很简单的事情,即使有什么不懂,也很快会学会。

很大一部分面试者连List 与ArrayList什么关系都搞不清楚,至于List的其他实现类一概不知。还有Map, Set 就更不知道了。让谈谈常用的数据结构,完全蒙了,什么是数据结构?听过但是不知道,好像这个东西离他们很遥远似的。我说你开发中不用数组,不用HashMap吗?大部分人惊讶的反问:数组是数据结构吗?我说数组的底层不就是顺序列表吗?一脸疑惑,什么是顺序列表?我已经吐血身亡了。泛型只知道List,问什么意思完全不知道。至于面向对象,几乎没有人将多态讲明白。

总的来说:

目前安卓开发的问题在于大部分都是三年工作时间,一年工作经验。一般来说问题在于以下五点。

第一,主要依靠第三方类库,自己不了解内部实现。简历上罗列一大批开源类库,使用经验有,内部原理一无所知。简单来说imageloder怎么做缓存的,缓存算法有哪些,lru的特性是什么,为什么用linkedhashmap实现。。。基本没有能讲清楚的。

第二,Java功底不足。arraylist怎么实现的,map怎么实现的,hashmap和arraymap适用场景,volatile和synchronized有什么区别,多线程如何同步。。。这些都是基础知识,不懂的大有人在。

第三,虚拟机不了解,就敢说精通性能优化。内存泄露和溢出天天说,具体怎么引起的,怎么分析堆内存,怎么做内存管理,这些不是简单网上几篇帖子就能学会的。

第四,安卓基础不扎实,线程怎么通信,进程怎么通信。好多程序员还停留在handler是用来修改ui界面这样的认知程度。framework层还有很多要学的,更别提内核了,都是宝藏啊。。

第五,网络通信这一块,tcp/udp基础协议还是要理解吧,tcp为什么安全可靠,怎么做到的,HTTP协议是怎么回事,只会用OKHTTP是不行的啊朋友。

可能说的唠叨了点,我想表达的是,一个安卓开发的自我修养并不应该局限于应用开发。需要学习的东西太多了,如果你内功足够,随时离职都有大批公司抢着要,只是会做应用的程序员肯定要被淘汰。

大部分公司要的是三年工作经验,而不是一年经验凑合了三年的人。

最后,入了程序员的坑,就的学到老啊。。。

绵薄之力

做为一名Android开发者,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Android高级开发者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!

给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构_02

一、架构师筑基必备技能

1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
……

给公司面试了五十多个Android开发,我已经吐血身亡了_Android_03

二、Android百大框架源码解析

1.Retrofit 2.0源码解析
2.Okhttp3源码解析
3.ButterKnife源码解析
4.MPAndroidChart 源码解析
5.Glide源码解析
6.Leakcanary 源码解析
7.Universal-lmage-Loader源码解析
8.EventBus 3.0源码解析
9.zxing源码分析
10.Picasso源码解析
11.LottieAndroid使用详解及源码解析
12.Fresco 源码分析——图片加载流程

给公司面试了五十多个Android开发,我已经吐血身亡了_Android_04

三、Android性能优化实战解析

  • 腾讯Bugly:对字符串匹配算法的一点理解
  • 爱奇艺:安卓APP崩溃捕获方案——xCrash
  • 字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc
  • 百度APP技术:Android H5首屏优化实践
  • 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
  • 携程:从智行 Android 项目看组件化架构实践
  • 网易新闻构建优化:如何让你的构建速度“势如闪电”?

给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构_05

四、高级kotlin强化实战

1、Kotlin入门教程
2、Kotlin 实战避坑指南
3、项目实战《Kotlin Jetpack 实战》

  • 从一个膜拜大神的 Demo 开始
  • Kotlin 写 Gradle 脚本是一种什么体验?
  • Kotlin 编程的三重境界
  • Kotlin 高阶函数
  • Kotlin 泛型
  • Kotlin 扩展
  • Kotlin 委托
  • 协程“不为人知”的调试技巧
  • 图解协程:suspend

给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构_06

五、Android高级UI开源框架进阶解密

1.SmartRefreshLayout的使用
2.Android之PullToRefresh控件源码解析
3.Android-PullToRefresh下拉刷新库基本用法
4.LoadSir-高效易用的加载反馈页管理框架
5.Android通用LoadingView加载框架详解
6.MPAndroidChart实现LineChart(折线图)
7.hellocharts-android使用指南
8.SmartTable使用指南
9.开源项目android-uitableview介绍
10.ExcelPanel 使用指南
11.Android开源项目SlidingMenu深切解析
12.MaterialDrawer使用指南

给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构_07

六、NDK模块开发

1、NDK 模块开发
2、JNI 模块
3、Native 开发工具
4、Linux 编程
5、底层图片处理
6、音视频开发
7、机器学习

给公司面试了五十多个Android开发,我已经吐血身亡了_Android_08

七、Flutter技术进阶

1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter开发环境搭建和调试
5、Dart语法篇之基础语法(一)
6、Dart语法篇之集合的使用与源码解析(二)
7、Dart语法篇之集合操作符函数与源码分析(三)

给公司面试了五十多个Android开发,我已经吐血身亡了_Kotlin_09

八、微信小程序开发

1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战……

给公司面试了五十多个Android开发,我已经吐血身亡了_数据结构_10



标签:五十多个,吐血,源码,开发,Kotlin,Android,解析,Flutter
From: https://blog.51cto.com/u_16163452/6534312

相关文章

  • 【金三银四】2022Android面经新鲜出炉啦
    前言春水初盛,垂钓者络绎不绝,鱼儿按捺不住,拍打着尾鳍纷纷跃出水面,沽个好价。本篇真实的记录了我从准备->复习->面试的全过程,分享一些我的真实经验,希望能帮到大家。准备工作开始准备工作之前,首先思考几个问题:如何准备需要复习哪些东西该怎么复习怎么复习最高效职业规划如何准备,从哪......
  • Android Handler消息机制详解
    在Android中,只有主线程才能更新UI,但是主线程不能进行耗时操作,否则会产生ANR异常,所以常常把耗时操作放到其他子线程进行。如果在子线程中需要更新UI,一般都是通过Handler发送消息,主线接收消息后进行相应的UI逻辑处理。一.什么是HandlerHandler是一个消息分发对象。Handler是Andr......
  • Android仿微信图片浏览
    实现原理自定义PopupWindow+RecyclerView+TouchImageViewPopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置的,十分灵活。要生成一个PopupWindow......
  • Android 的下一个风口在哪里 ? 车载、智能家具、音视频。。。
    现在客户端卷的风起云涌,很多安卓开发者都是抱怨连天。内卷之下,相比本来就堪忧的发量,前途未卜的迷茫带来的精神折磨更是雪上加霜。在突破内卷这件事儿上,很多开发者都把目光对准了车企:智能座舱、车载系统,看起来都是不错的方向。那么我们来看一看,想要成功转型,最需要具备的素质是什么:想......
  • 以阿里社招Android面试为例,详讲面对面试官到面试中到面试结束
    前言今天有个小伙伴和我说,Android技术还行,主要是对面试没什么把握,小编想了想,不该是多半面试题都会迎难而解,怎么会什么把握呢?但仔细又一想,技术和面试也是两回事,技术可以也不代表面试就可以过,那咱们就来好好叨叨该如何去面试面对面试官我在网上看到了很多面试官的分享,他们面过上百人,......
  • 写给女*友的中级Android面试秘籍(含详细答案,15k级别)
    前言本篇文章,献给我家女朋友,祝她在杭州找一个965的好公司!因为Android面试考点众多,而网上各个知识点的博客文章又太多,看的眼花缭乱……所以便整理了一下常见考点的精华回答,尽量覆盖该知识点的下容易被面试到的所有内容。面试题都整理成了PDF文档,包含Java基础、Android基础、UI控件篇......
  • 为什么Android面试总是被问到性能优化问题?
    随着Android开发越来越规范,国内工程师的素质,以及用户对产品的要求也越来越高。这也间接导致我们对研发项目的质量要求到了近乎苛刻的地步,内存优化、UI卡顿优化、App崩溃监控等性能调优也逐渐成了人手必备的技能。工作之余,难免让我们感慨学无止境,以及Android开发也是水深不......
  • Android面试题:Handler、Binder、AMS、WMS面试必问题(带答案,万字总结,精心打磨,快收藏)
    前言业内一直有一个说法:技术好的未必底层够硬,但底层扎实的学起来进步如飞。这也是为什么如今的大厂都非常注重对底层原理的考察:除了可以看出面试者的即战力,底层原理更能看出一个开发者的发展潜力。大家对此应该也深有感受,在面试的过程中,底层原理是无论如何都躲不过去的一关。最典型......
  • 牛掰,阿里P7程序员花了半个月,编成这份1880页的《Android百大框架源码解析》,快来收藏
    为什么要深入了解源码?只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是浮于表象,这对我们的知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读Android系统源码,还包括各种优秀的开源库。一方面,这些作品都......
  • Android | Activity 启动流程分析
    前言Activity类是android应用的关键组件,在日常开发中,绝对少不了组件。既然用了这么久,你知道他的启动流程......