当前位置: 首页 > news >正文

一个3年Android的找工作记录

作者:Petterp

这是我最近 1个月 的找工作记录,希望这些经历对你会有所帮助。

有时机会就像一阵风,如果没有握住,那下一阵风什么时候吹来,往往是个运气问题。

写在开始

先说背景: 自考本,3年经验,非大厂背景

在现如今行情并不是很好的情况下,这些case更像是叠 Buff 一样,充满着各种限制。

个人背景比较差的情况下,那靠什么才能拿到一个 面试机会 呢?或者说,抛开目前的背景而言,还有什么可以 辅助证明 [小伙子应该值得一面] :

  • 年龄 24 (能卷 / 瞎说);
  • Github 1k Star,多个开源库的维护者;
  • 清晰的职业规划与个人目标(比较虚的东西,但每个人都应该具备);

职业规划

对于技术同学而言,3年5年 这些都是至关重要的时间节点,于我而言,刚好处于 3 年的位置。

在之前的经历中,因为团队比较自由,涉及的范围相对比较广,从业务到性能优化,再从基础设施到CI/CD。

故按照原本的职业规划,本次理想目标是:小厂,性能优化||基础架构 方向

面试经历

这部分总结了一张表,感兴趣的大家可以看看:

最开始先找了一些外包进行尝试(因为很久没有面试过了,看看市场),但尝试发现,外包本身难度比较低,故不太适合。然后尝试内推了各种小厂,但几乎都在HR关被筛掉了,所以真正能有机会面试的并不多。所以于我而言,最难的不是面试本身,而是如何通过第一道简历筛选😟

从这个月总的面试感受来看,有准备的情况下,面试难度基本都比较适中,比如陌陌其实比较简单,相对困难一点的是: 汽车之家(基础架构)、融云(sdk)。当然这并不代表所有业务线,总体还是要根据个人简历与知识深度以及运气而定

问什么?

当聊面试的相关问题或者方向时,直接说面试题,总不是特别好的方式,故结合自身而写了下面几个维度:

  • 架构方面 (MVx系列、组件化)
  • 基础技能 (KotlinASMAPT)
  • 数据结构 (链表、哈希表,力扣热题100)
  • 性能优化 (秒开、包体积、ANRCrash …)
  • 基础概念 (HandlerView 绘制、线程池 …)
  • 三方组件 (ARouterJetPack 系列、Epoxy …)
  • 项目相关 (个人角色数据 真实性、方案 可行性 …)
  • 软技能与情商 (OKR制定、个人 定位 、职业规划 …)

回到面试本身,个人本次的体验中,少有去问八股的,可能因为项目本身就有足够问的,当然这个就要根据简历以及面试官而定

常见流程

聊到具体的面试流程,通常如下所示(根据个人经历)

  • 一面(技术)
    自我介绍,然后问项目中的问题(时间较长),接着会问一些常见的八股或者三方组件问题,最后算法题收尾,最后你还有什么想问的;
  • 二面(leader)
    自我介绍,开始问项目,如果某个问题或者某些通用型问题频繁回答失败(分数下降),降级回到八股去问,最后你还有什么想问的;
  • 三面(总监||CTO)
    有时会省略自我介绍,说说你之前做了什么,问一些 OKR 以及 职业规划 上的问题,你对我们公司怎么看,你在原公司的角色等;
  • HRBP
    聊聊个人情况,预期的薪资,我们这边的情况,你对我们公司怎么看,面试的感觉如何等等;
  • 加面(CEO)
    开门见山,先说公司的背景与核心业务,再说现状,比如今年的目标等;再问你之前负责的事,你的职业规划等等;
  • HR(聊薪)
    会再问你预期的薪资,上家的总包情况等,然后再说公司这边的福利等等,最后会给你一个大概多久反馈结果(可能需要你问)。

不过一般不会有这么多轮,往往都是:2(技术)+1(HR),或者 3(技术)+1(HR) ,如果遇到 加面 ,往往都是都是对于小公司或者岗位比较重要。

一些技巧

