疫情被裁3个月,看我如何拿下腾讯offer(面经+面试心得)

疫情被裁3个月,看我如何拿下腾讯offer(面经+面试心得)

下面分享一位小伙伴的经历~

前言

先说一下个人基本情况,湖南渣渣二本毕业,计算机科学与技术专业。主要学的Android开发,从事Android开发工作也有三年了,但是今年因为疫情原因,在3月份被裁了。

由于我有3年的开发经验,基础也还可以,觉得找工作应该比较容易,但是现实却不是这样的,陆陆续续投了一些简历,要不没动静,要不面试挂。

面试挂了几次后我总结了一下原因。移动端由于多年的发展,现如今面试要求变得越来越高,作为一个Android程序员,不仅要会Java、Kotlin、Flutter,甚至还得会JavaScript、Css、Html,有的公司还要求C++、FFmpeg、Linux等相关知识。而我工作这几年,并没有去学习别的知识,所以这也是我面试挂的主要原因。

于是我花了3个月的时间去学习了解新的技术,最后成功拿下了腾讯的offer,本篇就分享一下我被裁期间的面经和学习以及面试心得。

面经

被裁期间一共面试差不多二十家公司左右,既有外包,也有中小型企业,也有准备D轮甚至上市的C轮企业,更有BAT等知名企业。接下来就一一说一下各家公司的面试题。

武汉佰钧成(外包OPPO,自家面试官)

  • Activity的启动流程
  • Activity的启动模式,应用场景
  • 如何减少对第三方框架的耦合
  • hashmap的基本原理

博彦科技(外包OPPO,OPPO面试官)

两轮面试

  • Handler机制
  • Binder机制
  • 写一个单例模式,DCL为什么要加V关键字
  • 直接在Activity Sleep 5000ms,再post一个runable会不会ANR。
  • 如何监听ANR
  • View的绘制流程,每个都是干什么的
  • 事件传递机制

Insta360 (C轮公司)

三轮面试

  • 组件化如何实现组件通信
  • HashMap基本原理 如何减少hash冲突 如何增大hash冲突
  • 安装包怎么优化的
  • 如果有A,B,C,D,E五个步骤,每个步骤都需要操作对应请求,用哪种设计模式。

华为外包

两轮技术面试

  • 安装包优化做了哪些工作
  • 对加班怎么看的

本来一面完了就让我等着二面的,等了十分钟后跟我说二面面试官暂时不在,等下次再约时间,出门等了10分钟的公交,离家还有20分钟的时候,又给我打电话让我回去参加第二面,然后就没去了,太折腾人。

绿网科技

三轮技术面

  • hashmap原理
  • MVP,MVVM,MVC的区别是什么
  • Java Memory Model的内存模型
  • 如果让你设计一个app,打算怎么设计
  • JVM垃圾回收有哪几种算法,有哪几种垃圾回收处理器
  • Serial使用的哪一种回收算法
  • JVM的内存模型
  • Android主线程是怎么启动的
  • dex是如何转为机器码的
  • llvm编译是如何优化代码的
  • 说一个你自己的缺点。

最终结果却是因为另外一位面试者期望薪资比我低,就把我刷掉了。 坑爹啊

同洲电子

四轮技术面

  • Activity的启动流程
  • 静态类的静态方法能不能被子类重写(不能,走的invoke-static指令,只有走invoke-virtual指令的才可能实现多态)
  • Linux的启动流程
  • 对Native层有没有兴趣
  • 对做智能家居有没有兴趣
  • 招一个应届生进来做app也是做,招你也是做,为什么要招你

顺丰科技

一轮技术面 总共三轮面试

  • handler机制
  • looper的唤醒是在Java还是Native层,怎么做到的
  • HashMap,ConcurrentHashMap,HashTable有什么异同
  • Binder通信机制
  • 跨平台开发熟不熟悉
  • 如何提高海外用户的访问速度,假设服务器在深圳。
  • 如何学习一个新东西,有哪些执行步骤

百度

  • 红包随机算法 是怎么做到的
  • 写一个二叉树的深度度优先遍历,递归 非递归
  • Android中LocalServerSocket是干什么用的
  • binder的Native层代码看过吗
  • Linux有哪些RPC机制
  • 为什么android使用了Binder机制没采用共享内存
  • 如果让你设计一套进程间通信的机制,你会怎么设计
  • Linux的模块动态加载机制是怎么实现的
  • 一个物理屏划分为三个逻辑屏,是靠谁来分发事件的。
  • ConcurrentHashMap是不是绝对的线程安全。(final,绝对线程安全,相对线程安全,线程不安全)
  • 线程池是如何管理线程状态的

