听车企做开发朋友说,面试Framework 必问~

news/2024/4/19 9:56:57/文章来源:https://blog.csdn.net/m0_64420071/article/details/129203963

近期听在车企工作的朋友说,今年去他们公司面试的人比往年增长了30%左右,但实际面试达到标准的人屈指可数,大多都是从 Android 开发方向转过来的。

车企招聘要求有哪些?

每个车企因为业务部门的不同,他们的要求也会有所不同,想必这个大家都知道,接下来我们可以通过下面的几个岗位看出:

任职要求
1.5年+ C++/C/Java开发经验,语言功底扎实。
2.2年+ Android Framework系统开发或者Linux平台开发经验
3.深入理解Android Framework(如AMS,WMS,PMS等)及HAL架构,能够进行框架层深度开发,精通Android Binder, Service, JNI及多线程编程,可进行框架层深度开发
4.有Android Framework定制研发经验,对常见的死机,黑屏,卡顿问题有丰富的解决经验
5.较强的理解分析能力和逻辑思维,善于表达自己的想法,良好的团队合作意识

任职要求
1.熟练掌握C/C++和Java语言, 熟悉面向对象设计方法和常用设计模式;
2.深入理解Android的启动流程,OOM、ANR及内存回收等机制以及处理策略;
3.深入理解Android系统软件架构,能主导完成系统的移植和优化工作;
4.熟练使用Android系统性能分析工具,如systrace、traceview;
5.具备良好的团队精神和沟通意识,有良好的分析解决问题能力和沟通协作能力;
6.熟悉Android Automotive架构者优先;
7.有车载娱乐系统开发经验者优先

岗位职责