1.简历投递
如果背景不太好,记得编辑一下打招呼消息(突出你的 技术亮点社区贡献 等),优先找Boss是 技术同学 的去投递;
2.面试准备
当拿到面试邀约后,记得去体验一下所在业务线的产品,技术氛围,网上有没有相关面试资料等等,对简历中的重要部分进行整理;
3.自我介绍
不要像背诵一样,通常除了说项目本身,更重要的是需要阐述你做了什么?得到了什么关键数据?你的职业规划等;
4.面试过程
* 记得 开摄像头 ,这是基本礼节,这样也能更好的Get面试官状态变化;
* 对于没听清或者没get到的问题,不要猜,大胆再问一遍
* 对于一些八股或者无法解释的问题,可以 换角度解答 。比如:这块我以前整理过,但是目前记得不是特别清,不过我可以根据我个人的理解来进行解释,不确定是否一定正确。ps: 重要的是你 如何思考 ,而非答案100%正确,善意的面试官通常也会引导你进行解答 😃
* 手写算法时,如果发现自己5分钟之内无法写出,可以告诉面试官 大概思路 即可。ps:大家时间都很宝贵,通常思路正确也可以;
5.面试复盘
对于每次面试,及时做好 复盘 ,特别是对于简历上写,如果面试中被问住,则更需要回来反复思考整理;
比如会有同学建议尝试录音,这也是一种很好的方式。不过我更多的是通过文字记录,特别的,对于一些比较重要的部分,及时做好分段分章节记录。对于一些关键业务数据,一定要确保真实可信,可论证;
6.面试结果
常常会经历等结果的过程,通常行业中默认第二天不联系,就等同于没通过。但如果比较在意这家公司,面试中还不错(75分即可),那么可以大胆在面试完隔1天后去问结果如何。ps: HR 不会因为你问他/她结果而如何,结果是业务部门定;
7.聊薪阶段

关于社保公积金的比例、公司的福利、每年调薪机会等等其他情况都可以进行提问,到了这个阶段,也就不要再藏着掖着。需要注意的是,需要自己了解现在的市场行情,当然更多的是根据上一份base而定,幅度 15-20% 左右(根据自身情况,有没有其他offer等等调整),也不要太离谱。

最终去处

最终在 融云(IM SDK)回响科技(Flutter) 中间选了后者;

最终下决定的原因来源于:

我是一个比较感性的人,在这两家纠结了挺久。最后突然在小宇宙刷到了后者创始人(沈振宇)的一些fm,听了一些产品侧以及对市场的看法,冷不丁的感觉,这里也许更适合我,可能下决定时有点冲动,但站在现在的角度,这个决定是符合我的状态。引用比较喜欢的一句话:

社区不止是内容的承载,更是这部分人群的呼应与共鸣。(有修改)

虽然很 向往 高复杂场景的设计与基础设施的构建,但也喜欢 产品设计与技术本身 所带来的呼应,就像去买 pixel,不仅仅是为了原生系统,更重要的是满足 最初的梦想 以及 探索电子产品 所带来的感受。

站在理性的角度,对于我个人的职业规划而言,显然未来更很想成为一个独立开发者(具备产品思维),前者做sdk,虽然深度提高,但也限制了其他场景,故后者更符合我自身不过事在人为,无论是在哪里,于我而言,都会朝着这个方向前进

当然也要特别感谢我 女朋友 和在北京的同学们,也是他们一直在鼓励我别灰心 😃

Next(新篇章)

即将迎来新的 3-5年 ,除技术本身之外,也有下面几个新节点:

  • 单词 & 英语口语练习;
  • Android GDE
  • 在职研究生考试;

其中 第一项 是目前最重要需要解决的,也是后两项的基础,可能会花一年时间去准备。同时在中间节点,也会去参加几场技术分享,为 GDE 铺路。

依然记得当年毕业面试时,别人问我的那个问题:你为什么选择Android?

因为热爱

写在最后

