Android 6年经验面试总结 2024.11.15
背景:深圳 面过12家中大厂、4家中小厂,通过4家中大厂,2家offer。
针对六年的求职面试总结:项目经验70%+30%基础(基础应该必会)
- 对于上来就问八股文的公司,对于已经工作了5年以上的开发来说,稍微显得不那么尊重了。
- 项目:项目中需要展现自己在日常做过的启动优化、卡顿优化、内存优化方面的内容,不然整个在职过程如果没有亮眼的项目,再没有优化的项目,会有一种只会绘制UI的感觉。
- 项目细节:需要展示自己的独立思考与深度思考,再加上对已有开源库的熟练掌握,以及是否也应用在了自己的项目中。
- 基础:这里还是简单背题的话,已经不能应对面试了,面试还是考察你这这块整个的理解程度,简单的几道题并不能丰富自己,比如绘制过程,从 Vsync开始描述,再一步一步扣细节,还是要自己一块一块梳理。
- 算法:已经不是那么重要了,顶多是一些智力题,如果项目中应用了简单的算法,可以写上,并且对于自己已经写在简历上的算法, 要熟记于心,比如排序、LRU等。
- 薪资:可以要求 20%-30% 涨幅,但如果自己当前工资稍高,可能范围就在 15%-20%涨幅(这里可以和之前同事进行比较辨别)
大致范围:
kotlin
协程:
- 优缺点、启动方式、作用域、分发起、结构化并发、取消机制、
- 冷流、热络、高阶函数
Jetpack
- LifeCycle、ViewModel、LiveData
Java
线程:
- 锁、锁的范围、锁的区别、死锁、锁安全、同步方法、线程间通信、关键字、线程池、GC、双亲委派
Android
- Handler、同步消息屏障、idleHandler、msg.target、ThreadLocal
RecyclerView 缓存、卡顿优化、内存优化 - Okhttp
拦截器、日志拦截、单向证书验证、分发器、内部维护线程池、 - Retrofit 设计模式
- Glide 原理、几种缓存内部使用的算法
- 屏幕适配
- App启动流程、绘制流程、启动优化、卡顿优化、内存优化、内存泄漏检测
- 组件化:
组件间通信方式、传输格式、protcolBuffer、Arouter - webview
- android 与 js 通信方式
Flutter
- 三棵树的绘制原理
RN
Bitmap
- 图片内存大小计算、如何优化、Android 不同版本有何不同
设计模式
视频
- 视频解码过程、编码过程
网络
- https/http、SSL/TLS如、何防止抓包、七层协议、TCP/UDP、握手
Git 分支管理
进制转换:
- 二进制、八进制、十六进制、十进制
HR相关问题
- 未来发展规划
需要面试资料(1万字整理)或者深圳有些我面过的公司的面试题可以留言
相关文章:
Android 6年经验面试总结 2024.11.15
背景:深圳 面过12家中大厂、4家中小厂,通过4家中大厂,2家offer。 针对六年的求职面试总结:项目经验70%30%基础(基础应该必会) 对于上来就问八股文的公司,对于已经工作了5年以上的开发来说&…...
R语言数据分析可视化——summarytools包的使用
R语言中的summarytools包通过提供能够用最少的代码生成数据全面摘要的功能,使数据分析更加简单。summarytools包提供了一种简单的方法来生成数据集的摘要统计信息,包括描述性统计、频率表、交叉表、缺失值、异常值、相关性、线性回归、ANOVA、卡方检验等。本文将介绍如何使用…...
转型一年半,虎牙直播的第二增长曲线喜忧参半
文:互联网江湖 作者:刘致呈 最近,虎牙公司(NYSE:HUYA)公布了2024年第三季度财报。 表现怎么样呢?从财务数据上看,这份成绩单有点不尽人意。 报告期内,虎牙实现营收15.38亿元&…...
makefile笔记
makefile 在 Makefile 中,预定义的变量(也称为内置变量)提供了对构建过程中的默认值和特殊值的访问。这些变量通常由 Make 自动设置,并且可以覆盖它们以改变 Make 的行为。下面是 Make 环境中常见的几个内置变量及其用途…...
Rewar Model的输出(不包含训练)
这里写自定义目录标题 介绍模型推理的输出过程方案原始Token输出RM输出(回归任务) 介绍 奖励函数模型 (Reward Model) 是人工智能 (AI) 中的一种方法,模型因其对给定提示的响应而获得奖励或分数。现在的文章清一色的讲解RM的训练,…...
Python调用API翻译Excel中的英语句子并回填数据
一、问题描述 最近遇到一个把Excel表中两列单元格中的文本读取,然后翻译,再重新回填到单元格中的案例。大约有700多行,1400多个句子,一个个手动复制粘贴要花费不少时间,而且极易出错。这时,我们就可以请出…...
SQL面试题——抖音SQL面试题 最大在线用户数
最大在线用户数 下面的数据记录了一个直播平台上用户进入平台和离开平台的情况 +---+-------------------+-----+ | id| etime| type| +---+-------------------+-----+ | 1|2021-06-10 10:00:00|enter| | 1|2021-06-10 19:00:00|leave| | 2|2021-06-10 11:0…...
前端知识点---Window对象(javascript)了解
Window对象 在JavaScript中,当你在非严格模式下的全局作用域中使用this时,它会引用全局对象。在浏览器环境中,这个全局对象就是Window。 01什么是 Window 对象? Window 是浏览器提供的一个全局对象,它代表了浏览器的…...
llama factory lora 微调 qwen2.5 7B Instruct模型
项目背景 甲方提供一台三卡4080显卡 需要进行qwen2.5 7b Instruct模型进行微调。以下为整体设计。 要使用 LLaMA-Factory 对 Qwen2.5 7B Instruct模型 进行 LoRA(Low-Rank Adapters)微调,流程与之前提到的 Qwen2 7B Instruct 模型类似。LoRA …...
类和对象——拷贝构造函数,赋值运算符重载(C++)
1.拷⻉构造函数 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。 // 拷贝构造函数//d2(d1) Date(const Date& d) {_year d._yea…...
Android 关于使用videocompressor库压缩没有声音和异常的问题
原库地址 https://gitcode.com/gh_mirrors/vi/VideoCompressor/overview 这个库用起来比较方便,使用Android原生的MediaCodecmp4parser的方式进行压缩,不用接入so库也不用适配cpu 问题 接口库后你会发现过时了,所以你一阵捣鼓后你发现压缩…...
LeetCode-215.数组中的第K个最大元素
. - 力扣(LeetCode)给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问…...
『OpenCV-Python』视频的读取和保存
点赞 + 关注 + 收藏 = 学会了 推荐关注 《OpenCV-Python专栏》 上一讲介绍了 OpenCV 的读取图片的方法,这一讲简单聊聊 OpenCV 读取和保存视频。 视频的来源主要有2种,一种是本地视频文件,另一种是实时视频流,比如手机和电脑的摄像头。 要读取这两种视频的方法都是一样的…...
什么是Spring Boot Actuator
Spring Boot Actuator是一个用于监控和管理Spring Boot应用的框架,它提供了生产级别的功能,如健康检查、审计、指标收集、HTTP跟踪等。以下是对Spring Boot Actuator的详细介绍: 一、主要功能和特点 监控和管理: 提供多种内置端点…...
计算机网络:运输层 —— 运输层端口号
文章目录 运输层端口号的分类端口号与应用程序的关联应用举例发送方的复用和接收方的分用 运输层端口号的分类 端口号只具有本地意义,即端口号只是为了标识本计算机网络协议栈应用层中的各应用进程。在因特网中不同计算机中的相同端口号是没有关系的,即…...
linux下编译安装memcached
一、安装依赖库 Memcached依赖于一些系统库,在大多数Linux发行版中,需要安装libevent库。 Debian/Ubuntu系统 使用以下命令安装依赖库: sudo apt -y update sudo apt -y install libevent - devCentOS/RHEL系统 可以通过以下命令安装&am…...
最短路径生成树的数量-黑暗城堡
信息学奥赛一本通T1486-黑暗城堡 时间限制: 2s 内存限制: 192MB 提交: 18 解决: 9 题目描述 知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度。 城堡是树形的并且满足下面的条件: 设 Di为如果所有的通道都被修建…...
将已有的MySQL8.0单机架构变成主从复制架构
过程: 把数据库做一个完全备份, 恢复到从节点上, 恢复后从备份的那个点开始往后复制,从而保证后续数据的一致性。 步骤: 修改 master 主节点 的配置( server-id log-bin )master 主节点 完全备份( mysqldump )master 主节点 创建…...
JSON.stringify的应用说明
前言 JSON.stringify() 方法将 JavaScript 对象转换为字符串,在日常开发中较常用,但JSON.stringify其实有三个参数,后两个参数,使用较少,今天来介绍一下后两个参数的使用场景和示例。 语法及参数说明 JSON.stringify()…...
pyflink datastream数据流ds经过一系列转换后转为table,t_env.from_data_stream(ds)
在 pyflink 处理数据流过程中,有时候需要将data_stream转为table,下面是正确的方式,即每一个算子(map,reduce, window)操作之后需要指定输出数据类型。 from pyflink.common.typeinfo import Types from pyflink.datastream import StreamEx…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
