字节跳动南京——后端基础架构 面经
一面
聊天,会什么技术、语言。我们这部门主要用GO语言开发,愿意学吗。
问问题:
- Java线程池参数?
- Java concurrent包用过吗?
- concurrentHashMap结构原理
- concurrentHashMap如何求size
- JVM内存模型
- 本地方法栈是指什么:虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则为使用到的本地操作系统(Native)方法服务
- JVM垃圾回收算法
- survivor0 survivor1有区别吗
- 为什么新生代用复制方法不用标记删除?(对象生命周期短,回收数量多,效率会变低)
算法题:LRU(最近最少用)模型实现:
感觉是很有意义的一个题目,先问你想用什么数据结构,引导你帮助想好实现思路,然后自己实现出来。下面是自己当场写的代码,花了很久,思路就是用双向链表实现LRU插入更新问题,用HashMap实现查询缓存对象功能。时间有点仓促,代码风格有点不好hhh
import java.util.Scanner;
import java.util.HashMap;
public class Main {
private HashMap<String, char> cache = new HashMap<~>();
private LinkNode head = null;
private LinkNode tail = null;
private static final