Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂

简介: Android 开发网易面试凉凉经,面试官:基础不牢,彻底帮你搞懂


  • 自定义 View 中的自定义属性是如何调用的(好像问的是调用)
  • 对比 ListView 和 RecyclerView
  • 讲一下设计模式(然后问了两个我名字都没听过的设计模式,让对比一下)
  • 讲一下 MVC MVP MVVM
  • Flutter 中的难点、原生通信、异步、框架原理等等…

网易三面(110+ min)

  • 自我介绍 + 项目经历
  • 如何实现推送?(我说建立一个长连接)
  • 一条推送信息应该有哪些内容
  • 为什么这么设计,讲一下每个字段的含义?这么设计有什么问题?
  • 服务端如何确保客户端收到消息了?
  • 如果服务器发出去一个消息,客户端还没收到,断网了怎么办?
  • 如何处理重复消息?

(还有好多好多问题,考虑安全啊、性能啊、各种意外情况啊,反正就是要搞死你…)

聊了会儿 Flutter

一个印象较深的问题:Flutter 可不可以实现三维模型?(大概这么问的…)我说不行,因为 Flutter 的绘制引擎 skia 是2D绘制引擎。 他又问 如果有3D绘制引擎呢??还有 Flutter 与原生通信的问题…

撕代码:

一个二维平面上有 n 个气球,都是标准椭圆(也就是说可以通过两个坐标确定一个椭圆的位置及大小),椭圆的外切矩形与坐标轴平行,椭圆的分布是随机的,但是不存在两个椭圆交叉的情况(不存在外切矩形相交),问最少需要多少条平行于 y 轴的线,能够穿过所有的气球?

找出两个单向链表中的公共部分。

  • 平时怎么学习的?
  • 平时有看什么书?(我说最近有看 《Android进阶解密》)
  • 这本书的章节是怎么安排的?它有什么特点?
  • 如果要你写每一章的 topic 你会怎么写?

提问环节:

  • 应届生进入公司能接触到哪些业务?
  • 如何看待“程序员是吃年轻饭的”这一观点?

网易四面(总监面 25 min)

  • 自我介绍
  • 大学学过哪些课程?然后问了某些课程的分数
  • 一个无序数组建堆的时间复杂度是多少?
  • 死锁是什么?如何产生的(产生死锁的条件)?
  • TCP 中的滑动窗口
  • 看过《算法导论》这本书嘛?
  • 职业规划
  • 为什么选择杭州而不是北京
  • 为什么不读研?
  • 印象最深的项目

最后依然是提问环节

面试总结:

我的秋招应该也就到这儿了,说实话,我不想再折腾了,因为经过这么多笔试、面试,发现自己的技术真的还很差,基础不牢固,知识点掌握的不够深入,我习惯性在面试结束后让面试官点评一下自己的表现,听到最多的大概就是“对某某知识点理解的不够深入”“加强基础”。

如果最终没能保研,我将全身心投入,准备明年的春招,据说到时候压力更大、更难,能怎么办呢?加油吧!!!

面试基础很重要!


一般包括Android基础、Java基础、Android常用的开源框架、设计模式和网络基础等等。下面我来列举一下常见的考察点:

Java相关

Java基础

  • HashMap1.7和1.8的实现原理
  • final关键字,为什么匿名内部类使用局部引用要用final

Java多线程

  • 线程池的使用和原理
  • 锁机制:synchronizedLock
  • volatile关键字
  • ThreadLocal原理

JVM

  • Java内存结构
  • Java垃圾回收机制
  • Java类加载过程

Android相关

Android基础

  • Handler通信机制
  • 跨进程通信方式
  • Activity启动模式
  • 内存优化、布局优化
  • View的绘制流程
  • Android事件分发机制
  • 动画的分类及其原理
  • MVC、MVP和MVVM模式
  • SparseArray原理

Android开源框架

  • Android网络库:VolleyOkHttpRetrofit的使用、原理和对比
  • Android图片库:GlidePicasso的使用、原理和对比
  • EventBus的使用和原理
  • RxJava的使用和原理
  • Router的使用和原理

网络基础

  • HTTP相关:包括HTTP2.0、HTTPS等
  • TCP相关:三次握手、四次挥手等

设计模式

  • 单例模式
  • 代理模式:静态代理和动态代理
  • 观察者模式

这些基础知识一方面大家可以直接阅读源码,一方面可以去网上搜索相关文章去学习。

技术外这些准备要做好

首先是准备简历:

简历编写需要注意的几点:

1.标题的直接按照姓名-几年工作经验-应聘岗位格式来填写。

例如 小明——四年工作经验——Android开发高级工程师。因为要知道,HR筛选简历是非常快的,你要在第一时间就让他看到他想要看的信息。HR一开始最关心的就是工作年限和岗位,你直接在标题栏用最大的字体写出来会比很多人介绍了半天项目最后写年限要好得多。

2.个人信息写最前面。

个人信息栏其实不用写很多东西,最主要的就是姓名、联系方式、性别、如果学校是名校那么就写上,如果本科学的是计算机专业也可以在这里写上,如果都不是就最好放到最后去写,因为最前面的东西永远是最先看到的内容,也是你最有竞争力和卖弄的资本。

3.有技术博客和github开源项目的一定写在最前面。

这是活生生的例子。我在面试华为的时候面试官就特意去看了我的csdn上的博客。然后说写的还是不错的,给他留下了一个不错的印象,所以这点是绝对的加分项最好就是写在最前面。

分析考点


相关文章
|
12天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
174 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
22天前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
83 6
|
3月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
171 11
|
3月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
112 0
|
7月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1368 77
|
4月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
188 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
8月前
|
安全 Android开发 iOS开发
escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
escrcpy 是一款基于 Scrcpy 的开源项目,使用 Electron 构建,提供图形化界面来显示和控制 Android 设备。它支持 USB 和 Wi-Fi 连接,帧率可达 30-120fps,延迟低至 35-70ms,启动迅速且画质清晰。escrcpy 拥有丰富的功能,包括自动化任务、多设备管理、反向网络共享、批量操作等,无需注册账号或广告干扰。适用于游戏直播、办公协作和教育演示等多种场景,是一款轻量级、高性能的 Android 控制工具。
549 1
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
11月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
11月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!

热门文章

最新文章