avatar-decorate
躺平了的大白菜很勤劳 level
获赞
111
粉丝
31
关注
7
看过 TA
1477
University of California San Diego
2025
Java
IP属地:北京
暂未填写个人简介
私信
关注
0 点赞 评论 收藏
分享
时间线:3.29 一面,面完半小时约二面4.7   二面4.8   oc感谢团团结束了我没offer的状态,虽然可能还想等等别的二面首先拷打了一些项目的内容,然后是根据项目引申的八股,这里可能记不全了:1. 讲讲Java垃圾回收;2. 垃圾回收算法;3. 怎么进行分代回收;4. 讲讲JVM内存结构;5. 堆内部的结构是怎么的;6. 讲讲你常用的设计模式;7. 写一段策略模式的代码;8. 写一道算法题吧:合并K个升序链表,做的时候我把类名改了导致一直报错……尬9. 根据这道题,你用的是优先队列,那优先队列是基于什么数据结构实现的;10. 堆是怎么实现的?怎么增删改查?11. 数据库用过没?MySQL 中主键自增整数和随机整数在性能上有什么区别?如果自增和随机 id 都是程序给的,MySQL 都需要进行查找,那在写入时会有什么性能区别呢?(答得不好)12. 问了一个退阶问题:MySQL 为什么要选择 b+树作为底层结构?13. Java 中高并发情况下,什么情况会出现线程不安全,怎么解决?14. ReentrantLock怎么实现的?15. 你是怎么学习一个新领域的知识的?16. 有什么别人已经做的足够好,但你还是做了和他一样的事情,并且最后比他做的更好的事?17. 有没有什么你一直坚持的事情?反问,反问结束面试官又问了现在有没有offer面到现在像什么垃圾回收、线程安全已经能持续性吟唱了……,虽然感觉还是没太背完
0 点赞 评论 收藏
分享
头像
2024-03-29 17:52
已编辑
University of California San Diego Java
  这是我目前找实习最难的一场面试首先自我介绍因为我之前有一个JVM相关的项目:1. 讲一讲你之前是如何实现简单的JVM的2. 讲一讲synchronized关键字3. synchronized的底层原理是怎么实现的?4. monitorenter和monitorexit是怎么起作用的?5. 你之前提到了锁的升级,那么锁是怎么知道自己被哪个线程持有的?锁升级是怎么实现的?(类似这个问题,具体记不太清)6. 资源被其他线程持有的时候,JVM是如何阻塞其他线程的?7. 能具体说说底层操作系统如何支持的吗?8. 讲讲ReentrantLock,lock的时候发生了什么事情?可重入锁是怎么实现的?9. (这个时候可能我答得不太好,换了一个提问方式)如果一个资源被线程1加上可重入锁,另一个线程2竞争的时候会发生什么事情?10. AQS具体是怎么回事?为什么要有这个AQS?11. AQS中的state起到了什么作用?12. AQS的队列是做什么的?队列为什么要用双向链表?13. JVM的双亲委派机制是怎么回事?14. 双亲委派是怎么实现的?双亲委派的目的是什么?15. 如何自定义类加载器?16. 如果我自定义了一个String类,我不想用Java原生String,想在启动的时候直接加载自定义String类,该如何操作?17. 因为我有程序合成和AI+HCI的背景,所以问了问我对AI辅助编程有什么看法18. 还问了一些Java的八股问题,比较常见,不记得了最后考了算法题是最长连续子序列,一开始稍微出了一点问题……后来用了一个visited让我耐心等待结果,估计……不好说了
面向八股学习:现在的校招=以前的社招 现在的社招=以后的校招 唉,Java
0 点赞 评论 收藏
分享
头像
2024-03-29 17:51
已编辑
University of California San Diego Java
首先自我介绍,然后讲一讲实习的项目,然后根据实习项目的内容拷打八股1. 可以具体讲讲你是如何做压力测试的吗?2. 在你模拟高并发请求的时候,你是怎么样在短时间内产生大量的请求的?3. 多进程和多线程可以模拟,那么在只有一个进程的情况下如何模拟?4. 线程开启的数量是否是有上限的?由什么来决定?5. 在Java语言中,假设我要在一秒内发起一万次请求,除了多线程,还可以有什么方法?6. 如果要提高一个请求的反应速度,有哪些方法?7. 你刚刚提到了缓存可以提高响应速度,有哪些你知道的缓存系统?8. 分布式情况下,缓存解决方案有哪些呢?9. 分布式系统中的一致性问题有哪些方法解决?10. 除了你用过的mongoDB还有哪些NoSQL数据库?11. 能不能讲一讲数据库视图?(早忘了)12. 如何处理慢SQL?13. 讲一讲Java的内存结构模型14. Java垃圾回收的过程15. 有哪些常见的垃圾回收器?16. JVM 堆外区域内存一般用来存什么数据呢17. 你刚刚提到了IO缓冲区,可以讲讲IO缓冲区是用来做什么的吗?(然后继续让我讲了讲NIO)18. 讲讲final关键字19. String,StringBuilder,StringBuffer的区别?20. Java注解的作用以及实现原理?21. 你知道Java线程的生命周期吗?22. 讲讲volatile关键字23. volatile可以用来替代锁吗?24. 讲讲乐观锁和悲观锁的区别?乐观锁怎么实现?25. Spring有哪些优势?26. Bean的Scope有哪些?(这个不会了)27. 有哪些你熟悉的AI框架吗?最后是一道lc easy的算法题,字符串数组所有元素的公共最长前缀,没仔细看题就开始做搞到字典树去了……,实际上一次遍历就可以搞定。这么多场面下来,我感觉一个套路就是先提出一个trivial的解决方案,如果面试官说不太行再向深入做3月27日更新:约了28日的二面
0 点赞 评论 收藏
分享
上来算法题:二叉树转双向链表然后让我介绍了一下之前的实习,根据之前实习的内容拷打八股。 1. 你用MongoDB做了什么,为什么用MongoDB,MongoDB有什么优点? 2. 是因为MongoDB对点边数据结构有什么优化吗? 3. 那MongoDB和MySQL的索引有什么差异? 4. 那MySQL有没有字段索引? 5. 你刚提到了主键索引,那主键索引和字段索引有什么区别? 6. HTTP/2和 HTTP/1.1有什么区别? 7. 具体讲讲多路复用 8. 多路复用具体解决了HTTP1.1中的什么问题? 9. 多路复用是在TCP协议中的优化吗?10. IO中也有多路复用,讲一下Linux中的多路复用IO?(应该讲select、poll和epoll,但这里我还没背,这里我讲的java的NIO)11. NIO解决了什么问题?12. 能解释一下异步IO吗?13. Go语言有什么特点?(我只是说我最近开始在学Go,但没背过Go的八股)14. 为什么Go对高并发友好?你知不知道协程?15. 那聊点别的,操作系统如何管理内存?16. 内存程序之间是怎么做到隔离的?17. 不同程序之间的虚拟地址是互相独立的吗?18. 在一个很大的数组找到前K个大的数,怎么做比较好?19. 讲一下session20. 那么服务器怎么知道是谁发送的cookie呢?cookie和用户如何对应?反问环节,问问业务和流程就结束了
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务