「字节跳动一面」
arraylist和linkedlist的区别
面向对象的三个特性,重写和重载各是什么意思
建索引的语法
mysql的4种连接
mysql索引有哪几类,有什么优缺点
手写sql,现在有个用户活跃表t,这个表的作用是用来计算用户留存率的。里面有两个字段uid(用户id)和date(用户活跃日期)。假设1月1日有10000个活跃用户,1月2日的活跃用户里面有8000个是1月1日活跃的用户,则1月2日用户的留存率为1月1日的80%。现在让你手写一个sql,计算某天相对于它之前某天的用户留存率。
算法题:二叉树的层次遍历
数学题:1-9中选4个数的和为10,数可以重复,有多少种组合
『字节调动二面』
jvm的gc,知道的都说一下
如果现在一个系统中经常需要full gc,你怎么排查原因,同时避免系统经常full gc
写三种线程安全的单例模式,懒汉式,静态内部类(这两种都能被反序列化),还有一种不能被反序列化的,怎么写
锁机制,知道什么锁,都说一下
悲观锁,乐观锁,有用过吗
builder模式和factory模式的区别是什么
实现一个字典树。如果同时要求线程安全,加什么锁(读写锁),怎么加锁
索引怎么确定有没有用到,sql中distant有什么影响
explain关键字出现的各个结果你怎么用
「字节跳动三面」
用两个栈实现队列,要求效率足够高,不能每次入栈都要来回出栈入栈两次。
算法1:现在有一个被翻转过的有序数组,比如【9,91,100,1,2,3,4】,让你从数组中查找目标数(比如4)是否存在。你的复杂度要尽可能低【LeetCode上面的原题,搜索旋转排序数组】
浏览器输入www.baidu.com后到页面显示期间,计算机网络的原理上发生了什么过程
进程和线程有什么区别,进程之间的通信方式,线程之间的通信方式