1.车载中控设备(Android Audio framework和Audio HAL层以及音频应用软件开发&维护;
2.为车载中控设备音频框架及应用开发提供支持;
3.执行软件白盒测试,对产品软件交付质量负责;
4.持续优化,对框架层进行标准化、平台化的定制,集成。

根据上面三个不同岗位可以看出,他们之间的任职要求和岗位职责也有所不同,但他们中间都有一个共同之处就需要对 Framework底层 这块有深入的了解。相信大多数开发者基本做的还是业务开发,为此对Framework 熟知程度基本还是停留在了“表面阶段”,其中不乏一些工作多年的Android 开发者。每当工作中遇到这方面的难题时,往往只能靠盲猜和感觉,用临时性的补救措施去掩盖,看似解决了问题,但后期还会有一系列的问题出现。所以导致一些去车企面试的朋友以落榜告终。

Framework始终穿插在 App 整个研发生命周期中,不管是从 0 到 1 的建立阶段,还是从 1 到 N 打磨阶段,都离不开Framework。当然如果想要精通Framework,不仅要对底层原理充分了解,还要知道如何利用Framework知识指导我们代码实践开发,除了Handler、Binder之外,还有Android App 的启动机制、AMS、PMS、WMS、……等知识

这样才能够真正说得上是精通Framework。

那有没有好的学习文档可以参考呢?

巧在再这刚从这位车企的朋友手中搞了可以参考学习的文档,分别是《Android 车载开发手册》与《Framework 开发手册》,简单的看了一下还不错,后续在慢慢的看下,如有需要参考和收藏吃灰的朋友可以看看:

Android车载开发与设备调试学习手册:https://qr18.cn/F05ZCM
1.Automotive
2.什么是 Android Automotive?
3.Android 虚拟设备概览
4.模拟器 USB 透传模式集成指南
5.使用 Pixel 手机作为开发平台
6.测试工具和基础架构
7.语音
8.人机接口
9.汽车设置结果
10.自定义状态栏系统图标
11.车载设备界面库集成指南
12.媒体
13.适用于 Automotive 的设备管理
14.旋控器
15.……

《Android Framework学习手册》:https://qr18.cn/AQpN4J

  1. 开机Init 进程
  2. 开机启动 Zygote 进程
  3. 开机启动 SystemServer 进程
  4. Binder 驱动
  5. AMS 的启动过程
  6. PMS 的启动过程
  7. Launcher 的启动过程
  8. Android 四大组件
  9. Android 系统服务 - Input 事件的分发过程
  10. Android 底层渲染 - 屏幕刷新机制源码分析
  11. Android 源码分析实战

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统基础知识命令参数详解

Linux操作系统 RAID分组 RAID JBOD RAID JBOD的意思是Just a Bunch Of Disks,是将多块硬盘串联起来组成一个大的存储设备,从某种意义上说这种类型不被算作RAID,在维基百科里JBOD同时也被归入非RAID架构。RAID JBOD将所有的磁盘串联成一个单…

保持超低温环境新方法:功耗降至十分之一!

(图片来源:网络)量子比特是量子计算机的主要构建部分,然而热量会导致量子比特容易出错,因此量子系统通常保存在超低温稀释制冷机内,可以将温度保持在绝对零度(−273.15℃)以上。但是…

如何使评论具有可操作性?取悦客户的指南

永远不要低估承认的力量。 当品牌与客户互动时,认可会带来更好的关系和更好的沟通。与买家和客户建立更多的个人联系意味着品牌需要证明他们支持他们的产品和客户。评论是利用客户分享他们的故事的那些时刻的绝佳机会。 为什么评论在 SaaS 中至关重要 在 B2B 软件的…

【python学习笔记】:如何去除字符串中空格

在输入数据时,很有可能会无意中输入多余的空格,或者在一些场景中,字符串前后不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。 【注意:这里的特殊字符,指的是制表符(\t&…

ASEMI高压MOS管ASE65R330参数,ASE65R330图片

编辑-Z ASEMI高压MOS管ASE65R330参数: 型号:ASE65R330 漏极-源极电压(VDS):650V 栅源电压(VGS):20V 漏极电流(ID):12.5A 功耗(P…

57 - 深入解析任务调度

---- 整理自狄泰软件唐佐林老师课程 文章目录1. 问题1.1 思考1.2 实例分析:问题分析及解决2. 深入讨论2.1 任务调度的定义2.2 关于调度算法的分类2.3 什么时候进行任务调度2.4 任务的分类2.5 关于优先级调度2.6 问题2.7 调度算法的终极目标2.8 课后扩展1. 问题 系统…

在windows11上安装openssh服务端并修改端口号

在windows11上安装openssh服务端并修改端口号 目录1.软件下载地址2.修改端口3.启动ssh原文链接:https://blog.csdn.net/qq_62129885/article/details/1268467751.软件下载地址 Release v9.2.0.0p1-Beta PowerShell/Win32-OpenSSH (github.com) https://github.co…

浅谈智能电力运维管理系统在物业小区的应用分析

安科瑞 李亚俊 0引言 由于部分住宅小区存在电力设施纸质档案破损缺失、产权分界不清、查找故障点所在箱变(箱式变电站,下同)位置困难或小区出入口路径不明等情况,影响了抢修效率。为此,国网辽宁沈阳市沈北新区供电公…

Nacos Ignore the empty nacos configuration and get it based on dataId

1.配置错误 dataId问题 启动日志: 使用properties格式的文件: Ignore the empty nacos configuration and get it based on dataId[xxx-server] & group[DEFAULT_GROUP] Ignore the empty nacos configuration and get it based on dataId[xxx-s…

python 自动化测试 pytest 的使用

pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架 支持参数化 可以更精确的控制要测试的测试用例 丰富的插件,已有300多个各种各样的插件,也可自定义扩…

【JDK8新特性之Stream流-Stream结果收集案例实操】

一.JDK8新特性之Stream流-Stream结果收集以及案例实操 二.Stream结果收集(collect函数)-实例实操 2.1 结果收集到集合中 /*** Stream将结果收集到集合中以及具体的实现 collect*/Testpublic void test01(){// 收集到List中 接口List<Integer> list Stream.of(1, 2, 3…

代码随想录【Day23】| 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

669. 修剪二叉搜索树 题目链接 题目描述&#xff1a; 给定一个二叉搜索树&#xff0c;同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点&#xff0c;所以结果应当返回修剪好的二叉搜索树的新…

Git ---- GitHub 操作

Git ---- GitHub 操作1. 创建远程仓库2. 远程仓库操作1. 创建爱你远程仓库别名2. 推送本地分支到远程仓库3. 克隆远程仓库到本地4. 邀请加入团队5. 拉取远程库内容3. 跨团队协作4. SSH 免密登录GitHub 网址&#xff1a;https://github.com/ Ps&#xff1a;全球最大同性交友网站…

makdown模版参考

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

RK系列(RK3568) i2s 音频输入 麦克风驱动

平台&#xff1a;Android12SOC&#xff1a;RK3568外围芯片&#xff1a;XS9922i2s简介&#xff1a;从上图看I2s主要的线有&#xff1a;SDO SCLK LRCK MCLK I2S协议只定义三根信号线&#xff1a;串行时钟信号SCLK(BCLK)、数据信号SD和左右声道选择信号WS。&#xff08;1&#xff…

Leetcode力扣秋招刷题路-0103

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 103. 二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此…

注意力机制详解系列(一):注意力机制概述

&#x1f468;‍&#x1f4bb;作者简介&#xff1a; 大数据专业硕士在读&#xff0c;CSDN人工智能领域博客专家&#xff0c;阿里云专家博主&#xff0c;专注大数据与人工智能知识分享。 &#x1f389;专栏推荐&#xff1a; 目前在写CV方向专栏&#xff0c;更新不限于目标检测、…

SSM+HTML搭建(小白教学)

最近做项目,觉得还是有意义记录以下前后端框架是怎么搭建的,今天给大家介绍介绍SSM:SpringBootSpringMVCMyBatis后端搭建:SpringBoot快速搭建的网站(Spring Initializr)选择创建之后,会下载到一个zip压缩包,对压缩包进行解压(包地址一般选择后端项目的放的文件夹中)用idea打开项…

上岸16K,薪资翻倍,在华为外包做测试是一种什么样的体验····

现在回过头看当初的决定&#xff0c;还是正确的&#xff0c;自己转行成功&#xff0c;现在进入了华为外包测试岗&#xff0c;脱离了工厂生活&#xff0c;薪资也翻了一倍不止。 我17年毕业于一个普通二本学校&#xff0c;电子信息工程学院&#xff0c;是一个很不出名的小本科。…

字符串匹配--strstr函数的模拟实现思路和代码

一&#xff0c;strstr函数 原型&#xff1a; const char * strstr ( const char * str1, const char * str2 );char * strstr ( char * str1, const char * str2 ); strstr是一个字符串匹配函数&#xff0c;在str1中去寻找str2&#xff0c;如果找到&#xff0c;返回str2在…