在当下Android 市场下行时,能拿到offer实属不易~

news2024/11/16 0:43:54

作者:六哥

如今 Android 已不是前几年那么风光,但它的市场还在,“它”还是那个Android,还是那个我赖以生存、夜以继日陪伴着我的朋友。所以,我永远不会抛弃它。

好了,情感已经抒发的差不多了,我们进入正题;虽然我没有拿到两个offer,但是字节跳动的那场面试我也走到了最后一面,没拿到offer,还是觉得挺可惜的。这场你们就当凉经看好了;

字节跳动凉经随笔

从6月初月开始,我就没少投递简历,刚开始的时候接到了很多邀我面试的电话。虽然很多,但是有些公司我是实在不想去,薪资太低了。

拒绝以后,在等待中时间很快来到了6月底,当天下午的2、3点钟,我正温习着面试题的时候,电话咚咚咚的响起,接听过后是个声音很好听的女生,她说她是字节跳动的HR,问我是不是投了我们公司的XXX部门的Android研发岗,我说是。她便问我晚上有时间,约我视频面试。我回答道有的,于是晚上8点钟的时候开始了字节跳动的第一轮技术面试

字节跳动一面:技术面

  • 自我介绍+介绍项目
  • Activity生命周期,每个回调方法的作用是什么?
  • 事件的分发机制
  • 内存泄漏
  • 遇到过滑动冲突吗?滑动冲突的解决方法
  • 如何进行单元测试,如何保证App稳定 ?
  • 说一说Android中如何查看一个对象的回收情况 ?
  • Apk的大小如何压缩 ?
  • 如何通过Gradle配置多渠道包?
  • 插件化、组件化、热修复原理分析

面试官在匆忙之中结束了面试。在我以为我自己要挂掉了时候,第三天的下午HR约我二面。

字节跳动二面:技术面

  • 深挖项目
  • Activity 生命周期,A启动B两个状态分别是什么 ,A的onStop一定会执行吗?
  • surfaceView 和普通view的区别
  • Bitmap高效加载
  • 线程之间的通信方式handler
  • 内存泄漏
  • 为什么handler可以线程切换
  • Rxjava map关键字的作用是什么
  • 怎么获取view的宽高,如何确定值是准确的,说了view.post()补充viewTreeObserverOnGlobalLayoutListener
  • 场景题:头条列表有多个不同的card,使用RecyclerView怎么解耦getViewType,获得不同的card
    说了用个管理类映射,面试官说用注解、反射,依赖注入。

二面总体感觉还不错,90%都说到点上了。过了半个小时,HR打电话过来问我考虑来北京工作吗?因为我是辽宁人嘛,之前大学毕业后就在北京待了4年,这两年因为家里催婚的问题,我才回了大连。在考虑很久后我跟说她我两天后,给你消息,结果两天后,我再一次的去了北京。

字节跳动三面:技术面

HR小姐姐跟我说,来了北京以后跟她说,约三面的时间。我是十一号的晚上到的北京,放下东西后睡了一觉,第二天上午跟HR打了电话,约了十五号的面试。不知道是不是太久没有现场面试了,面试的时候我一直很紧张,导致我知道的面试题也答不上,遗憾的错过了字节跳动。

  • 项目深挖
  • ARouter路由原理
  • 如何管理过多的路由表?
  • 看视频的时候网络请求很慢怎么优化?
  • 说说HTTP3.0有什么改进?
  • App上线后用户使用时卡顿怎么查看是什么原因?

小米热经随笔

