一面:7.27 一个小时
感觉面试官是看着简历写到啥问啥
先问了一下项目,然后一点点基础知识
- Linux命令知道哪些?
- Spring框架说说看?(IOC和AOP)也没继续追问
- hashmap和hashtble的区别
算法题:LRU缓存机制
二面(被爆锤):7.30 一个半小时
基本上是聊到啥就深入下去挖
- 问我主要学什么语言,我说Java
那你说说你脑子中的Java知识体系是怎么样的吧? - 你刚刚说到集合,集合最上层是什么,下面呢,分别有什么?
queue你用什么? (Queue q = new LinkedList<>();) - Java里面有哪些数据结构,答:String,链表,栈,队列,数组
你说说Java字符串有什么特性? 答:不可变
为什么不可变? 答:final关键字修饰的字符数组
但是字符数组里的元素可以改变的,那为什么字符串在Java里是不可变的?
(后来自己去查说是String里的value和下标都是private的,但是没有提供set方法,所以无法修改) o(╥﹏╥)o - String str = "hello" 和 String str = new String("hello")有什么区别?
我答了在堆栈方法区的存储不同
问:堆,栈,方法区分别存的什么
问: 那java虚拟机的这种存储方式对我们平时写代码有什么启发???
好难回答啊~ - 看你刚刚Java体系没有说到多线程,是对那方面不了解吗?
答:知道的,刚没说
那你说说这方面你都知道什么?
答了进程和线程的关系,线程池,Java里实现线程安全的容器ConCurrentHashMap
问:详细介绍ConCurrentHashMap,之前和现在是怎么样的?
答:以前是lock实现同步,后来改成sychonized实现 - 你的项目里提到加锁缓存击穿,详细讲讲怎么做的?
后面就缓存击穿的解决方法讨论了好久,感觉没回答到面试官满意的点,后来发现我俩对于缓存击穿和缓存穿透的理解不一样o(╥﹏╥)o - 问了一个现实中的场景题:假如你在数据库插入了一条数据,如何保证数据库和缓存的数据一致性?
答的不好,大家可以自行百度一下,感觉是因为实战经验不足很多答不上来 - sql优化 where后面有什么可以优化的
答了一个点,然后还有呢?还有呢? - 编程题,找两个字符串的最长公共子串
总结:面试官水平很高,很多问题都是就着你的回答即兴发问o(╥﹏╥)o比较多实际开发中会遇到的问题
三面主管面:8月4日 半小时
1、 为什么选择华为
2、 为什么选择开发,开发很辛苦的balabala
3、 实习的同事怎么评价你
4、 还跟我聊了下5G,问我怎么看待5G
其他问题不记得了,就是聊聊天
希望可以帮到牛友们,祝自己早日拿到满意的offer!
全部评论
(6) 回帖