写点什么

android 游戏开发入门,精心整理

发布于: 刚刚

面试经验

自己大大小小投了也有 20 多家公司,不过经历简历筛选以及笔试淘汰,最终就经历了 7 家公司的面试。下面我就把自己面试中问到的问题贴出来供大家参考,一些具体项目相关的就不贴了。

阿里巴巴

阿里是 3 月初开始投的,是自己第一次面试大型的互联网公司,当时自己的准备也不够充分,表现不是很好,经历了三次技术面,最后挂了。


一面


  1. 自我介绍

  2. hashmap 和 hashtable

  3. jdbc

  4. 三次握手

  5. http 状态码

  6. HTTPS 加密:对称,非对称,CA 证书

  7. handler

  8. 线程池的使用

  9. sychonized,volatile

  10. binder

  11. activity 绘制流程

  12. 事件响应流程

  13. activity 周期,启动模式


二面


  1. 自我介绍

  2. 对自己项目的介绍,架构图呈现

  3. 对 MVP 和 MVVM 的理解。

  4. 四大启动模式,以及场景对应

  5. Handler 的机制介绍,为什么不能在子线程初始化问题

  6. 设计模式中的单例介绍,使用场景(Okhttp 的 Seesion 存储等等),在线编写

  7. 快排算法

  8. OkHttp 的源码分析,及整体架构的流程图绘制

  9. 四大引用的问题和 MVP 框架相结合进行回答

  10. View 绘制流程问题,如何不使用 xml,来实现中间位置的定位

  11. 事件分发机制流程讲解,以及如何实现单击事件和长按事件的判定

  12. 关于为什么选用 mqtt 协议的问题,优势,原理


三面


  1. 自我介绍

  2. abstract 和 interface 区别

  3. int 和 Integer 区别

  4. 四种引用

  5. Java 里面 int、char、long 的字节数

  6. 线程的创建方式

  7. RxJava 的优缺点

  8. EventBus

  9. 从网络上加载一个 10M 的图片,要考虑哪些

  10. http 与 https

  11. http 1.0 和 http 2.0 之间的区别

  12. 设计模式准则

  13. Handler 机制

  14. 算法:判断一个链表是否回文算法,给定一个数组,将数组里面的每一位向后移动 k 位

携程

携程当时投的时候就没抱希望,招聘信息上明确指定只招固定的那几所 985 高校,就随便投了,没想到笔试都没做就直接打电话面试了,不过问的问题确实很深入,结果显然,一面就挂了。


一面


  1. 集合

  2. concurrenthashmap

  3. volatile

  4. synchronized 与 Lock

  5. Java 线程池

  6. wait/notify

  7. NIO

  8. 垃圾收集器

  9. Activity 生命周期

  10. AlertDialog,popupWindow,Activity 区别

斗鱼

斗鱼是一家直播公司,给出的实习待遇是相当好,经室友推荐就投了简历。最后流程走完,得知挂在了二面上,大概原因就是没有拿得出手的项目,实际项目经验不足。


一面


  1. 线程同步(五个线程如何顺序执行)

  2. GC

  3. 内部类特点

  4. 四大引用范式

  5. 新建线程的方式(三个)

  6. arraylist 和 linkedlist

  7. 线程池(使用,种类,参数)

  8. hashmap(底层实现,冲突解决方式,扩容方式,线程安全?LinkedHashmap)

  9. 自定义 VIew(View 的绘制,自定义 View 的方法)

  10. 性能优化(布局和代码)

  11. sp、dp 和 px 的区别(适配问题)

  12. handler(基本原理,ThreadLocal 原理和使用)

  13. 四大组件(问了生命周期和特点和基本使用)* 计网

  14. TCP 和 UDP

  15. HTTP 建立过程


二面


  1. 问的都是一些项目问题,比较宽泛,没问具体技术点

字节跳动

字节跳动是在三月底投的,当时找了一个月,都没拿到拿得出手的 offer,有点心烦意乱,就又海投了一波。3.24 接了字节跳动的面试,3.29 进行的视频面试。一共进行了 3 轮视频面试,字节的面试官很好,看得出来字节的技术是很强的,也很注重算法。最终拿到 offer。


一面


  1. 数据结构中堆的概念,堆排序

  2. 死锁的概念,怎么避免死锁

  3. ReentrantLock

  4. synchronized

  5. volatile

  6. HashMap

  7. singleTask 启动模式

  8. 用到的一些开源框架,介绍一个看过源码的,内部实现过程。

  9. 消息机制实现


二面


  1. synchronized 与 ReentrantLock

  2. ReentrantLock 的内部实现

  3. 用到的一些开源框架,介绍一个看过源码的,内部实现过程。

  4. Java 中异常

  5. App 启动崩溃异常捕捉

  6. 事件传递机制的介绍

  7. ListView 的优化

  8. 今日头条推荐新闻去重,推荐的时候去掉用户已经看过的新闻。

  9. 二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径。手写算法

  10. 模式 MVP,MVC 介绍

  11. 断点续传的实现


三面


  1. 集合的接口和具体实现类,介绍

  2. TreeMap 具体实现

  3. synchronized 与 ReentrantLock

  4. 手写生产者/消费者模式

  5. 逻辑地址与物理地址,为什么使用逻辑地址

  6. volatile

  7. 一个无序,不重复数组,输出 N 个元素,使得 N 个元素的和相加为 M,给出时间复杂度、空间复杂度。手写算法

  8. Android 进程分类

  9. 前台切换到后台,然后再回到前台,Activity 生命周期回调方法。弹出 Dialog,生命值周期回调方法。

  10. Activity 的启动模式

腾讯

腾讯大家都知道互联网巨头,我是通过实习僧上简历投递获得的这次面试机会,一共进行了两轮电话面试,挂在了二面。


一面


  1. 自我介绍

  2. APP 的启动流程

  3. APP 的安装流程

  4. Rxjava 的源码

  5. 事件分发机制和多点触控

  6. https 和非对称加密

  7. Retrofit 的动态代理

  8. 几种 IPC 方式的优劣,以及 Binder 的原理

  9. 本地持久化储存的方法

  10. parcelable 和 serializable


二面


  1. 自我介绍

  2. 笔试题 1:删除无序链表中的重复结点(能否优化)

  3. 笔试题 2:先说一下二叉树的有哪些遍历方法。写一个二叉树前序遍历的非递归形式。

  4. 讲一下 Java 的内存。

  5. 创建一个字符串对象,这个对象分配在哪里?

  6. String str = “123” + “456”;会创建几个对象。

  7. 问了操作系统的问题,没学过,所以也忘了问了什么。

  8. 数据存储有学过吗?数据库和文件保存有什么区别?

  9. Activity 有哪些启动模式?

  10. 有什么要问的?

最后

这里我希望可以帮助到大家提升进阶。


内容包含:Android 学习 PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android 开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。


喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~



**本文已被[CODING 开源项目:《Android 学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](


)



收录**


最后自我介绍一下,小编 13 年上海交大毕业,曾经在小公司待过,也去过华为、OPPO 等大厂,18 年进入阿里一直到现在。

深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

用户头像

还未添加个人签名 2021.10.19 加入

还未添加个人简介

评论

发布
暂无评论
android游戏开发入门,精心整理