本来字节跳动给我挂了以后,想着回大连的。但是越想越不服气,索性就把简历投了北京的所有互联网大厂。功夫不负有心人,在10月24号这天,我终于等到了小米的面试邀约。在经过四次与面试官的技术交流后,我顺利的拿到小米的offer。

  • android事件分发机制,请详细说下整个流程
  • android view绘制机制和加载过程,请详细说下整个流程
  • 图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?
  • A、B、C、D分别是四种Activity的启动模式,那么A->B->C->D->A->B->C->D分别启动,最后的activity栈是怎么样的
  • Service的生命周期,两种启动方法,有什么区别
  • Handler、Looper消息队列模型,各部分的作用
  • Binder原理
  • 描述一次跨进程通讯
  • Bitmap的处理
  • 手写实现一个网络框架(参考Volley)
  • 插件化框架描述:dynamicLoadApk为例子
  • 热修复原理
  • Asynctask和线程池,GC相关(怎么判断哪些内存该GC,GC算法)

两次面试总结:小米+字节跳动

人生之事,幸之有三;有失、有舍、有得;

虽然字节跳动面试官在三面时挂掉了我,却不料我却拿到小米的offer,这并不是说字节不好啊,假如字节没有挂掉我,我或许是进了字节。后面就没有小米这摊子事了,所以说有失有得还是挺好的,我也挺满足的。

目前在小米入职也快半个月了,字节跳动的凉经和小米的热经分享出来是为了帮助更多跟我一样想进大厂的同行朋友们,能在面试之前有个参考物。一些不该趟的坑尽量不要趟,最后希望大家可以拿到理想的offer。

面试前期复习

我在投简历期间就在收集整理一些学习文档等进行复习,以便能更好的应对后面的面试,因为时间的关系,这些东西只复习到一半就去面试去了,也正是这个复习没到位的原因导致在字节跳面试失力,唉~ 还好保住小米的Offer就没那么多遗憾了

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

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

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

相关文章

SecureCRT配置id_rsa和id_rsa格式问题

选项->会话选项 在弹出的窗口中继续: 连接->SSH2->公钥->属性 在属性会话框中证书文件里输入id_rsa路径: 一般情况下确定就可以了,但可能提示: Could not load the public key from the private key file使用ssh…

学习笔记23 stack和queue