这就是最近一个月的面试记录,唠唠叨叨也写了不少,虽然结果并不像我原本所期望的那样:找个中小厂,去为履历增添几笔。

但往往并不会事事顺心,很多时候反而是 运气成分 较大。 不可否认,好的背景能加分不少,但如果能有更多的自由空间,去做比较有意思的事情,也是非常酷。

常言道:英雄不问出处,这句话某种程度上听着还是会比较遗憾。不过,生活也远不止一种方式,未来具体能走到哪里、遇到怎样的人、站到怎么样的高度,还是在于自身。

最后,希望我的经历,会对你有所帮助,愿大家都能 无限前进:)

下面推荐一些复习文档:《Android 八大知识体系》:https://qr18.cn/CyxarU+《2023版Android 最新面试题(含Java基础、Android基础、性能优化、Framework……)》:https://qr18.cn/CgxrRy

相关文章:

一个3年Android的找工作记录

作者:Petterp 这是我最近 1个月 的找工作记录,希望这些经历对你会有所帮助。 有时机会就像一阵风,如果没有握住,那下一阵风什么时候吹来,往往是个运气问题。 写在开始 先说背景: 自考本,3年经验&#xff0…...

CAS原理解析

CAS是一种乐观锁机制,一种比较并交换的过程和理念,用来解决线程安全问题,具体来讲就是对共享变量值的安全更新机制。能够保证原子、可见、一致性。这种交换过程是在Unsafe类中实现。 从一段简单的代码开始来对源码做分析 public static void…...

SQL项目实战:银行客户分析

大家好,本文将与大家分享一个SQL项目,即根据从数据集收集到的信息分析银行客户流失的可能性。这些洞察来自个人信息,如年龄、性别、收入和人口统计信息、银行卡类型、产品、客户信用评分以及客户在银行的服务时间长短等。对于银行而言&#x…...

【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—实战篇)

探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群指令分析—下篇) Cluster XX的集群指令(扩展)写入记录主节点和备节点切换-CLUSTER FAILOVER新加入master节点新加入slave节点为slave节点重新分配master分配哈希槽删除…...

ubuntu

安装 sudo apt-get update sudo apt-get install mysql-server mysql-client 设置root密码 cat /etc/mysql/debian.cnf 查看默认密码 mysql -u debian-sys-maint -p 连接输入密码 use mysql; select user,plugin from user; update user set pluginmysql_native_passwor…...

【芯片设计- RTL 数字逻辑设计入门 3- Verdi 常用使用命令】

文章目录 Verdi 全局显示Verdi 前导 0 的显示Verdi 数据笔数统计Verdi 波形数据dump Verdi 全局显示 bsubi -n 16 -J sam visualizer -tracedir ./veloce.wave/debug_waveform.stw 打开波形后,如果想要看到所有信号的数据,可以点击下图中红框中的按钮&a…...

python-pytorch基础之cifar10数据集使用图片分类

这里写目录标题 总体思路获取数据集下载cifar10数据解压包文件介绍加载图片数字化信息查看数据信息数据读取自定义dataset使用loader加载建模训练测试建测试数据的loader测试准确性测试一张图片读取一张图片加载模型预测图片类型创建一个预测函数随便来张马的图片结果其他打开一…...

华纳云:linux下磁盘管理与挂载硬盘方法是什么

在Linux下进行磁盘管理和挂载硬盘的方法如下: 磁盘管理: a. 查看已连接的磁盘:可以使用命令 fdisk -l 或 lsblk 查看系统中已连接的磁盘信息,包括硬盘和分区。 b. 创建分区:如果磁盘是全新的,需要使用 f…...

ChatGPT + Stable Diffusion + 百度AI + MoviePy 实现文字生成视频,小说转视频,自媒体神器!(一)

ChatGPT Stable Diffusion 百度AI MoviePy 实现文字生成视频,小说转视频,自媒体神器!(一) 前言 最近大模型频出,但是对于我们普通人来说,如何使用这些AI工具来辅助我们的工作呢,或者参与进入我们的生活…...

linux strcpy/strncpy/sprintf内存溢出问题