大宇无限(C轮公司 前身是豌豆荚)

是我第二心仪的一家公司,办公环境,氛围,福利都好的一逼,可惜了

  • Kotlin的访问权限
  • Koltin为什么比Java更安全
  • Koltin比Java好在哪
  • JVM的内存模型
  • JMM的内存模型
  • 为什么操作数栈是Thread-Private
  • 计算二叉树的深度
  • ArrayList跟LinkeList区别
  • ArrayList如何扩容的,如何提高ArrayList的效率
  • 动态代理静态代理区别
  • 启动优化怎么做的。
  • 如果给你个IOS APP,你打算怎么优化。
  • http有哪几种版本,版本间有什么区别。https跟http有什么区别。
  • apk为什么要签名,v1跟v2签名的区别
  • apk从编译打包都安装的流程
  • dex到odex为什么不能在编译期优化
  • 热修复原理
  • 你的优势是什么

平安

三轮面试

  • http2.0 1.1 1.0的区别
  • http如何保证安全性
  • 安装包优化有哪几种方式
  • 启动优化有哪几种方式
  • View的绘制流程,每个方法干什么的,如果要获取View的宽高,在哪个方法里获取
  • 如何应对弱网环境
  • android数据存储方式
  • 如果一个app无法访问网络,你怎么做数据存储。
  • DVM跟JVM的区别
  • React Native跟原生开发的优劣

腾讯

三轮面试

一面:

  • 算法题 通电小球
  • Android 沉浸式状态栏 怎么实现的
  • 事件处理函数有哪几个,父View 子View 监听同一个事件,重写哪些方法。在哪个View重写?
  • ViewRootImpl接受事件吗?
  • apk编译打包流程 V1,V2 签名区别
  • 利用logging监听方法耗时,会不会让app增大延迟。
  • eventbus为什么要用CopyOnWriteList?
  • 插件化怎么加载资源的?
  • JVM怎么保证gc效率跟线程运行效率的 ?
  • 如果android没用对应的view,flutter能运行吗?手写单例模式,volatile 跟 synchronized区别?
  • 接口暴露,但是不让别人调用,有哪些办法?

二面:

  • 为什么采用flatbuffer? 比Json好在哪里?
  • 如何处理Crash,NativeCrash呢?Google是怎么做到的?如果上报过程中再次产生Crash能不能捕捉到?
  • uncaughtException是被谁调用的,如果再次崩溃能不能捕获到?
  • Linux是怎么知道app崩溃的,如果想要在被kill前 做一些耗时操作,该怎么做?
  • 考虑设计一个crash捕捉模块。
  • 100万个数字求100个最大值。
  • 手写快速排序算法。

三面 (GM面):

  • kotlin比Java好在哪里,是函数式编程吗?
  • 如何防止DNS劫持?
  • 如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢?

面试及学习心得

面试心得

一、跳槽换工作要先多面试一些小公司,建议各位面试的时候不要上来就直奔BAT等,大厂面试官的技术广度与深度也不是几年没面试的你,能搞定的。最好先去一些小公司看看他们问的哪些东西,自己回去再查漏补缺一下,最后去大厂。

二、面试的时候一定要控制好心态,一个好的心态往往更容易拿到offer。就像我有次面试,因为心态没控制好,才面了30分钟不到就结束了,所以如果面试前你心态没控制好,宁可不去,也别抱着一个糟糕的心态去面试。

三、在面试这家公司前,一定要在网上找一下这家公司近几年的面试题,了解一下这家公司的面试官比较喜欢问一下什么。

学习心得

一、多看一些实战项目视频和书籍

二、多刷一些算法题

因为一些大厂还是十分看重算法方面的,这里推荐大家刷**《剑指offer》**这本书。

大约80%的算法题都来自这儿,刷就完事了。但是,千万不能无脑刷。

1. 刷前思考算法!

不要看到题目就手痒,二话不说public void main。

面试官也不喜欢莽莽撞撞的学员,最好的做法是,看好题目,思考该用的算法模型,然后清晰地跟面试官说出自己的思路和解法,得到面试官的认可之后再继续写。

