关于android:Android开发程序员备战字节一个月复盘字节面试感受

40次阅读

共计 2656 个字符,预计需要花费 7 分钟才能阅读完成。

前言

2021 届毕业生,双非本科院校(江西师大),没有听错,那个彩礼“天价”的省份。
21 届外面,应该算起步比拟晚的了。2020 年寒假 7 月份,才开始认认真真“温习“Android,过后连 java 泛型,组件,多线程都不分明。因为起步晚,所以后续错过了秋招。

历经一个月阵线,投了字节,具体部门这里不开展了,尽管都是些根底岗位,但毕竟是大厂,提供的舞台很大。

接下来复盘一下这一个月来的面试感触吧。

简历

首先是简历,简历是大厂的敲门砖,一份好的简历能够间接决定有没有面试的机会,没有面试的机会你的技术再好也没方法施展,换位思考一下,当初你当面试官,上面是你收到的两份简历(照片),你面 (约) 哪一个!所以我上了 Boss 直聘更新了一波本人的简历。

对于简历,在此强调一点,失常逻辑下面试官起初必定是就着简历来问问题的,所以简历中的提及的技术点本人肯定要全面把握。

面试题

一面(1h4min)

  • 自我介绍
  • 介绍 MVP,和 MVC 区别,劣势在哪,view 层和 model 层能间接交互吗。
  • 介绍 MVVM,和 MVP 的区别。
  • Activity 的生命周期,从 Activity A 启动 Activity B 生命周期的变动。
  • Handler,应用时有哪些须要留神的。
  • Handler 避免内存透露的办法。
  • WeakReference 的回收机会。
  • 几种单例模式,细说懒汉式。
  • volatile。
  • 理解哪些线程平安的汇合。
  • ConcurrentHashMap。
  • 什么是乐观锁。
  • 锁降级。
  • 消费者生产者模型。(操作系统还没学😅)
  • 外部类。
  • 匿名外部类和动态外部类。
  • 外部类为什么能够拜访内部的变量。
  • 外部类在字节码里的类名是不是本人定义的那个类名。
  • 扰动函数。
  • equals 办法和 hashcode 办法的作用与分割。
  • 我的项目中的滑动抵触如何解决的。
  • 滑动抵触有哪些解决办法,内部拦挡须要重写哪个办法。(这里答得不好,扯到外部拦截法下来了😄)
  • 算法题:高位对齐版的两数相加。
  • 反诘。
    问题有点多,临时只记得这些了

二面(33min)

  • 介绍下我的项目。
  • SP 类是怎么封装的。(这里我说了下本人是怎么对 SP 工具类优化的,还被怼了,我是 fw 呜呜呜)
  • SP 是线程平安的吗,过程平安呢?
  • SP 线程平安实现原理,如果让你本人实现过程平安,你会怎么做?
  • 我的项目中滑动抵触的解决办法和原理,我说看过事件散发机制的源码,而后面试官就说那你必定看过 recyclerview 的源码吧 (这里我???)就把 recyclerview 的缓存机制说了一下。
  • recyclerview 的长处。
  • 能实习多久。
  • 算法题:螺旋矩阵 II。
  • 反诘。

三面(50min)

  • 自我介绍
  • 事件散发机制具体用过吗。
  • 给了一个场景题,一个 listview 里每个 item 有一个 button,如果始终按住这个 button,屏幕会怎么滑动,事件会怎么散发。(这里问的很具体,面试官疏导着答了很多方面)
  • 同样是这个 listview,如果有两个 button 地位重叠,会分发给哪一个,如果是你你会怎么设计。
  • View 绘制流程,在调用 onResume 办法时屏幕可不可见。(这里我答复判断 ViewRootImpl 是否初始化)
  • 除了判断 ViewRootImpl 是否被初始化以外还能够怎么判断。
  • 算法题:打印一个 xml 布局。
  • 理解过哪些汇合。(这里我答复 ArrayList,HashMap)
  • ArrayList 和 LinkedList 外部实现,区别,应用场景。
  • 怎么去遍历一个汇合,这里面试官想让我答复 Iterator。
  • 问我的项目。
  • 反诘。
    来个 hr 面求求了🙃(内心独白)

最初收到 offer。

为应答字节面试,我做了哪些筹备?

(一)调整本人的心态,正确面对得失
面试中常见的问题,次要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中本人思路不清晰,语言不晦涩,谈话毫无逻辑,会一直否定本人,归根结底都是面试心态问题,所以调整本人的心态,正确面对得失是十分重要的,我的办法是给本人足够的心理暗示。
(二)晋升技术,扩宽常识
对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么惟一的方法就是通过学习,来一直晋升本人的技术,扩宽常识,达到肯定的高度和深度。

面试题及答案解析

内容涵盖:Java 根底,Android 根底,UI 控件篇,网络通信篇,架构设计篇,性能优化篇,源码流程篇,新技术篇,大厂面经等等 … 品质十分高!!!不要再看那些到处拼凑进去的面试题了。不论大家最近要不要去面试,都举荐大家先保存起来,前面本人必定是可能用得上的!文末有获取形式!

第一章 Java 根底

  • 动态外部类和非动态外部类的比拟
  • 多态的了解与利用
  • java 办法的多态性了解
  • java 中接口和继承的区别
  • 线程池的益处,详解,单例(相对好记)
  • 线程池的长处及其原理
  • 线程池的长处(重点)
  • 为什么不举荐通过 Executors 间接创立线程池
  • 不怕难之 BlockingQueue 及其实现
  • 深刻了解 ReentrantLock 与 Condition
  • Java 多线程:线程间通信之 Lock
  • Synchronized 关键字原理
  • ReentrantLock 原理
  • HashMap 中的 Hash 抵触解决和扩容机制
  • JVM 常见面试题
  • JVM 内存构造

第二章 Android 根底

  • Activity 知识点(必问)
  • Fragment 知识点
  • Service 知识点
  • Intent 知识点

第三章 UI 控件篇

  • 屏幕适配
  • 次要控件优化
  • 事件散发与嵌套滚动

第四章 网络通信篇

  • 网络协议

第五章 架构设计篇

  • MVP 架构设计
  • 组件化架构

第六章 性能优化篇

  • 启动优化
  • 内存优化
  • 绘制优化
  • 安装包优化

第七章 源码流程篇

  • 开源库源码剖析
  • Glide 源码剖析
  • Android 面试题:Glide
  • day 20 面试题:Glide 面试题
  • 聊一聊对于 Glide 在面试中的那些事
  • 面试官:简历上如果写 Glide,请留神以下几点…
  • Glide OOM 问题解决办法汇总
  • OkHttp 源码剖析
  • Okhttp 连接池复用机制
  • Okhttp 流程和优化的实现
  • 一篇让你受用的 okhttp 剖析
  • OkHttp 面试之–OkHttp 的整个异步申请流
  • OkHttp 面试之–HttpEngine 中的 sendRequest 办法详解
  • OkHttp 解析大总结
  • Okhttp 工作队列工作原理
  • Android 高频面试专题 – 架构篇(二)okhttp 面试必知必会
  • Android 网络优化,应用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成
  • Retrofit 源码剖析
  • RxJava 源码剖析
  • RxJava 原理与源码剖析

第八章 新技术篇

  • 实战问题篇

第九章 面试篇

  • 开源文档
  • 面试题合集

因为篇幅无限,这里只展现了面试题和局部内容截图,有须要完整版(面试题 + 答案解析)的敌人能够点击这里收费支付!

正文完
 0