本文主要介绍strcpy/strncpy/sprintf都是不安全的&#xff0c;可能存在内存溢出的问题。下来进行实例分析。 strcpy代码&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h>void test_func(char *str) {b…...

Jmeter如何添加插件

一、前言 ​ 在我们的工作中&#xff0c;我们可以利用一些插件来帮助我们更好的进行性能测试。今天我们来介绍下Jmeter怎么添加插件&#xff1f; 2023最新Jmeter接口测试从入门到精通&#xff08;全套项目实战教程&#xff09; 二、插件管理器 ​ 首先我们需要下载插件管理器j…...

flask---CBV使用和源码分析

1 cbv写法 -1 写个类&#xff0c;继承MethodView-2 在类中写跟请求方式同名的方法-3 注册路由&#xff1a;app.add_url_rule(/home, view_funcHome.as_view(home))#home是endpoint&#xff0c;就是路由别名#例子 class add(MethodView):def get(self):return holleapp.add_url…...

Qt 实现压缩文件、文件夹和解压缩操作zip

一、实现方式 通过Qt自带的库来实现&#xff0c;使用多线程方式&#xff0c;通过信号和槽来触发压缩与解压缩&#xff0c;并将压缩和解压缩结果回传过来。 使用的类&#xff1a; #include "QtGui/private/qzipreader_p.h" #include "QtGui/private/qzipwriter…...

简单工厂模式VS策略模式

简单工厂模式VS策略模式 今天复习设计模式&#xff0c;由于简单工厂模式和策略模式太像了&#xff0c;重新整理梳理一下 简单工厂模式MUL图&#xff1a; 策略模式UML图&#xff1a; 1、简单工厂模式中只管创建实例&#xff0c;具体怎么使用工厂实例由调用方决定&#xff0c…...

【MySQL】触发器 (十二)

🚗MySQL学习第十二站~ 🚩本文已收录至专栏:MySQL通关路 ❤️文末附全文思维导图,感谢各位点赞收藏支持~ 一.引入 触发器是与表有关的数据库对象,作用在insert/update/delete语句执行之前(BEFORE)或之后(AFTER),自动触发并执行触发器中定义的SQL语句集合。它可以协助应…...

听说 Spring Bean 的创建还有一条捷径?

文章目录 1. resolveBeforeInstantiation1.1 applyBeanPostProcessorsBeforeInstantiation1.2 applyBeanPostProcessorsAfterInitialization1.3 案例 2. 源码实践2.1 切面 Bean2.2 普通 Bean 在 Spring Bean 的创建方法中&#xff0c;有如下一段代码&#xff1a; AbstractAutow…...

大数据课程E6——Flume的Processor

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Processor的概念和配置参数; ⚪ 掌握Processor的使用方法; ⚪ 掌握Processor的Default Processo; ⚪ 掌握Processor的Load Balance Processo; 一、Failover Sink Processor 1. …...

实现邮箱管理之gmail邮箱、office365(Azure)邮箱之披荆斩棘问题一览

要进行Office365邮箱的授权对接&#xff0c;你需要先申请一个应用&#xff0c;并获取授权访问令牌。 以下是一个简单的步骤&#xff1a; 登录 Azure 门户&#xff1a;https://portal.azure.com/创建一个新的应用程序&#xff0c;或者使用现有的应用程序。要创建新的应用程序&…...

(AcWing)多重背包问题 I,II

有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件&#xff0c;每件体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使物品体积总和不超过背包容量&#xff0c;且价值总和最大。 输出最大价值。 输入格式 第一行两个整数 N&#xff0c;…...

如何把几个视频合并在一起?视频合并方法分享

当我们需要制作一个比较长的视频时&#xff0c;将多个视频进行合并可以使得整个过程更加高效。此外&#xff0c;合并视频还可以避免出现“剪辑断层”的情况&#xff0c;使得视频内容更加连贯&#xff0c;更加容易被观众理解和接受。再有&#xff0c;合并视频还可以减少视频文件…...

