Hi! 我是小小,今天是本周的第二篇,昨天的阅读量效果不好,小小在此道歉,开始本周的第二篇。

公司到底需要什么样的Java人才,嗯,对,公司就是需要这种不要脸的Java人才,小小从茫茫人海中,找到了一位三年经验的Java求职者,这位求职者,面试经历奉献给各位喽!

某C轮在线旅游公司

笔试

半个小时的笔试题,一共六个题目,两道go语言基础题,一道斐波那契额相关,一道数据库行转列转置,一道实现一个栈,还有一道是百万计的MySql优化。
这位面试者没有接触过go,第一二道猜测答案,第三道过,第四道没有写出。第五道漏了数组收缩的场景,第六道,简单的写了几点关于建表和使用索引相关。

一面(技术+项目)

没有讨论笔试题,先自我介绍,然后从项目开始问起一些基础知识点 面试,难度不大。
其中有个问题,这个项目做了一年多,里面主要穿插了哪些需求,这个回答没有条理,暴露了这位面试官平常没有总结的习惯。

二面(架构师面)

架构师对两年前做的一个项目比较感兴趣,由于是螺面,做的时间很长,回答不理想,挂了。

经验总结

面试准备相当重要。
项目架构和整体流程一定要非常清除。

某C轮AI公司

一面

涉及知识点如下:
1. StringBuilder,String,StringBuffer的区别,使用场景
2. String不可变的设计原理,以及这样设计的原因
3. HashMap的实现原理,1.8之后对于碰撞怎么处理的,如果key没有实现compareable接口,红黑树根据什么插入?
4. 聊了下jvm的内存结构,线程安全的部门,各个部门的职能?
5. 说明下类的加载过程,类加载的双亲委派模型?
6. 聊下Spring的架构

二面

  1. 聊了下你最熟悉的项目,描述下难点
  2. 聊了下Java的内存模型,可见性;Java线程安全实现的几种机制;HashMap并发下的问题;ConcurrentHashMap的实现,1.7和1.8的区别;Java中的并发原语,synchronized和ReentrantLock的实现原理以及区别;
  3. 聊下Java的线程池,以及使用注意点
  4. 锁和cas的使用场景,他两的区别,有没有实际测试过各种场景的性能数据,都有怎么样的表现

面试总结

Java并发知识总结不够,对于AQS了解不深。
介绍项目知识没有挖好坑。没有突出项目难点。
平时总结过少。

某C轮金融科技公司

一面

  1. 重点聊了Java各种集合的实现原理,以及使用场景,主要包括不限于,ArrayList,LinkedList,HashMap,HashSet,TreeMap
  2. 线程池的实现原理,线程池中的等待任务只有一个队列,如果线程池中的线程比较多,竞争会比较大,怎么解决?
  3. Java中实现高并发的几种策略(COW, cas, 锁),各自的使用场景及区别?
  4. 简单的介绍下项目?

二面

  1. 聊下项目中高并发,高可用的实现
  2. 负载均衡的几种算法
  3. 问了几个设计模式的实现
  4. 分布式系统中转账问题,如何保证分布式事务,项目中怎么处理这种情况?
  5. MySQL主从复制的实现
  6. jvm的内存模型,类加载机制,jvm gc实现原理,有没有jvm线上调优经验。如果遇到线上问题,一般通过哪些步骤定位,除了看日志和走读代码还有没有其他方法?

三面

  1. 聊下项目内容,以及项目目前存在的问题,优化点
  2. 有没有带人的经验,怎么带一个新人?
  3. 离职的原因,对下一份工作的期望?
    问了几个问题:
  4. 目前这边开展的是新业务,怎么让大家这群“新”人很好的配合起来
  5. 目前公司这块的业务在技术上的侧重是什么,会有哪些挑战点

四面

  1. 聊了下项目
  2. 下一份工作,首先考虑的三个点按优先级排列是什么?

某C轮互联网平台公司

一面

  1. 聊了下Java的基础技术,高并发模型
  2. 聊了下项目,项目的性能数据
  3. 聊了下jvm 内存模型,类加载机制,有没有jvm调优经验

平安系子公司

技术面

  1. 常规的Java基础技术问题,设计集合,并发,走马观花的都问了一轮但不深入
  2. 项目介绍
  3. 离职的原因,当前的薪资水平

领导面

  1. 自我介绍
  2. 介绍项目
  3. 面试结束

蓝绿厂

一面

  1. 自我介绍+项目经历介绍
  2. 重点聊了下自己最熟悉的项目,架构,组网,性能,瓶颈
  3. Java常见集合的实现方式,说下常用的设计模式,并举例使用到的场景,手写懒加载线程安全的单例模式
  4. Redis中的常见数据结构类型,Redis实现持久化的方式,优缺点以及使用场景
  5. 大数据和高可用在项目中涉及的点
  6. MySQL主备同步的原理,怎么实现高可用?
  7. client调用A服务,A服务依赖于B服务,在不知道B是否高可用的情况下,怎么保证A的高可用?
  8. jvm的内存模型,jvm的运行时数据区,有没有jvm的线上调优经历?
  9. 回到项目的性能数据上,有没有仔细去调研过这个接口的时延的分布是怎么样的,按照28法则,肯定是某个方法耗时比较多,有没有针对这种场景的分析?

二面

  1. 有没有带人的经历,对于不上道的人,一般怎么带?
  2. 为什么你能胜任这份工作?
  3. 你说你优秀,你的优秀体现在项目的什么地方?
  4. 怎么在字符串池中查找给定的字符串?
  5. B树又没用了解?MySQL索引的数据结构是什么?MySQL的数据存储机制是什么?如何处理数据中的脏页?
  6. 解释下分布式系统中的cap理论,怎么保证ca?

关于作者

我是小小,一枚双鱼座的程序猿哦~我们下期再见~bey~