人人网日常实习一面及二面面经-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

相关推荐

2025-12-25 19:07
蚌埠坦克学院 Java
1.自我介绍(拷打实习项目)1.RAG的流程了解吗,比如向量化采用哪个模型来做的,怎么存的文件?2.文件分块怎么做的,基于怎么原则/规范?3.如果基于段落来分块,为什么不选用一个比较大的段落或者一个比较小的句子来分呢,有考虑过过大/过小会造成什么影响吗?4.调用向量化模型的时候,是调的实时的接口还是其他的方法来做的?5.这个接口是自己写的还是直接调用的豆包的SDK?6.豆包有没有提供批量处理的向量化的接口?7.向量化处理时,是每个文本分块分别进行向量化,还是把所有的文本都切分好之后,调一次接口就好了?8.ES检索完之后有没有对检索结果做质量评估呢,有没有通用的测试方法,比如标准数据集?9.你简历提到接口响应时间从800ms到200ms,有关注过影响耗时的核心点是在哪吗?10.在传入的文档数量是固定的情况下,返回的top结果的值不同,对接口耗时有没有影响,影响大不大?11.采用的什么策略来减少RAG的幻觉?12.Kafka 解耦文件上传、处理这块怎么做的?13.Kafka 的分区策略有哪些?默认分区、粘性分区、自定义分区分别是什么?14.有了解过kafka分区的概念吗?15.正常来说,一个topic下是一个分区还是多个分区呢?16.多个分区的好处是什么?17.kafka消费的策略有了解吗?(拷打练手项目)18.你在项目里使用了RabbitMq,有对比过RabbitMq和Kafka的区别和使用场景吗?19.如果要防止数据丢失的话,一般采用的标准方案是什么?20.项目里用到的两级缓存,Redis和Caffeine,缓存一致性怎么做的?21.Canal做MySQL到ES的增量同步的时候,监听的是MySQL的哪个日志?22.除了binlog,还有哪两种日志类型比较常见,分别的使用场景?(拷打轮子)23.为什么WAL这一块要先写日志呢?24.2PL的规则有了解吗?25.2PL加锁和解锁的阶段有没有交叉?26.有了解2PL可能造成哪些问题吗?27.2PL造成的死锁问题怎么解决?28.你用到了LRU策略,它是用来解决什么问题的,有什么优势?(其他)29.了解Linux和shell吗?30.实习的时候的开发环境是基于win还是Linux呢?(场景题)31.公司可能用到第三方的SDK,SDK只提供了静态的方法,要求在注入的时候,用的成员是静态的,但是Spring中@Autowired是用来注入非静态成员的,那我想注入一个静态的变量该怎么做呢?(八股)32.怎么创建一个线程?33.Callable和Runnable的区别是什么?34.使用synchronized时,加在方法上和加在代码块上的区别是什么?35.在synchronized的同步块里,该怎么判断是使用this对象还是使用class对象呢?36.在 Spring Boot 的容器里,一个 Service Bean 是否是单例的,或者说同一个类会不会有多个实例?37.你接触到的数据结构都有哪些?38.有了解过动态规划和分支限界的算法逻辑是什么吗?(手撕)225. 用队列实现栈
爱石头的精卫鸟:我了个豆,面这么多,bro还会rag这些,你面他们的是java岗位?
点赞 评论 收藏
分享
评论
5
29
分享

创作者周榜

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