刚面试了一位5年的Android开发,一问三不知,他还反怼我...

news2024/11/23 0:46:28

最近帮部门主管面试了很多人,从简历上看这些人的工作年限都不短,但做的都是一些传统的项目,想做现在大环境越来越难,大家找工作都不容易,就打算见一见。

在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。

面试时我打算聊点基础的,先打开一下话题,结果没想到我一问,不提开发工具,仅仅基础的技术很多也知之不详,6年的工作经验仅仅是实现简单的功能堆起来的,毫无深度,对于APP性能优化等等一问三不知,都停留Android的基础层面上,性能优化问题更是一问一个死,framework最新动态也毫无关注。

说到这里,我想给正在从事Android开发工作的程序员们一些建议,千万别在舒适的工作环境中迷失了自己。就目前的大量招聘信息来说,想要获得高薪就得会一些几点:

懂性能优化、网络访问、常用开源框架,framework等知识点。

img

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

1.Android基础部分

主要学习知识点:架构设计核心知识(注解和泛型),动态架构设计编程原理,Android基础四大组件,Android虚拟机指令、垃圾回收机制、类和对象的结构,并发内存模型等基础知识。当做在学习这部分知识之前还需要掌握Android开发语言的基本知识。

img

2.Android性能优化

主要学习知识点:App启动优化,UI卡顿优化,布局优化,内存优化,崩溃优化,网络优化等知识原理和方法;这部分内容主要应用于解决App或系统对不同手机型号中会出现用户体验不好的问题。比如App出现闪退,系统出现崩溃等现象。

img

3.Android framework

Framework 即应用框架层,是 Android 架构的关键组成部分,为我们开发应用程序提供了非常多的API,使得开发者通过简单调用API即可开始APP的开发,而不用详细了解 Android 系统纷繁复杂的底层知识。掌握了以上这三个部分知识内容,基本可以面试中级Android工程师岗位。

主要学习知识点:Framework通信、Framework底层服务、Framework事件机制;

img

4.Android音视频

对应岗位:音视频开发工程师,需要学习知识:C++语言,H264、H265编码,MediaCodec硬解码(联发科与高通) ,Media内核源码等。

img
5.Android常用开源框架

分别是Arraylist,Okhttp,Retrofit,图片加载,Dagger ,MVC.MVP.MVVM,Jetpack Room等框架。这是Android高级工程师必须要掌握的知识。

img

6.Android车载开发

对应岗位:Android车载开发工程师,主要学习知识:usb通信协议,车载蓝牙通信,CAN总线协议,CarFramework框架,SurfaceFlinger智能座舱,CarLuncher,System UI系统,车载SOA架构原理等知识。

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十、Feign客户端

目录 1、在springcloud-order项目中引入Feign客户端的依赖 2、在server-order服务的启动类中添加注解EnableFeignClients 3、使用FeignClient注解声明Feign客户端需要调用的远程接口 3.1、server-pay服务提供远程接口Controller 3.2、server-member服务提供远程接口Contro…

ES基础知识总结含SQL、DSL、GOLANG

一、简介 Elasticsearch是一个基于Lucene的全文搜索和分析引擎,Lucene Core是一个完全用Java编写的高性能、全功能搜索引擎库。 它可以快速地存储、实时搜索和分析大量数据。 它可以扩展到上百台服务器,处理PB级数据。PB 2^50 Byte, 在数…

联通数科面试准备

Spring中Bean的生命周期 Spring Bean的生命周期全过程分为5个阶段,创建前准备阶段、创建实例阶段、依赖注入阶段和容器缓存阶段以及销毁实例阶段。 阶段1:创建前准备阶段这个阶段主要是在开始Bean加载之前,从Spring上下文中去获取相关的配置…

如何使用Alchemy开发NFT智能合约(ERC721)