一、stack概念 stack是一种按先进后出方法存放和取出数据的数据结构 java提供了一个stack类,其中有以下几种方法: 看个例子: import java.util.*;/*** This program demonstrates the java.util.Stack class.*/public class StackDemo1 {p…

Android 创建 Gradle Task 自动打包并上传至蒲公英

前言 Android 项目日常开发过程中,经常需要打包给到非开发人员验收或调试,例如测试阶段,就要经常基于测试服务器地址,打包安装包,给到组内测试人员进行测试,并且 BUG 修复完成之后也需要再次打包给到测试人…

极验4代滑块验证码破解(补环境直接强暴式拿下)

目录 前言一、分析二、验证总结借鉴 前言 极验第四代好像简单了特别多,没有什么技巧,环境党直接5分钟拿下。 网址: aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vYWRhcHRpdmUtY2FwdGNoYS1kZW1v 一、分析 直接去它官网,滑动滑块打开控制台瞅瞅 可以看…

Flask学习笔记_异步论坛(四)

Flask学习笔记_异步论坛(四) 1.配置和数据库链接1.exts.py里面实例化sqlalchemy数据库2.config.py配置app和数据库信息3.app.py导入exts和config并初始化到app上 2.创建用户模型并映射到数据库1.models/auth.py创建用户模型2.app.py导入模型并用flask-mi…

解决Debian10乱码以及远程连接ssh的问题

文章目录 解决Debian10乱码Debian10配置ssh 解决Debian10乱码 下载locales apt-get install locales配置语言 dpkg-reconfigure locales输入上述命令后会进入到以下页面【空格为选中,回车下一个页面】 在这个页面里我们按空格选中如图的选项,然后回…

安科瑞智慧空开微型断路器在银行的应用-安科瑞黄安南

应用场景 智能微型断路器与智能网关组合应用于末端回路 功能 1.计量功能:实时上报电压、电流、功率、电能、漏电、温度、频率等电参量; 2.报警功能:过压报警、欠压报警、过流报警、过载报警、漏电报警、超温报警、三相电缺相报警&#xff…

Jetson Docker 编译 FFmpeg 支持硬解nvmpi和cuvid

0 设备和docker信息 设备为NVIDIA Jetson Xavier NX,jetpack版本为 5.1.1 [L4T 35.3.1] 使用的docker镜像为nvcr.io/nvidia/l4t-ml:r35.2.1-py3,详见https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml 使用下列命令拉取镜像: sudo docker pull nvcr…

windows查看 jar包进程号指令

1 打开cmd 2 : 9898 jar包对应的端口号 netstat -aon|findstr 9898 3 :打开任务管理器 根据搜索出的23700 找到对应进程

【C++】STL——vector的模拟实现、常用构造函数、迭代器、运算符重载、扩容函数、增删查改

文章目录 1.模拟实现vector1.1构造函数1.2迭代器1.3运算符重载1.4扩容函数1.5增删查改 1.模拟实现vector vector使用文章 1.1构造函数 析构函数 在C中,vector是一个动态数组容器,可以根据需要自动调整大小。vector类提供了几个不同的构造函数来创建和初…

gradle项目上传项目依赖到远程仓库

gradle项目上传项目依赖到远程仓库 第一步:在需要上传的项目的bulid.gradle下添加maven插件,并配置连接远程仓库的信息以及项目的三要素信息,如下所示 dependencies {implementation org.mapstruct:mapstruct:1.4.2.Final } apply plugin: …

Linux - make/Makefifile

0.背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需…

【Spring】Spring之循环依赖底层源码解析

什么是循环依赖 A依赖了B,B依赖了A。 示例: // A依赖了B class A{public B b; }// B依赖了A class B{public A a; }其实,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。示例: A a new A(); B b new B…

5分钟快手入门laravel邮件通知

第一步: 生成一个邮件发送对象 php artisan make:mail TestMail 第二步: 编辑.env 添加/修改(没有的key则添加) MAIL_DRIVERsmtp MAIL_HOSTsmtp.163.com (这里用163邮箱) MAIL_PORT25 (163邮箱…

Bug记录: CUDA error_ device-side assert triggered

Bug记录: CUDA error: device-side assert triggered 在接触AIGC算法的过程中偶尔会遇到这样的bug:RuntimeError: CUDA error: device-side assert triggered return torch._C._cuda_synchronize() RuntimeError: CUDA error: device-side assert trig…

Qt实现引导界面UITour

介绍 最近做了一款键鼠自动化,想第一次安装打开后搞一个引导界面,找了好多资料没啥参考,偶然发现qt有引导界面如下图。 Qt整挺好,但是未找到源码,真的不想手撸,无奈实在找不到,下图是仿照qt实现…

在Vue中使用深度选择器定制Element Plus组件样式

介绍: 在Vue.js开发中,我们经常使用Element Plus作为UI组件库,它提供了丰富的组件供我们使用。然而,有时候我们希望对Element Plus的组件样式进行一些定制,比如调整字体大小、改变颜色等。在这篇博客中,我…

【GitOps系列】如何实施金丝雀发布?

文章目录 前言金丝雀发布概述金丝雀实战创建生产环境 部署金丝雀环境配置金丝雀策略金丝雀发布自动化创建 Rollout 对象创建 Service 和 Ingress 对象访问生产环境金丝雀发布自动化 访问 Argo Rollout Dashboard自动化原理结语 前言 蓝绿发布是一种通过资源冗余来换取回滚效率的…

关于jar文件反编译

最近在搞tck测试,想要将其日志转换成apdu脚本,结果出现默认输出最大长度不足,输出被省略现象。 软件log出现的错误信息 ... Output overflow: JavaTest Harness has limited the test output to the text to that at the beginning and the…

stable-diffusion-webui 启动服务,卡在浏览器loading中, 重定向解决

最新的code,按步骤安装,趟完pip和github的坑,终于启动服务 然后悲催的卡在浏览器这一步,一直在loading,折腾一下午,尝试可能有效的步骤,也许最后一步才有用: 1. 启动IIS服务 2. 配…