1. 自我介绍
    2. 文档安全检测系统对什么问题进行了改进?
    3. 给你10W个ip区间,每个区间对应一个地址,区间互不重合,再给你一个target ip,找到他对应的地点:注意二分查找的边界问题,注意left和right指针是不是有可能不在给定区间内部
    4. 给你一段代码,看他是否存在线程安全问题。考察点:(1)map的线程安全,悲观锁、乐观锁解决put安全,插入时检查解决扩容问题(ConcurrentHashMap),面试官强调悲观锁的代价不可接受,所以我提出了乐观锁、悲观锁+自旋等待的方案;(2)单线程的print函数里有一个map.clear(),可能会删除掉其他线程put的结果。首先强调加锁是不可行的,因为无法判断其他线程加锁和print线程调用clear()的先后关系,所以考虑采用标识法,每一个节点都保存一份所有者信息,print线程copy一份map到自己的线程空间,在自己的空间进行clear()操作后刷回主存,在主存与map进行合并,但只能操作副本map中所有者对应的数据。后面经过提示,想到了copyonwrite这个数据结构,无奈了解的不多,只说了知道这个东西。