2. 刷时牢记规范!

清晰的书写、布局,合理的命名。这些微不足道的习惯可能会成为一票否决的因素。培养良好的编程习惯在每一次代码中都需要去落地。

3. 刷后总结优化!

千万别AC后就大喊万岁跑路走人了。AC只能说明结果正确,但手撕代码的过程中你的代码可是赤裸裸地暴露在面试官的眼里,身材是好是坏一眼就看出来了。请一定要对比官方标准答案,思考最优解法,时间、空间复杂度。

#面试求职[话题]##android面经#
全部评论
牛牛牛
点赞 回复 分享
发布于 2023-01-31 19:21 广东

相关推荐

一、通用必刷题单(所有岗位都要刷!)这部分是无论技术 / 非技术都必考的,我刷得最熟、重复最多。1. 自我介绍题单必刷题型:1 分钟简洁版自我介绍2 分钟详细版自我介绍无实习 / 无奖项版自我介绍跨专业求职自我介绍我刷了:约 40 题(反复改写 + 录音 + 复盘)重点不是背稿,是把经历说顺、说真、说得匹配岗位。2. 行为面题单(宝洁八大问延伸)必刷:你最大的优点 / 缺点遇到压力最大的一件事与他人产生分歧怎么解决失败经历 + 从中学到什么如何安排时间、多任务处理我刷了:60 题左右,每道写逐字稿行为面没有标准答案,但有标准答案的结构——STAR。3. 简历深挖题单(最容易挂的地方)必刷:把你简历上每一段经历,都能讲完整你在项目里具体做了什么你遇到的困难是什么你有什么可量化的成果我刷了:把自己简历拆成 80 + 小问题,逐个练熟这里提醒一句:简历千万别让 AI 乱编,不然一问就崩。我自己全程只用泡泡小程序 AiCV 简历王做真实经历优化,不虚构、不夸大,面试问啥都能稳稳答出来。4. 职场常识题单为什么选择我们公司为什么选择这个岗位职业规划 3 年 / 5 年期望薪资、到岗时间还有拿到其他 offer 吗我刷了:30 题,每题 2 版答案这部分是态度分、稳定分,答不好直接减印象。二、非技术岗(运营 / 市场 / 行政 / 人事)必刷题单如果你和我一样,走的是非技术赛道,这部分是核心。1. 业务理解题单对我们产品 / 行业的理解如果让你做 XX 活动,你怎么策划如何拉新 / 促活 / 留存用户需求怎么分析我刷了:40 题,每题写简单方案不求专业,但求有逻辑、有思路。2. 情景面试题单领导给你不合理任务怎么办同事不配合怎么办工作出错如何补救多任务冲突怎么处理我刷了:30 题考察:责任心 + 沟通 + 抗压。三、技术岗(测开 / 前端 / 后端 / 数据分析)必刷题单我身边拿大厂 offer 的技术朋友,几乎都刷过这套:1. 算法题单数组与字符串哈希表排序与查找双指针、滑动窗口二叉树、DFS、BFS我朋友(上岸大厂)刷了:力扣前 200 题 + 热题 100至少刷 2 遍,一遍做题,一遍复盘。2. 计算机基础题单计算机网络操作系统数据库 SQL数据结构刷了:核心知识点 150 题左右基础不牢,面试直接凉凉。3. 项目面题单项目架构遇到的 Bug如何优化收获与反思刷了:按自己项目拆成 40 题技术面,项目占一半分。四、我整体刷了多少题?真实统计通用行为面:130 题非技术业务题:70 题技术岗朋友算法 + 基础:300 题 +简历深挖 + 自我介绍优化:不计其数总量加起来,我自己刷了近 300 道题。不是越多越好,是刷一道、会一道、能复述一道。五、最真心的建议:刷题前,先把简历稳住很多同学疯狂刷题,简历却一塌糊涂,结果连面试机会都没有。简历是入场券,面试是 you can you up。我自己的经验:先用泡泡小程序 AiCV 简历王把简历打磨到真实、专业、匹配岗位,再疯狂刷面试题,效率直接翻倍。不造假、不夸大、不编经历,面试问啥都不慌。
面试___岗的必刷题单
点赞 评论 收藏
分享
评论
10
51
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务