少年帮|渣硕试水字节跳动,本以为简历都过不了,123+HR面直接拿到意向书( 二 )

  • 那就换个题目吧 , 看看下面这个题目 , 找数组出现次数最多的TOP N , 回头听室友说 , 好像又是leetcode原题 , 泪目 , 算法能力太弱 , 没怎么刷题 。
# 给定一个数组 , 例如 [1,1,2,2,2,3,3,3,3]这样的 , 里面的数组不一定连续并且有序 , 假设我输入 2 , 这个2表示出现次数最高的两个# 那么你需要给我返回 2,3然后我最开始的思路就是 , 通过hash存储出现的次数 , 然后key就是数组中出现的值 。 最后再对hash中的次数进行排序 , 最后得到top N , 因为时间复杂度是O(N^2) , 问有没有优化思路 , 能否优化到O(N) , 想了半天没有想出来 , 没有充分运用以及构建好的hash表
后面面试官给讲了一下思路 。 从数组长度向下遍历进行查找
  • 反问环节 , 问了问面试的表现 , 被告知算法能力比较薄弱 , 以为就此凉凉 。。。 然后一面说这边可以让你进入下一环节 , 这边大概需要等5到10分钟左右
第二面二面考察的是技术深度面试 , 面试时间大约50分钟左右
  • 自我介绍
  • 博客已经开源了么 , 用的什么开源协议 , 博客的用户多么?
  • 看你博客中用到了Solr和ElasticSearch , 谈谈它们的原理 , 以及倒排索引?
  • 对于Solr或者ES里面用到的一些中文分词器有了解过么?
  • 谈谈那些技术栈 , 你比较熟悉的是那些 , mysql 和redis?
  • 聊聊MySQL的底层索引结构 , InnoDB里面的B+Tree?
  • B Tree 和 B+ Tree的区别
  • 聊聊MySQL索引的发展过程?是一来就是B+Tree的么?从 没有索引、hash、二叉排序树、AVL树、B树、B+树 聊 。
  • 谈谈MySQL里面的事务 , 说说什么是事务?
  • MySQL里面有那些事务级别 , 并且不同的事务级别会出现什么问题?
  • 谈谈可重复读和幻读的区别?
  • MySQL中如果使用like进行模糊匹配的时候 , 是否会使用索引?一定不会用么?(索引这块了解的太少了 , 二面结束后 , 回去恶补了一下)
  • 谈谈Redis吧 , 在你项目中的具体使用?
  • 谈谈Redis如何实现分布式锁?
  • 蘑菇博客是否存在缓存不一致的情况 , 你是如何解决的?
  • 谈谈Redis中缓存穿透的问题 , 以及解决的方法?
  • 还有其它解决缓存穿透的方法么?布隆过滤器有了解过么?
  • Redis中大面积的缓存失效 , 然后请求全部打到数据库 , 有什么解决方法?
  • 如果出现一些热点数据 , 比如明星之间的新闻 , 造成大量的吃瓜用户涌入后台 , 但是服务器还没有缓存对应的数据 , 这样可能造成数据库宕机 , 如何避免这样的情况?
  • 聊聊 JVM的组成结构?
  • 谈谈垃圾收集原理?以及垃圾收集算法
  • 复制算法 和 标记整理算法?
  • 为什么不在新生代使用标记整理算法?或者在老年代使用复制算法?
  • 有了解过Volatile么?谈谈你对Volatile的理解
  • Volatile如何保证可见性的?以及如何实现可见性的机制 。
  • 如果大量的使用Volatile存在什么问题?
  • 谈谈操作系统的线程 , 以及它的状态
  • 线程和进程的区别?
  • 为什么要提出多线程应用 , 而不是多进程应用呢?
  • Linux你平时都有用到什么命令呢?
  • 如果我需要查看端口号或者进程号 , 你会使用什么命令?
  • 谈谈你做的另外一个项目吧?稍微介绍一下
  • 来吧 , 写个题目试试
# 链表的两两翻转 # 给定链表:1->2->3->4->5->6->7 # 返回结果:2->1->4->3->6->5->7
  • 毕业时间是什么时候?现在面试的是实习岗位么?
  • 反问环节:追问面试表现?告知 Redis这块掌握的还可以 , 但是MySQL这块显得不足 。 问后续的安排 。
第三面应该是Leader面 , 面试时间大概50分钟


推荐阅读