时长:45min 之前投的Java,被安卓捞了。全程八股拷打,无手撕。 1.多线程锁 2.线程池拒绝策略,核心参数,如何保证按序执行 3.syn锁执行完成如何通知下一个任务 4.dns过程中的风险 5.反射 6.范式清洗(好像是这个 7.niobio 8.序列化反序列化 9.hashmap 10.arraylist 11.gc四大引用,回收算法等等 问的挺细的,简单的内容能大致回答上来,继续深入提
投的软开,但是岗位是安卓。 常规八股,从面向对象语言问到反射,再问了并发。然后问jvm,我直接表明jvm忘了,就记得垃圾回收是怎么回事,这句话给面试官逗笑了。 算法题: 1.生产者消费者。飞书的编译器必须所有线程结束运行才会返回所有输出结果,所以一开始我写的生产者和消费者是死循环的,就一直显示超时,后来我就和面试官商量说改成生产五次 2.1024这个数转为36进制。这个题我写到一半面试官没懂我在写
1.自我介绍 2.项目用了什么框架?遇到了什么难题? 3.科研训练经历 4..数模比赛经历 5.你知道Java里面为什么把String类型设置为不可变的吗? 6.讲讲String,StringBuffer,StringBuilder区别。 7.讲讲线程池。 8.了解过多线程吗?讲讲理解。 9.本来你报的是Java,现在换成了Android开发,你对这个岗位有什么了解吗?你为什么愿意换岗? 10.未
9.25面试的 1集合有哪几种,说一两个了解的 2JVM,虚拟机栈与堆 3线程与进程 4threadlocal 5双亲委派机制 6设计模式说几个 问的很少,好像还有一点,但是想不起来了 写代码: 1单例模式 2反转字符串单词 因为我不会安卓,所以感觉问的少,对我也不感兴趣,哈哈。 而且我字符串的算法题没回答上来,居然双亲委派机制都忘了没说,后来想想我真的确实太菜了,前期以为会问很多项目,有基础的东
一面 手撕算法:求一个字符串的全排列(C++好像有库函数可以直接调) 项目经历 你对安卓了解哪些 安卓布局 用过UI框架吗(没用过所以面试官没有继续问) 安卓持久化存储 安卓数据库 你了解数据库的相关框架吗 直接访问数据库和使用框架访问有什么区别,为什么 单例,手撕 反射是什么,你怎么理解 反射为什么掉性能 选一个印象最深的项目介绍一下 项目中难点,遇到的问题,解决方案 项目中收获的经验 二面 手
-----------更新----------- 收到感谢信了.... 9.1 一面 50min integer和int互相转换底层原理;什么时候用抽象类什么时候用接口; synchronized和reetrantlock一般什么时候用,使用场景;handler在子线程创建,looper从哪里来的? 线程A,跳到线程B,怎样执行完线程B再跳回线程A,除了join还有什么方法; 列举常用的锁;内存泄
2022.09.16 38min 自我介绍 设计模式 设计模式七大原则 面向对象三大特性 volitale和synchronized volitale是怎么实现的 HashMap 为什么使用红黑树 死锁 重载与重写 进程和线程 算法:合并两个有序链表 算法:一个二维数组,行和列都是有序的。查找一个数是否在数组中 反问 可是我面试的是Android岗呀,一点Android相关的都没有问 不过倒也都答
一面 自我介绍 然后开始聊项目,GLSufaceView,OpengGL,Shader相关一些知识,在项目中做的优化 gc是根据什么来回收一个对象的,引用计数和gc root分别怎么实现。 怎样会产生内存泄露,举一个具体的例子,使用什么检查内存泄露 自定义View的绘制流程 给出二叉树和一个值,找出所有和为这个值的路径;{1,3}{3,6}{3,4}{6,8}区间去重,最少去掉几个集 合,可以让这
八股太多,只记得这么多 1. StringBuffer 和 StringBuilder 的区别 2. HashMap 相关 3. synchronized 和 lock 的区别 4. reentrantLock 底层原理 5. volatile 的作用 6. Java 内存模型 7. new 一个 String 对象的过程 8. 三次握手,两次行不行 9. 四次挥手,为什么要四次 10. 逻辑地址
一面 自我介绍,因为提到了大学课程的安卓学的很浅,基本上靠自学,问了一下怎么学习的 计算机网络 tcp和udp的区别 怎么理解有连接和无连接 http和tcp的区别 get和post有什么区别 怎么选择get和post 开发使用的是java还是kotlin,回答主要使用java,有学过Kotlin一年,然后开始问java基础 怎么理解面向对象 我背书贼拉跨,说了一下自己的理解 有没有了解除了面向
前言 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。 文末会给大家分享下我整理的Android面试专题及答案(这些题我基本都刷了三遍以上,毕竟突然被裁心里是有点迷),其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过对大家找工作肯定是有帮助! 本月飞机到达上海,到今天第6天了,四家大公司华为,小米,映客,抖音,还有二家中小型公
9.5 一面 25min 自我介绍 写代码带来的快乐 设计模式 单例模式的好处 线程安全 形成死锁的条件,破解死锁的方法 gc是什么 垃圾标记方法(拓展了很多) 强引用,弱引用 对操作系统的了解 9.9 二面 40min 自我介绍 多线程 线程池 并行与并发 死锁 arraylist与linkedlist hashmap hashtable与concurrenthashmap 手撕快速排序 手撕单
小米 String 为什么要设计成不可变的? fragment 各种情况下的生命周期 Activity 上有 Dialog 的时候按 home 键时的生命周期 横竖屏切换的时候,Activity 各种情况下的生命周期 Application 和 Activity 的 context 对象的区别 序列化的作用,以及 Android 两种序列化的区别。 List 和 Map 的实现方式以及存储方式。
我是国庆上来进行的二面,走的是校招渠道,好像就招几个人,竞争可以说是比较大的了,由于人比较多,留给一个人的时间基本就是半个多小时这种。以下是一面和二面遇到的一些题,供大家参考(回忆版): Java四种引用 JVM垃圾回收机制 get和post有什么区别 Java面向对象 抽象类和接口的区别 Final关键字修饰变量 sleep和wait的区别 Activity的四种启动模式 Synchronize
秋招结束辽,把之前整理的面经发出来分享分享 小米感觉面得不错,收到恭喜函,可惜没等到开奖,今年每家都有池子啊 一面9.29 1、手撕:使用一个固定长度数组实现队列,包括添加和取数据的功能 2、时间复杂度、空间复杂度,如何优化 3、链表如何优化,可以降低查询的时间复杂度? 4、hashmap插入数据的流程? 5、如何计算hashmap数据插入的位置? 6、如何解决哈希冲突? 7、多线程如何解决线程冲