当前因疫情原因,很多公司都选择了远程办公和远程面试。作为初次远程面试,内心还是非常忐忑的。
字节跳动面试(视频一面)
Java容器有哪些?哪些是同步容器,哪些是并发容器?
为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理?
一个线程的生命周期有哪几种状态?它们之间如何流转的?
什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁?
如何解决同时存在的对象创建和对象回收问题
说说一致性 Hash 原理
新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?
HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?
1.8还采用了红黑树,讲讲红黑树的特性,为什么大家一定要用红黑树而不是AVL、B树之类的?
https和http区别,有没有用过其他安全传输手段?
线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
RabbitMQ 允许发送的 message 最大可达多大?
有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
字节跳动面试(视频二面)
查询中哪些情况不会使用索引?
描述分布式事务之TCC服务设计?
数据库索引,底层是怎样实现的,为什么要用B树索引?
Mysql主从同步的实现原理?
MySQL是怎么用B+树?
谈谈数据库乐观锁与悲观锁?
Redis和memcache有什么区别?Redis为什么比memcache有优势?
Redis 的数据结构
海量数据过滤,黑名单过滤一个 url。
讲一讲AtomicInteger,为什么要用CAS而不是synchronized?
字节跳动三面(视频三面)
考虑redis的时候,有没有考虑容量?大概数据量会有多少?
Redis 的 list zset 的底层实现
分布式架构设计哪方面比较熟悉
分布式 session 的共享方案有哪些,有什么优劣势
谈谈分布式锁、以及分布式全局唯一ID的实现比较?
集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
排序算法的复杂度,快速排序非递归实现。
消息中间件有哪些?他们之间的优劣势?
介绍项目
介绍你实践的性能优化案例,以及你的优化思路
视频面试之后,我总结了下,问的都不算难,虽然不是很顺畅,但问题也都回答上了,就是通过视频的形式来面试,总感觉怪怪的。本以为已经没戏了,谁知道2天后收到通知,竟然过了!现在正在考虑要不要辞职过去...
当然,大厂的面试,是一个系统规范化的流程,除了Redis、MQ这些必备品外,每一个简历都会有一句Java基础扎实(有没有被说中),那么,到底怎么样算Java基础扎实?
1、集合,例如 List、Map的原理,HashMap基本必问这个不用我多说
2、并发,例如线程、线程池,锁相关,这些也基本必问
3、JVM,例如垃圾回收器,垃圾回收算法,OOM处理,jvm参数及调优
上面说的这些,是最最最基本的面试标配了。
首先来说下对于简历的准备。MQ、Redis这两个是标配没跑的了。为啥?你要突出你的核心竞争力,无非围绕高并发、高可用、海量数据这几个点出发。
其次,核心竞争力也体现在分布式解决方案的真实落地实践,但是这些分布式解决方案,也很大程度上依赖 Redis和 MQ。
比如分布式session需要依赖 Redis,分布式事务最终一致性需要依赖 MQ。也就是说,一份优秀的简历,深入 Redis和 MQ这两个,都是避无可避!
之前的面试题都有做总结,具体面试题内容整理成了文档,本文是针对面试系列的,所以下面只展示了自己第一次面试字节跳动问到的一些面试难题,其他专题内容(含答案)的文档资料,私信我【面试】即可领取。
通过数十家面试的观察,对于Redis和MQ,考察的方向,其实也是有迹可循的。首先他们的高可用是怎么保证的,原理是怎么样的,几乎必问(不信你可以自己观察)。当然还会根据你的回答往下继续拓展问题,每个人回答得不一样,自然拓展的问题也不一样。
Java核心知识点整理文档
由于篇幅限制,很多内容都只展示了目录和截图,这些都整理在文档里,需要这些文档资料的,均可以免费分享给大家,希望所有的程序员都能够学习起来,努力实现我们的大厂梦!
如果简历上只是做的项目不同,但是实质都是简单的CRUD,那么没面试之前,已经给淘汰得差不多了。
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以免费送给我的读者朋友们:
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
资料的领取方式:关注转发后私信我【面试】即可免费获取哦!
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了,各位读者朋友们快来找我免费获取吧!
大厂面试115道(上下集)
刷题:
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
以上学习资料均免费放送,最后祝愿各位顺利拿到心仪的offer!
有朋友靠这份大厂面试文档面试了阿里、字节跳动、最后拿到了字节跳动的offer!!!
资料的领取方式:关注转发后私信我【面试】即可免费获取哦!