人人网日常实习一面及二面面经-Java后端开发(已OC)

进度更新

  1. 2022.05.09一面;
  2. 2022.05.10一面通过;
  3. 2022.05.12二面,当天二面通过并OC。

一面

面试背景

远程面试,时间:2022.05.09,约55min。

面试流程

提问环节(约50min)

  1. 候选人自我介绍和面试官询问过往经历。(约8min)
  2. 手撕代码。(约15min)
    1. 问题:给定两个有序数组(假设为升序),写一个函数寻找两个数组中的重复元素并测试。(解题思路:双指针。)
    2. 扩展1:两个数组中可能存在多个同样的重复元素(如:[1, 3, 3, 5]和[2, 3, 3, 7]),改进函数使每一个重复元素只输出一次。(解题思路:利用HashSet。)
    3. 扩展2:在扩展1的基础上,不允许用集合类(HashSet,List等),只能用数组,再次改进函数。(解题思路:利用有序性判断元素是否已经添加过。)
  3. 讲一下常用的排序算法?(答:十大排序八股文,太长,重点介绍了冒泡、插入、选择、快排和堆排序。)
  4. HashMap的底层实现原理?(答:分JDK1.7和JDK1.8论述。)
  5. HashMap是否线程安全?如果不是,ConcurrentHashMap是怎么实现线程安全的?(答:分JDK1.7和JDK1.8论述。)
  6. synchronized关键字和lock的区别?
  7. Java中有哪几种线程池,默认的是什么?(答:提到ThreadPoolExcutor和Executors,但没理解问题的意思,答成了ThreadPoolExcutor的介绍。)
  8. spring循环依赖及解决方式?(答:此题不会。)
  9. 讲一下MySQL索引的使用?
  10. 讲一下单列索引和联合索引的区别?(答:这道题令人无奈,一直没听明白面试官问的什么,直到复盘听了好几遍录音才听出来。面试时还以为问的是B+树索引和哈希索引的区别,沟通几遍后这道题跳过了。)
  11. 讲一下左连接和右连接的区别?
  12. Redis有几种数据结构?
  13. 讲一下StringBuffer和StringBuilder的区别?
  14. 讲一下ArrayList和LinkedList的区别?(答:额外扩展论述了ArrayList的扩容机制)

反问环节(约5min)

  1. 面试官是什么部门的?公司现在主要做什么业务?(回答:武汉分部,主要做美国房地产业务。)
  2. 日常工作中使用的技术栈?(回答:SpringBoot + MySQL + Redis + Git + IDEA + 与数据库相关的常用工具。)
  3. 面试评价?(未进行明确评价,问题带过。)
  4. 实习时间要求?实习生培养计划?面试结果多长时间有反馈?(回答:无实习时间要求,公司内部有一套专门的实习生培养流程,面试结果一周左右给出反馈。)

感受与总结

互相没有开摄像头的一场面试,预约的时间是半小时,最后超时差不多一倍,有点意外。虽然因为口音和扬声器质量问题,有些题理解得不太好,但总体来说面试不算难,都是常规八股,对个人来说算是一次很有益的锻炼。后续除了八股文继续查漏补缺外,言语组织和表达能力也需要锻炼加强,尤其是在过往经历的描述方面。


二面

面试背景

远程面试,时间:2022.05.12,约35min。

面试流程

提问环节(约30min)

  1. 候选人自我介绍和面试官询问过往经历。(约15min,偏HR面,问个人的想法比较多。)
  2. 手撕代码:10进制转18进制。(15min。题目很简单,从低位到高位依次转换即可,最后输出字符串,但是当时做题的思路比较混乱。)

反问环节(约5min)

  1. 武汉的人人网有几个部门?(回答:只有一个,都是做的美国房地产项目。)
  2. 项目多久迭代一次?(回答:三周迭代一次。)
  3. 实习生过去主要做什么事?(回答:帮助正式员工处理一些简单的开发工作和客户的反馈等。)
  4. 面试评价和建议?(回答:做算法题时的思路有点混乱;介绍项目时需要更好地提炼下核心意思,比如项目的主体是什么,自己具体做了什么工作,该工作对普通人有什么实际价值,自己在项目中的收获是什么等。)

感受与总结

半HR半技术面,除了聊经历就只做了一道题。面试感觉表现不太好,聊经历时,有些表述面试官可能和我GET到的重点不太一样,因为我了解自己的项目,但对方不了解,信息传达中出现了偏差,于是后面又解释了一番;手撕代码时,感觉思路比平时僵硬许多,还需要多练习和适应。以上两个问题,面试官都指出并给出了有用的建议,在此也是非常感谢。

#面试复盘##实习##面经#
全部评论
老哥实习体验如何
点赞 回复 分享
发布于 2023-09-20 14:10 湖北
在哪里投的啊,hxd
点赞 回复 分享
发布于 2022-05-10 12:34
oc了嘛兄弟
点赞 回复 分享
发布于 2022-05-10 09:06

相关推荐

04-06 16:43
已编辑
北京中南海业余大学 Java
实习拷打 1:你在**实习主要做了哪些工作?2:有没有记忆比较深的方案设计案例,讲讲你是怎么设计的?3:你说的库存这块,其实就是乐观锁的概念,对吧?当初这么设计是考虑性能优化吗?4:你提到的优惠券规则引擎是什么?5:注册发券逻辑从同步改成异步后,怎么保证券的成功发放?八股6:讲一下 Java 里 Map 的实现,主要是 HashMap 的底层结构?7:HashMap 的扩容流程是怎样的?最新版本里对 rehash 过程有什么优化吗?8:讲一下 JVM 内存模型,内存里有哪几个部分?9:类加载的过程是怎样的?有几个步骤?10:Java 是怎么进行垃圾回收的?11:MySQL 索引的结构是什么?12:索引失效的场景有哪些?13:MySQL 事务是怎么实现的?14:MySQL 实现可重复读、读已提交隔离级别是怎么做到的?15:你提到了 Read View,它的作用是什么?读提交和可重复读下 Read View 的创建时机有什么区别?16:MVCC 在 InnoDB 里是怎么实现的?Read View 是怎么找到有效版本的?17:Redis 的基础数据类型有哪些?18:Redis 的 ZSET 是如何实现通过 member 快速查找分数的?(底层数据结构)19:RabbitMQ 怎么实现消息不丢失和不重复消费?AI相关20:开发中有没有使用 AI 相关工具?除了开发还做过什么?21:你提到的 Skill 和 MCP 用起来的区别是什么?项目拷打22:你做的自然语言转 SQL 的 MCP 服务,实现流程是怎样的?23:大模型生成的 SQL 直接执行吗?会不会出现一些索引问题,导致查询量很大?24:这个项目是什么时候做的?现在重新设计有哪些优化方向?手撕leecode88:两个升序的数组 a 和 b,合并到数组 a 中,保持升序,a 数组的末尾有足够的空位,长度正好可以容纳两个数组的所有元素
查看24道真题和解析
点赞 评论 收藏
分享
评论
5
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务