🥸 本教程翻译自官网:[https://docs.alchemy.com/docs](https://docs.alchemy.com/docs)。对部分内容进行了修改。教程中所有实例经过本人实践,代码可见:https://github.com/ChuXiaoYi/web3Study 使用Solidity开发智能合约并在区块…

2022 第十三届蓝桥杯大赛软件赛决赛, 国赛,C/C++ 大学B组题解

2022 第十三届蓝桥杯大赛软件赛决赛, 国赛,C/C 大学B组题解 文章目录 第1题 —— 2022 (5分)第2题 —— 钟表 (5分)第3题 —— 卡牌 (10分)第4题 —— 最大数字 (10分)第…

bbys_tu_2016

1,三连 思路:栈溢出 2,IDA分析 利用函数: 思路:ret2text 偏移:24 3,payload from pwn import * context.log_level"debug"rremote(node4.buuoj.cn,29195)flag 0x804856Dpayload 24 * a p32(flag) r.se…

Unittest单元测试框架之unittest构建测试套件

构建测试套件 在实际项目中,随着项目进度的开展,测试类会越来越多,可是直到现在我 们还只会一个一个的单独运行测试类,这在实际项目实践中肯定是不可行的,在 unittest中可以通过测试套件来解决该问题。 测试套件&…

七、Zookeeper注册中心

目录 1、下载Zookeeper的服务jar包 2、下载好jar包后解压放到合适的目录(目录最好不要有中文及空格) 3、进入解压后的conf目录,复制zoo_sample.cfg文件并重命名为zoo.cfg,修改zoo.cfg文件内容如下 4、运行bin目录下的zkServer…

split,paste,eval命令及正则表达式

一、split命令 将 linux 下的一个大文件拆分成若干小文件 1.语法格式 格式:split 选项 参数 原始文件 拆分后文件名前缀 常用选项: -l:以行数拆分 -b:以大小拆分 2.命令演示 2.1选项 -l :以行数分隔 cat -n anaconda-ks.cfg…

Windows系统安装好MongoDB后运行方法

文章目录 1、先找到安装MongoDB的文件位置的bin文件夹:2、找到data/db文件夹位置(如果data文件夹中没有db文件夹需要创建一个):3、在刚刚打开的cmd窗口中运行以下命令:4、再另外从bin文件夹位置开一个cmd窗口&#xff…

图书管理系统(Java简单版)(完整代码+详解)

目录 详解: BookList类: InOperation接口 User类(父类) 和 Main类(这俩要一起看) 完整代码 book包 Book类 BookList类 operation包 AddBook类 BorrowBook类 DeleteBook类 FindBook类 Pr…

ESP32 FreeRTOS学习总结

2023.5.11 1.Task 创建任务常用API: 任务函数描述xTaskCreate()使用动态的方法创建一个任务xTaskCreatePinnedToCore指定任务的运行核心(最后一个参数)vTaskDelete(NULL)删除当前任务 BaseType_t xTaskCreate(TaskFunction_t pxTaskCode, // 任…

【HBase】架构

文章目录 整体架构Master负载均衡器元数据管理器预写日志处理器 Region ServerZookeeperHDFS Master架构Meta 表格 RegionServer 架构MemStoreWALBlockCache 读写流程HFile结构写流程读操作 整体架构 Master 实现类为 HMaster。 负责监控集群中所有的 RegionServer 实例。 &…

在Fedora-Workstation-Live-x86_64-36-1.5中使用佳能喷墨打印机ip2780

在Fedora-Workstation-Live-x86_64-36-1.5中使用佳能喷墨打印机ip2780 操作系统是64位的Fedora-Workstation-Live-x86_64-36-1.5.iso,实物打印机是佳能ip2780,USB接口 应用程序——其它——设置——打印机——解锁——输入root密码——将打印机USB插入电…

Redis数据结构——动态字符串、Dict、ZipList

一、Redis数据结构-动态字符串 我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。 不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题: 获取字符串长度…

智慧产业城彰显中国智造魅力,中联重科踏出“走上去”的关键一步

5月11日至14日,中联重科在长沙举行了“科技献礼新时代”系列活动。 借着活动,松果财经实地探访了全球规模最大、品种最全的工程机械产业基地,领略了前沿技术赋能先进制造的魅力。 作为湖南省“一号工程”和“十大重点项目之首”&#xff0c…

好家伙,又一份牛逼笔记面世了...

最近网传的一些裁员的消息,搞的人心惶惶。已经拿到大厂offer的码友来问我:大厂还能去,去了会不会被裁。 还在学习的网友来问我:现在还要冲互联网么? 我是认为大家不用恐慌吧,该看啥看啥,该学啥…

你一定要知道的unittest自动化测试框架详解

目录 框架的概念 Unittest单元测试框架 常用的assert语句 unittest创建测试代码的方式: unittest构建测试套件(测试用例集合): unittest忽略测试用例: 运行测试集 批量执行测试用例 生成HTMLTestRunner测试报告…

【运维知识进阶篇】集群架构-Nginx基础(安装+启动+配置+多业务实现+日志管理)

本篇文章介绍下Nginx有关内容,Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。 开源:直接获取源代码,高性能:支持海量并发,可靠:服务稳定 Web服务有很多,选择Nginx是因为他的轻量化…