因为我是安卓0基础只学过Java,所以问的语言是Java。
这次面试从6月2日开始一面,到6月10日hr面,经历了许多的曲折。正常情况下字节技术面有三轮,但是由于第三轮面试官问我为啥人在广州却投了北京的岗位,我才知道我投深圳的简历被捞到北京了。考虑到路途遥远且仍有一场考试,便请求转到深圳,因此也多加了深圳部门的两轮技术面。
从10号到现在17号,一周过去仍未收到offer,内心实属煎熬。等待之余,想到了要回馈一下在找实习的期间给予了我帮助的牛友们,于是便整理了一下面经以及面试的曲折经历以及心理历程。结果敲了一个多小时的字,不小心按到了鼠标的后退键,由于是在网页编辑,所有的文字消失无法找回,更是让我犹如雪上加霜o(╥﹏╥)o只期望offer邮件能早日到来,融化我犹如结了冰的幼小的心灵呜呜呜...
更新:第二天一早hr就加了vx通知我审批通过了,好耶!2021年6月18日11:56:24
字节安卓一面
Https流程
Https如何防止篡改(数字签名)
mysql事务、事务特性
mysql如何回滚
项目中用到的数据结果
JVM内存结构
强软弱虚引用
GG Roots对象
算法:逆转链表
字节安卓二面
overflow和out of memory的区别
动态代理,java如何实现
AOP
单例模式
算法:股票买卖一次最大利润、买卖多次最大利润
字节安卓三面
AOP
Object类中的方法(hashCode、equals、clone、wait)
equals和hashCode的关联
深拷贝、浅拷贝
堆和栈、栈内存如何管理
智力题:64匹马,8个赛道,最少多次求出TOP5
算法:二叉树Z形遍历
字节安卓四面
如何提高数据库检索速度、索引
索引为什么选B+(对比红黑树、哈希表、B树)
项目的权限管理如何实现
为什么要MD5要加盐
对称加密、非对称加密常用的算法
浏览器访问服务器的流程
TCP如何保证可靠性
三次握手、四次挥手、为什么四次
HTTP报文的结构
ping(完全不会)
接口和抽象类的区别
finally不执行的情况
ThreadLocal
单例的缺点
LRU、LFU原理
LinkedHashMap的底层
- 1.如何实现它的线程安全:简单粗暴加锁、synchronized方法
- 2.优化:无锁同步——乐观锁
- 3.再优化:分段加锁
进程间通信的方式
套接字
场景题:一个类有三个方法,三个线程分别访问该类的对象的三个方法中各一个,如何按顺序执行?只对类进行操作,不对线程进行操作。(方法之间设置标志位,first执行完之后再改变标志位,让second跳出循环执行)
class Foo{ boolean flag = flase; public void first(){ sout(xxx); flag = true; } public void secnod(){ while(flag == flase){ } sout(xxx); } }
- 算法:二叉树层次遍历
字节安卓五面
算法:一个二维数组,左到右、上到下递增,找到目标值的位置。
场景题:如何实现在浏览器中编辑运行Java
浏览器传输文体text --> 服务器转成java源代码 xxx.java --> 编译运行 返回res{ state,//返回数据的类型 content //返回数据的具体内容 } 以下是我自己的回答,不保证正确性 *用什么get还是post传?post,参数长度无限制 *运行超时怎么办?服务器中设置一个计数器进程,为Java进程计数
线程和进程的区别、优缺点对比
为什么说线程不便于资源的管理和保护,而进程相反
智力题:A、B两人轮流扔一个硬币,先扔到正面的为赢,A先扔,问A赢得概率为多少?
全部评论
(6) 回帖