小公司面试
公司一:
秒杀系统是你自己做的吗?
秒杀系统你是秒杀什么商品的?
秒杀数据量大的话,你是怎么做处理的?
Redis的话,你是怎么做拦截的?
Redis中如何做超卖的处理?
RabbitMQ你是如何处理的?
Redis的为什么要做缓存穿透?
在Linux上你是怎么做的?
在一个文件中查某个字符串?
SpringBoot是自学的吗?
讲一下Spring IoC?
公司二:
自我介绍?
询问现在的课程。面试官希望你全职去实习。
在学校你做过什么项目吗?
SpringBoot有没有用过?
秒杀的话,你是怎么实现的?
Redis和RabbitMQ 有没有做分布式部署?
一台服务器你跑那么多程序,跑得起来吗?
分布式了解过吗
微服务呢
说一下你的理解
Linux用的什么系统
怎么从远程拉取镜像到本地
Git本地仓库和远程仓库的区别,怎么创建分支、怎么合并
Maven将项目发布到***怎么做
Maven的坐标包括几个部分。公司的名称、项目的名称、版本号
Docker有没有玩过
公司三:
能介绍一下秒杀系统吗
为什么要用Redis,RabbitMQ,不用可以吗
Redis、RabbitMQ分别解决什么问题?
秒杀商品的数量你是怎么控制的?超卖怎么控制。
整个系统的架构?
为什么会选择轮询?
轮询的原理?
JVM内存模型和垃圾回收挑一块说一下。
新写的一个项目,怎么评估堆的大小。jvm的参数怎么确定。
如果给8G的服务器给你,堆你给多少空间。
为什么先给4G。举个例子为什么要分一些空间给其他线程。
新生代分多少,老年代分多少。
现在服务器只跑你这个项目,你会分多少空间。
你为什么要留内存给操作系统,操作系统什么机制需要用到内存。
数据结构算法你熟悉哪里?排序?写个快排
设计模型有了解过。
除了单例模式还有其他设计模式吗?
工厂模式说一下
工厂有好几种,你对哪种比较熟悉。
Spring源码有了解过吗?Bean管理
写一个单例
说一下饿汉式和懒汉式的区别,应用场景
说一下HashMap
HashMap 转成红黑树,8这个数字是怎么来的
校内组织你参加过哪些?
讲一下印象比较深的事,如何推进这件事
秒杀系统最大是超卖、并发的问题
公司四:
学校有参加社团活动吗
对笔试算法题进行扩展
递归优缺点
为什么递归写的不好时间复杂度高
栈空间
递归什么时候入栈
除了Java,其他语言有了解吗?
Java垃圾回收机制说一下
为什么要分代
full GC有没有了解过 【https://www.zhihu.com/question/41922036/answer/93079526】
写程序如何避免full GC
HashMap底层
往HashMap插入数据,时间复杂度是多少
遇到哈希冲突的时候,除了数组+链表,还有什么处理方式【https://www.jianshu.com/p/4d3cb99d7580】
怎么尽量避免哈希冲突,自己说了充分利用对象的属性+良好的哈希算法,但是面试官还继续追问,自己好像也没有找到答案,扩容??
一百万的单词,怎么找到出现次数最多的100个
这种做法的时间复杂度是多少
Linux上开发,还是在Linux上跑,系统是什么发行版、
用什么IDE,怎么调试
有没有写过单元测试
单元测试怎么测试私有函数?自己说了通过共有函数去测,网上说还可以通过反射,甚至可以不测试
有没有使用过单元测试mock
linux怎么看系统的平均负载,数值多少比较合理
面试官使用电脑打出top命令,让我分析
Linux进程状态有几种
一个文件读一个文件处于什么状态,为什么
有没有写过多进程多线程
你秒杀系统都不用多线程?我说了springboot已经帮我做好了
线程同步的方式?synchronized, ReentrantantLock,CAS, sleep(), wati(), notify(), notifyAll()等。这里注意下,老是回答称线程通信方式。
管道和共享内存的区别
读写锁有没有了解,用来做什么
让你来实现读写锁你怎么实现?我回答了用readmutex,writemutex。更好的实现方式应该看一下ReentrantantLock源码
你用MySQL存储什么数据
MySQL索引底层是如何实现的
B+树的特点
B+树和B树的区别
TCP三次握手
设计一个微博系统,有一个关注的功能(我关注谁、谁关注我);有发微博的功能;发了微博之后,显示时间线排序,你怎么实现(自己都往Redis引, redis的key和string类型value限制均为512MB。)
发了一条微博,后台怎么做
用户怎么知道谁发了微博,他怎么刷新出来。自己打了轮询
时间线你是怎么弄的
面试官看了自己的GitHub。挺尴尬的,自己简历写参与一个热门的开源项目,可是自己贡献的很小
你看过其他的开源项目吗?看了一点Linux源码
一些比较新的技术,docker,机器学习有没有了解过
有***吗?平时搜索用百度?
你是哪里人?你找到实习了吗?可以马上实习吗?
接下来有个电话面试,没有录音,很多都忘记了。面试官是研发总监/CTO,腾讯出来创业的,强度真的不一样,很多答不出来。
你项目中MD5是怎么做的,两层MD5没用,还是不安全。
安全方面你要怎么设计。
Java内存模型,垃圾回收机制
你项目的QPS,瓶颈在哪里,如何将QPS翻倍。
我说了在Redis层面进行优化,面试官继续问我Redis的单机QPS可以达到多少,你现在项目的QPS单机Redis完全够了。
我继续说数据库,面试官怎么问忘记了,
然后继续继续问其他方面,然后说到语言是不是一个瓶颈,go
问了go了解多少。我就说了一下go的协程,单线程
面试官问了go如何处理共享变量之类,用不用加锁之类的
然后很多不是很记得了。。。
#面试##Java工程师##实习##面经#