yolo11红外光伏板图像识别 光伏板缺陷检测系统

YOLOv11光伏板热缺陷检测系统是一种利用先进的YOLOv11算法进行太阳能光伏板缺陷识别的解决方案。这种系统通常会包含以下几个关键部分&#xff1a; 安装教程 1.安装minconda 2.pycharm 3.安装cuda&#xff08;11.0&#xff09;&#xff08;下载链接&#xff1a;https://develop…...

2026局放仪选型与避坑:谁家局放仪更具性价比?

在高压配电网与智能电网的运维体系中&#xff0c;局部放电&#xff08;Partial Discharge, PD&#xff09;检测已成为保障电力资产安全、避免非计划停电的关键环节。根据《高压开关柜局部放电诊断定位技术研究与运用》的统计数据&#xff0c;在开关柜的各类故障中&#xff0c;绝…...

避坑指南:合宙ESP32-C3连接MPU6050时常见的I2C通信失败与数据跳变问题

ESP32-C3与MPU6050实战避坑手册&#xff1a;从I2C通信失败到数据稳定的全链路解决方案 当你在深夜调试ESP32-C3与MPU6050的组合时&#xff0c;突然发现串口监视器不断弹出"not find MPU6050"的红色警告&#xff0c;或者读取到的加速度数据像过山车一样疯狂跳动——这…...

【C++笔记】内存管理流食般投喂

声明&#xff1a;以下知识相关资料来自比特官网和小编手搓~C/C内存管理1、C/C内存分布2、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free3、C内存管理方式3.1、new/delete操作内置类型3.2、new和delete操作自定义类型4、operator new 与 operator delete 函数…...

Gofile下载神器:5分钟快速上手的高效命令行工具

Gofile下载神器&#xff1a;5分钟快速上手的高效命令行工具 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 你是否经常需要从Gofile.io下载大量文件&#xff0c;却厌倦了手…...

Vivado IP核避坑指南:Distributed Memory Generator里COE文件初始化与复位信号的那些‘坑’

Vivado分布式存储器IP核实战避坑&#xff1a;COE初始化与复位信号的深度解析 在FPGA开发中&#xff0c;分布式存储器&#xff08;Distributed Memory Generator&#xff09;因其灵活性和低延迟特性&#xff0c;常被用于实现小型查找表、寄存器堆等场景。然而&#xff0c;当涉及…...

别再死记硬背了!COBOL中COMP、COMP-3、COMP-5数据类型的区别与实战赋值避坑指南

COBOL数值类型实战手册&#xff1a;COMP家族的内存布局与精准赋值策略 在金融核心系统维护中&#xff0c;我曾目睹过因COMP-3类型使用不当导致整月利息计算误差达六位数的生产事故。这种"古董级"数据类型的独特设计&#xff0c;至今仍在每秒处理数百万交易的银行系统…...

别再只用labelme了!用ENVI 5.3的ROI工具给遥感影像打深度学习标签,保姆级避坑指南

遥感影像标注革命&#xff1a;ENVI ROI工具在深度学习标签制作中的专业实践 引言 在遥感影像分析与深度学习模型训练的工作流中&#xff0c;数据标注环节往往成为制约效率提升的关键瓶颈。传统标注工具如labelme虽然在小尺寸自然图像处理中表现出色&#xff0c;但当面对动辄数G…...

如何在5分钟内解锁所有Steam成就:Steam Achievement Manager完整使用指南

如何在5分钟内解锁所有Steam成就&#xff1a;Steam Achievement Manager完整使用指南 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 还在为Steam游戏中那…...

Logisim新手避坑指南:手把手搞定头歌平台偶校验解码电路(附完整data.circ文件配置)

Logisim新手避坑指南&#xff1a;手把手搞定头歌平台偶校验解码电路 第一次打开Logisim时&#xff0c;那个简陋的界面和密密麻麻的逻辑门可能会让你望而生畏。更不用说还要在头歌平台上完成偶校验解码电路的评测——光是看到"找不到GB2312ROM.circ"的报错就足以让大多…...