关注
面试官应该也是四川人。。跟我唠了会家常
然后专业问题,主要就是Java、MySQL、Linux
问:hashmap怎么解决哈希冲突,
答:1.8之前就是链表法,1.8之后是链表or红黑树
问:那就说老版本。假如产生大量哈希冲突怎么办(链表会很长,查询效率退化到O(n))
答:重写hashcode方法,减少冲突
问:如果不能重写呢,冲突已经产生了,怎么解决,不仅限于Java的hashmap
答:可以用开放地址法(说了线性探查、平方探查)
问:这样效率还是不是O(1)啊
我:...(后来想起来应该时想问我扩容)
问:知道什么容器
答:ArrayList LinkedList(被打断)
问:他们有什么区别
答:底层实现一个数组一个链表,前者查询效率高,增删效率差,后者反之
问:JVM分哪几部分知道吗
答:方法区、Java堆、虚拟机栈、本地方法栈(程序计数器没想起来)
问:还了解Java的什么
答:GC、并发控制(JUC)之类的,然后说了CMS、G1的区别,乐观锁悲观锁,但是面试官好像不怎么感兴趣。
问:刚才说到了锁,知道MySQL有哪些锁吗
答:先说了下事务的隔离级别,然后说了行锁、表锁(这里没答好,估计是想问7种锁),勉强答上来了行锁和间隙锁
问:Linux了解多少
答:只知道一些基本命令行的用法
编程题:给一个无序数组(size = N),输出前M(M<N)大和前M小的数的平均数
我先说了暴力法,即全数组排序,然后问我有没有什么更优化的方法,我就说这本质上是TOP-K问题,分别维护一个大小为M的小顶堆和大顶堆,去遍历一遍这个数组,便得到前M大和前M小的数,之后求平均就行了(用Python撸了半天,小顶堆撸出来了,大顶堆一直有BUG)。之后又问我空间复杂度和时间复杂度,空间是O(M),时间是O(NlogM)。
问:想想有没有更优的办法?
答:如果看成top-k问题,好像还有一种基于快排的方法
问:那好,说说快排,这道题如果用快排,时间和空间复杂度是多少
答:O(NlogN)和O(1)
反问1:面试一共有几轮
答:三轮技术面
反问2:成都这边是什么技术栈
答:Java和MySQL用的比较多
反问3:我有哪些不足
答:Java比较薄弱。。(哭了,问的很偏工程,我看的一些基础知识都没问)
查看原帖
1 评论
相关推荐
07-14 13:34
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招签约后的心态变化 #
81958次浏览 808人参与
# 你觉得早上几点上班合适? #
71820次浏览 299人参与
# 学历贬值真的很严重吗? #
23998次浏览 169人参与
# 26届的你们有几段实习? #
42294次浏览 475人参与
# 哪些公司真双非友好? #
15597次浏览 82人参与
# 打工人的工作餐日常 #
52688次浏览 412人参与
# 月薪多少能在一线城市生存 #
25753次浏览 290人参与
# 你以为的实习VS真实的实习 #
27780次浏览 259人参与
# 双非能在秋招上岸吗? #
221389次浏览 1171人参与
# 你后悔自己读研吗? #
19369次浏览 234人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
117649次浏览 812人参与
# 一人推荐一个值得去的通信/硬件公司 #
186255次浏览 1858人参与
# 追觅科技求职进展汇总 #
18058次浏览 120人参与
# 机械校招之路总结 #
93816次浏览 1894人参与
# 你认为哪些项目算烂大街? #
17257次浏览 269人参与
# 如何KTV领导 #
62623次浏览 472人参与
# 秋招拿一个offer可以躺平吗 #
146373次浏览 942人参与
# 你觉得技术面多长时间合理? #
99131次浏览 716人参与
# 你被哪些公司秒挂过? #
31292次浏览 240人参与
# 找工作时的取与舍 #
82941次浏览 591人参与