面试刷题11-4

 

9.16一面:80分钟左右

  1. Java集合说一说吧set ,list,map都问了一遍

  2. TreeSet和HashSet区别

    • 红黑树区别,有序无序
  3. hashmap和concurrenthashmap

  4. 线程池用过没,线程池的参数什么意思,每个都问了一遍

核心线程数,最大线程数,等待时间,拒绝策略

  1. 拒绝策略说一说

è¿éåå¾çæè¿°

  1. synchroBlockQueue 到底可以存几个

  2. 锁用过没,l

    • 叭叭各种锁,
  3. 锁的什么方法你用过

    • tryLock
    • getHoldCount
  4. lock和tryLock区别

    • 给他唠了一个acquire这个,但是唠的不明白
    • 唠了一个状态
  5. lock的公平锁和非公平锁的怎么实现的(源码级别),不限于概念

  6. 类加载机制,不是类加载几个过程

双亲委派机制

  1. 如果多个类加载器加载同一个类,会出现什么情况

  2. tomcat的加载过程

    我说了不了解,当时就应该问是不是init doPostxx

    反正不是双亲委派

  3. spring的生命周期,不是bean

    没有get到点上,不知道

  4. AOP

  5. ASM怎么实现cglib

  6. mybatis的插件用过没,

    • 搞了半天不是那个
  7. 项目,

    ​ 背景:暂存数据,每一次把用户填写的数据暂存到数据库,暂存字段,0暂存,1正式存

    1. 如果实现a用户暂存数据1,b用户暂存数据2,实现a下次只能看见数据1,

      给car表加一个操作人字段,每次判断

    2. car表怎么设计的,

      id,车牌号,xxx,xx,暂存标记

    3. car表主键是什么

      主键id

    4. 主键id有什么规则吗?

      自增长

    5. 如果一个车牌号重复了,添加的时候怎么处理的

      每次填入的时候,都会在数据库里查询一下,判断是否有

    6. 如果4个人同时填入车牌号为888的车,怎么处理这个问题

      叭叭叭半天,给添加这个操作加锁,给判断重复车牌号方法加锁,

    7. 加锁为消化资源,你考虑一下在数据库进行操作吧

      叭叭了隔离级别,说了mysql默认隔离级别(可重复读)

      此时感觉不对了,没有get到点上了

    8. 隔离级别是解决什么问题的啊

      并发的时候问题,叭叭脏读等问题,

    9. 隔离级别什么时候才出来啊?

      不知道

      这个点没有回答好

  8. 数据库索引,索引类别

    唯一索引,聚簇索引,非聚簇索引

  9.   聚集索引和非聚聚索引

  10. 二叉树和B+树的区别               

  11. 叭叭半天,没有get到点上

    1. B+树所有数据都在叶子节点,每次查找时间稳定
    2. 叶子节点都有指向下一个叶子节点的指针,范围查找比较方便
    3. B+数的多叉平衡树

     

  12. 那如果把二叉树弄成,所有数据都存在叶子节点呢

  13. 二叉树,如果删除的话,可能会变成线性树,时间复杂度变高

  14. 那如果平衡二叉树呢

    叭叭了,记得好像磁盘存储是用的b+树结构,索引是存在磁盘上的,用B+树会减少IO操作

  15. 怎么减少IO操作的

    完全懵逼了,

  16. 磁盘上所有文件都是B+树存储吗?

    文件夹的文件吧

  17. 磁盘上怎么存储这些数据的

  18. 你了解什么文件格式

    elf,a.out

  19. Linux操作系统了解过吗

    Linux不太了解过,用过Linux命令,进程同步

  20. Linux命令用过哪些

    cd,grep,pwd,mv,管道符,ps

  21. Linux根目录下有哪些文件夹

    etc,bin,我好像记得是,可能记不太清楚了

  22. 手撕翻转树,递归+递推

  23. 手撕最小路径和


 

10.17二面:50分钟左右

  1. 开源项目了解什么

  2. SpringBoot如何加载,源码

  3. 学习源码如何深入学习的

    叭叭叭ArrayList和LinkedList

  4. 如果去了解spring的启动过程,你怎么去了解

断点调试?

  1. tomcat启动的流程,要加载什么资源

  2. 项目中有哪些收获

  3. 项目中负责哪些点,技术方向吧

  4. 为什么用mvc架构

    面试官:其实这个mvc架构知识点还是很深的,要做好还是很难的

  5. 项目里Spring的事务是怎么管理的

    在方法上加注解

  6. 那为什么加注解可以实现,这个加载机制是怎么实现的,源码级别

  7. 为什么这个注解可以实现事务

  8. 那这个事务和数据库的事务有什么关联

    acid,事务隔离级别

  9. 那你们当时项目选技术是怎么思考,比如mybatis用的什么连接池

    用的c3p0

  10. 那你知道有其他的连接池,各自有什么区别

    c3p0、dbcp、druid三大连接池对比 - wawa3338的博客 - CSDN博客
    https://blog.csdn.net/wawa3338/article/details/81380662

    c3p0,dbcp与druid 三大连接池的区别 - 泡面之家 - CSDN博客
    https://blog.csdn.net/qq_34359363/article/details/72763491

    druid的功能强大、扩展好,

    druidc3p0dbcp
       
       
       
  11. 那你感觉连接池的功能都有什么

    1. 资源重用
    2. 更快的系统响应速度
    3. 新的资源分配手段
    4. 统一的连接管理,避免数据库连接泄漏
  12. 项目大概几个人,开发的人,源码包大小多少

  13. juc看过哪些,说AQS的机制

  14. Lock如果给线程分配锁的

    叭叭ReentrantLock

  15. 公平锁和非公平锁的区别,源码级别

    面试官补充:非公平锁就是抢占式的嘛

  16. 队列呢,了解什么

    ArrayBlockQueue,LinkedBlockQueue

  17. 各个队列使用场景

  18. queue里面都有什么方法

    offer,add,put

  19. 各个方法仔细讲讲,都会出现什么情况,添加的方法有什么,都有什么不同出队列呢,都有什么,跟offer对应的

  20. jvm看过什么、jvm常用命令

  21. jstat的参数,比如看一个线程的回收情况,怎么看、其他的命令呢

  22. 动手去编译JDK源码

  23. JVM的类加载流程,到解析到字节码

  24. 如何去验证版本的冲突的,比如jdk1.6到jdk1.7

  25. 初始化去怎么做的

  26. 实际运用中,ClassLoader都有了解什么

  27. 如何实现一个动态加载、实现哪些方法

    实现ClassLoader这个类

    首先加载这个字节码的字符流,然后有个loader方法吧,记不太清楚了

  28. 如何获取当前的ClassLoader

    getClassLoader方法

  29. 那可以保持建立多个ClassLoader吗?

    给他扯到了不同ClassLoader加载一个clas出来的类不一样

  30. 为什么加载器加载出来的类不一样

    不同加载器加载出来的类不一样,因为加载器不同啊

    面试官补充:因为每个加载器都有自己的隔离机制

  31. jvm内存模型

  32. 多线程如何实现主存同步的

    缓存一致性扯一扯,Java内存模型

  33. 那通过什么指令去实现其他工作内存无效的

voliate 

  1. Java里怎么实现缓存一致性的

    volatile、synchronized、lock、信号量、wait/notify

    面试官补充:信号量也是加锁实现的

  2. jvm的锁优化有什么

    说了synchronized,

  3. 那还有其他编译器的锁优化吗,比如锁粗化

    锁消除、、、、、

  4. 网络编程知道吗

  5. 创建socket的过程

  6. 从server端开始说吧,几个步骤

  7. accept操作之后,然后呢

接收客户端传过来的信息吧,

  1. 怎么解析这个信息呢,输出到什么流里呢

  2. 互联网这块网络编程用的也挺多的,比如rpc框架什么的

  3. Java里的IO这块你了解吗,区别

  4. BIO、NIO、AIO的对应类实现了解吗

  5. shell命令

  6. 进程通信方式

  7. Linux调度方式有什么

  8. Linux的缓存有几级

  9. jdbc连接mysql的几个步骤、为什么要加载驱动呢,原理是什么、PreparedStatement和Statement区别、返回结果如何查询

    准备 private static final URL、、、 也可以用properties从文件中读取。load()、

    1、首先注册驱动啊?怎么注册?反射啊,Class.forName("xx.xx.xx.Driver");底层怎么实现的?静态代码,DriverManager.registerDriver?启动的时候,会自动调用静态代码块的内容。

    2、接下来就是获取连接啊,怎么连接?远程连接(三次握手操作),连接放哪里?作为资源必须放池子里。这样能提高性能。常见的连接池有DBCP,C3P0,传说中最安全,性能最好的Druid(国产),而且还能监控。

    3、你总的有SQL语句吧,之后就是Statement编译那。这里会出现SQL注入的安全问题。在语句后面加"1=1"成立。所以我们采用预编译的方式,PreparedStatement。可以防止这种问题的出现。

    4、查完之后获取结果集。rs.getString().

    5、头疼的来了,释放资源。各种 if(xx != nu) {try{ xx.close();}catch{}} 不用担心JDK8 出来一个新特性,可以放在try-withresource中。还有各种异常可以采用通道的形式 XxxException | XxxException

    6、各种异常需要你放到一个try{}catch{}中,出问题你也不知道问题在哪里?

    麻烦吗?不用担心,我们可以封装成一个工具类,需要的时候调用工具类.getConnection();

    还是麻烦啊,可以用Spring框架为我们集成提供了jdbcTemplate,HibernaterTemplate。用模板代码消除了大量的样板代码。

遍历结果集,叭叭
 

10.29三面:36分钟左右

  1. 说说ArrayList的源码各种方法吧,add,remove一系列方法

  2. MySQL的聚簇索引

  3. 知道SQL注入吗、Java里怎么防止的呢

  4. Redis和数据库的一致性

  5. 了解过什么开源的东西吗

    Spring

  6. 那说说AOP吧

 
 

  • 项目构成
  • 作为项目组长怎么分工的
  • 采用什么开发
    1. 敏捷式开发,一些点说一说
  • 讲讲volatile,可见性举个例子
  • 你说你了解juc,你说说juc,举个例子
  • ArrayList和LinkedList
    1. 说了增删改查的时间复杂度
    2. 面试官说ArrayList增加时间复杂度真的是O(1),,有个值保存了下标,下次增加直接插入
  • 设计模式,项目中运用了吗
  • 说说你的优势吧
    1. 说了自己喜欢看基础,面试官说那是底层,是加分项,
    2. 应该重运用,不能纯理论
  • 最后问了面试官建议,让我多运用运用,底层是加分项,首先得基础好

 

  • 自我介绍
  • jvm内存模型,GC
  • 类加载机制
  • ClassLoader的分类
  • JDK1.8新特性,主要问了流Stream
    • 不会
  • hashmap
    1. 1.8阈值为什么是8
  • 聊聊框架,SpringBoot,spring,springmvc三者关系
  • spring AOP
  • 基于spring的应用,我想让这个程序启动之后,然后再打印一个log,或者一个定时任务,这个怎么实现
  • AOP 两种代理的区别,什么时候用
  • mybatis的一个接口,一个xml文件,执行SQL语句是怎么实现
    • 回答错了
  • synchronized和volatile
  • maven的scope有几种
  • MySQL优化
    1. 联合索引
  • Redis的数据类型
  • 项目经验,登录页面怎么做的,越细越好
    1. 后台怎么获取到登录人的
      • 我说了requestparam,好像不是很好
  • cookie和session

 

8.14 智能供应链部二面

  1. 项目
  2. 根据项目负责的一些点提新的需求让我设计
  3. MySQL索引B+树问题,为什么B+

主要就是项目问的多

 

 

58同城(11.1 offer):线上面

一面10.18:20分钟

  1. 排好序的数组里找到比target小的下标,

二分查找

  1. 中间件会什么

    我不会

  2. 好像还有线程的并发包

  3. 剩下的忘记了....

 

 

  • 自我介绍

  • 项目中你觉得自己做的比较好的地方在哪里

    数据库

  • 数据库索引

  • 洗牌算法

  • 本地文件abc.txt,里面存放了5000万个正整数,每一行一个正整数,正整数取值范围为1-5000万,现要求你找到第300个大的正整数?要求时间复杂度为O(1)

    O(1) 我很懵逼了

  • 生产者消费者需要注意什么事项

并发操作

 

贝壳找房(三轮面完之后挂):线下面

8.24 一面:

  1. 自我介绍
  2. 项目
  3. 手撕反转链表
  4. Java基础你还了解哪些
    1. 我说了多态的两种形式
    2. 看过ArrayList和LinkedList源码
  5. AOP
  6. tcp三次握手
  7. 索引你用过吗
  8. 高并发知识你了解什么
    1. 说了synchronized、ReentrantLock、volatile
      • volatile的原理知道是什么吗?
        1. 我说了JMM,面试官说不是
  9. 线程池几种你了解过吗
    1. 说了几种线程池
      • 继续问我线程池的区别,线程池参数的各自含义
      • 什么时候才会达到最大线程数
  10. GC说一说吧
  11. 类加载机制

二面:感觉很重业务运用

  1. 自我介绍
  2. 抽象类和接口的区别
    1. 能不能用一个设计模式来说明
    2. 设计模式你都了解哪些
  3. int和Integer区别
  4. Session和cookies的区别
  5. HTTP在哪一层
    1. 我说了应用层
  6. HTTP的状态码说一说
  7. OOA,OOD,OOP是什么说一下
  8. 数据库的乐观锁和悲观锁了解吗
    1. 如果给数据库加行级锁,怎么操作
  9. 索引了解吗
  10. 高并发说一说吧
    1. 我说了synchronized、volatile、ReentrantLock
  11. 说说你的优点和缺点吧
  12. 你认为最开心和最难过的事是什么
  13. 你认为有什么书对你影响比较大,不限类型
  14. 有什么想问我的

HR面:

  1. 你感觉前两轮面试如何
  2. 你家里人对你工作的看法
  3. 想去什么公司
  4. 了解贝壳吗
  5. 优缺点
  6. 为什么不考研
  7. 能提前来实习是吧
  8. 有什么想问我的

 


 

阿里(二面挂)菜鸟网络内推:线上面

8.22:一面:

  1. 全程就撕项目,提新的需求给方案
  2. tcp udp区别
  3. session和cookie区别

8.26:二面:

  1. 还是项目,怼了一怼
  2. MySQL的联合索引
  3. 哈夫曼树原理
  4. 一致性哈希算法:https://zhuanlan.zhihu.com/p/34985026
  5. UDP不可靠会丢包,为什么还用它,怎么解决UDP不可靠

应用层建立可靠机制,快,资源消耗少

  1. 后面就是开始聊各种人生了

 


 

网易互娱(一面挂):线上面

9.26 一面:27分钟

  1. 自我介绍

  2. 面向对象聊聊吧

  3. 构造函数能不能重写

  4. Java基本类型

  5. 那基本类型的比较用什么进行比较的啊,是否比较

  6. 对象比较呢

    看这个对象有没有重新hashcode和equals方法吧

  7. 对象的比较是用的什么原理比较吗

  8. hashcode了解过吗

  9. 简单介绍一下list和set的区别吗

    叭叭叭

  10. 查找大量数据里是否存在某一数据

    用hashset

    大数据面试题——如何在大量数据中判断一个数是否存在 - CircleYuan的博客 - CSDN博客
    https://blog.csdn.net/kingyuan666/article/details/84583980

    方法一:分治法

    对于大数据相关的算法题,分治法是一个非常好的方法。针对这一题来说,主要思路为:可以根据实际可用内存的情况,确定一个Hash函数,比如:hash(value)%1000,通过这个Hash函数可以把这2.5亿个数字划分到1000个文件中去(a1,a2……,a1000),然后再对待查找的数字使用同样的Hash函数求出Hash值,假设计算出的Hash值为i,如果这个数存在,那么它一定在文件ai中。通过这种方法就可以把题目转化为文件ai中是否存在这个数。那么接下来的求解过程中可以选用的思路计较多,有:

    (1)由于划分后的文件比较小了,就可以直接装载到内存中去,可以把文件中所有的数字都保存到hash_set中,然后判断待查找的数字是否存在。

    (2)如果这个文件中的数字占用的空间还是太大,那么可以用1相同的方法把这个文件继续划分为更小的文件,然后确定待查找的数字可能存在的文件,然后在相应的文件中继续查找。

  11. 优化高效的办法

    提示我了list和set

  12. 项目

  13. MySQL语法,海量数据分页吧,用什么实现

    limit x,x

  14. MySQL常见的引擎,两者区别

  15. 查询效率来说,哪个快一点

    MyISAM吧

    是的,MyISAM虽然是表级锁,但是表的简单,查询效率比InnoDB快

  16. MySQL用的什么版本,5.5和5.7版本的一个区别

    5.7多了一个明显的数据类型json类型

  17. 平常用到json吗?


 

Bigo(二面挂):线上面

9.2一面:

  1. 自我介绍

  2. 分代收集算法

    • 是套组合拳,新生代分为Eden区和Survivor From和To区,用复制算法,老年代用标记-整理、标记-清除,
    • 复制算法:开辟两个空间,一块用,一块不用,清除的时候把一块用的,存活的放入另外一个空的里面
    • 标记-清除:标记,然后清除,缺点:碎片化
    • 标记-整理:解决碎片化问题,把内存整合连续
  3. 什么参数能够调整新生代的比例?

    • 回答错误
      • -XX:SurvivorRatio:Eden和Survivor的比值,默认8:1
      • -XX:NewRatio:老年代和年轻代内存大小的比例
  4. 如何一个程序频繁的发生Full GC,有什么办法改善这个情况?

    • 用一个指令去参考Full GC的次数,新生代老年代的比例,调整各比例
    • 产生Full GC的原因可能是:新生代到老年代的对象,老年代的空间不足,才产生Full GC
  5. 标记-清除和标记整理区别?

    • 见上
  6. 程序发生内存泄漏,你会怎么去查这个问题?

    • 产生内存泄漏的原因,可能是哪个引用没有用了,但是没有被回收
    1. 那你如何查出这个代码
      • 没有实战过,不好意思
    2. 换个思考吧,如果你的CPU突然变高,到100%,没有实战过,有什么思路吗?
      • 100%,肯定是代码块死循环了,我会用最笨的办法去找循环的代码,然后判断
  7. 讲一下hashmap的数据结构吧

    • 1.7和1.8的变化,
  8. ConcurrentHashMap

    • 1.7和1.8变化,分段锁、CAS锁
  9. Java如何实现线程池

    • 叭叭叭
  10. Java实现线程同步有哪些方式?

    • synchronized
    • lock
    1. 这两个有啥区别吗?
      • 叭叭叭叭
    2. 还有其他方式吗?
      • wait和notify
    3. 还有信号量,哈哈哈哈(邪恶的笑)

    !!!互斥量、读写锁、自旋锁、条件变量

  11. 原子类你用过吗?

    • 用过,AtomicInteger,底层是用的CAS实现的
    1. CAS怎么实现的
      • CAS是jdk8 unsafe类实现,jdk9 是VarHandle实现
      • CAS是在openjdk用unsafe.cpp实现的
    2. CAS本质性实现原理是什么?
      • 说了V- A-B
      • 是这样吗?
    3. 是这样的,但是不是我想问的,哈哈哈(邪恶的笑)
  12. 进程和线程调度算法?

    1. 就说线程吧
      • 先来先服务
      • 短作业优先
      • 时间片轮转
      • 优先级调度
      • 多级反馈
  13. 讲讲数据库吧,数据库引擎

    • MyISAM和InnoDB叭叭叭
  14. select count(*) form 表 用哪个引擎快一点

    • MyISAM快一点吧,
  15. 组合索引是a,b,select 语句 where b = 1 and c = 2

    • 最左匹配原则,不走索引,但是如果索引是b,a,就走索引
  16. like 走索引吗

    • 如果用%模糊查询不走
  17. 邪恶一笑,where a = 1 ,b = 2 OR b =3 走索引吧

    • 我也笑,前几天好像看过,我记得不走索引
  18. 如何查看慢查询

    • 用explain,打开慢查询日志,叭叭叭
  19. 如何查看SQL语句的每一个查询计划,就是每一步消化多少毫秒

    • emmmm,没有实操过,尴尬笑
    1. explain分析出来表数据都有什么
  20. 你自己还可以讲一下其他SQL语句优化

    • 设计表的时候,范式问题
    • 表最好是一对一,一对多,最好不要用多对多,多对多,最好建立中间表
    • 硬件优化了,成本高
  21. Redis基本数据类型

    • String
    • Hash
    • List
    • Set
    • Sorted Set
    1. 如何取List的一条命令
      • lpush,加入,lrange取,
    2. push不是应该对应的pop吗
  22. 发现服务器上TIMEWAIT(我听成摊位)状态的TCP过多是什么问题?

    • 出现在三次握手上
    1. 说说三次握手的状态吧

      • 叭叭叭,TCP过程,
    2. 然后呢?

      • 然后开始传输数据,可能会出现SYN 洪水问题

      !!!!!!复盘发现TIME WAIT是四次握手里的!!!!!!

  23. 说说项目吧,不用太详细,讲一个难点吧

    • 讲了数据过滤
  24. 做这个项目有什么提高呢

  25. 你问我吧

    • 面试环节,面试官觉得我有什么不足或者需要努力的地方吗
    1. 我觉得都还可以,就是经验不足,但是这不是你的问题
    2. 刚才那个CAS问题,好像没有get到您的点上
      • 对,但是没关系
    3. 问了计算平台,两个岗位的区别
    4. 技术栈方向,
      • 什么Hadoop,叭叭、部门也分不同的方向,有云平台的方向,东西也比较多
         

9.12二面:

  1. 根据前序中序生成树
  2. 还有一个算法题忘了
  3. 线程池参数,execute(),里面那个是实现了什么接口
  4. 单例模式
  5. 设计题:在控制层,记录访问次数,每次访问,count++,我说这个不安全,加锁可以保证安全,他说还有其他的吗

bigo 9.12 二面,手撕了2个算法,基本撕出来了,问了一个线程池的问题,没有回答出来,没有get到点上,问了我单例模式,我说单例模式就产生一个对象,安全,给了我一个情景题,在控制层,记录访问次数,每次访问,count++,我说这个不安全,加锁可以保证安全,他说还有其他的吗,我说不知道了,视频面了47分钟,直接说的,今天就到这吧,感谢你面试我公司,没有让我问问题


 

老虎证券(一面挂):线上面

10.16一面:

  1. 项目

  2. 讲讲代理,代理细分,Java里的代理

    AOP的代理,ASM的实现没有说明白

  3. JDK的动态代理怎么实现

    代理类handlr

  4. 动态代理底层怎么实现

  5. mybatis的缓存

  6. 什么时候才能命中二级缓存,什么时候才能存到二级缓存里

  7. mybatis的接口和xml交互,用到了代理了吗?

  8. Spring的事务传播机制

  9. JVM常用的垃圾回收器,

    CMS和G1叭叭叭

  10. CMS的优缺点

     
  11. CMS回收几个阶段是只有自己的线程吗?还是多个线程并行

    正确应该是

    1. 初始标记 自己线程
    2. 并发标记:并发标记线程+用户线程
    3. 重新标记:重新标记线程
    4. 并发清理:并发清理线程+用户线程
    5. 并发重置:重置线程+用户线程

    缺点:在并发清理过程中用户线程可能会产生大对象发生full gc,导致csm回收失败

  12. 频繁Full GC,如何排查,用到什么工具

  13. 类加载机制

双亲委派机制

  1. synchronized和lock区别

  2. synchronized、lock是公平锁还是非公平锁

  3. synchronized的锁升级过程

  4. MySQL常用的引擎区别

  5. MySQL的索引结构

  6. 哪些会索引失效

  7. B+树和B树的区别

  8. MySQL常用的事务隔离级别

  9. MySQL事务隔离级别都解决了什么问题

  10. 脏读幻读是什么。

  11. 不可重复读,MySQL是什么解决的

    叭叭了读写锁、意向锁

    正确是mvcc

  12. Redis的数据结构

  13. 讲跳表,如果插入这个怎么做的,比如插入第一个数据,存到第几层

    如果没有数据,放到第一层,

  14. 手撕两数之和、判断括号是否合法
     

科大讯飞Sp(10.22oc 已拒):线下面

一面10.18:大概1个小时左右

  1. OSI七层模型

  2. http报文头,多少位

  3. tcp udp区别

  4. hashmap、concurrenthashmap

  5. 线程池

  6. 用hashmap去实现Redis,你会怎么实现

  7. 说说数据结构和算法吧,做后端的这块可能薄弱一点吧,就不问你了

  8. 未来职业规划吧

    面试官给我聊了很多未来的各种方向,叭叭叭

  9. 期望薪资吧

  10. 给我聊各种很有用的人生

  11. 后面记不住了,因为是线下面得,忘记录音了

面试感受:这个面试官真的很nice,问的东西也是根据简历来问的,然后也非常和蔼,面完之后还给我教了很多经验,在纸上给我画了画,写了写,真的很不错!!!!


 

陌陌(一面挂):线下面

9.20一面

  1. 说说项目吧

  2. 你这项目也不行啊,感觉没有什么聊得

  3. 那你说一下项目难点和亮点吧

  4. 这个也不算项目难点和亮点啊

  5. 怎么没有去实习呢

  6. 系统频繁卡顿,怎么排除呢

    尝试一下JVM调优,Full GC问题

  7. 那你说说jvm调优吧

  8. 还有一些忘记了

面试感受:!!!!!真的没有体验感,一直被dis,就差面着面着起身就走


 

联行科技(offer 已拒):线下面

9.26一面:

  1. 项目,

  2. 图片那个问题有个热部署了解一下

  3. int和Integer的区别,为什么要有Integer,那为什么又要有int

  4. Integer a = 1000; a++;几次拆箱和装箱

  5. JVM内存划分

 

查出各科目成绩第一的学生,可能会并列

  1. JDBC

  2. MyBatis的接口和XML文件怎么对应上的

  3. 死锁讲讲,然后写一个

  4. 讲讲集合吧

  5. 阿里有个证书,可以了解一下

  6. 找到链表最后一个值,倒数第x个值,

    快慢指针思路

  7. 快慢思路还可以解决什么问题

    判断环,环入口,环长度,找中位数

  8. ipv4对应4个字节,int也对应4个字节,把192.168.1.100转换为int

    每个转换为二进制,然后整个字符串就是一个二进制,符号位+31位,进行转换int

  9. 海量字符串数据查询次数出现次数最多的字符串,海量是指根本存不下去

一次处理根本不能处理,所以分机器处理。

假设有M太机器,求出每个字符串的字符串Hash值模M的值分配到对应的机器上,对每个机器上的字符串分别求出现次数最多的字符串(使用Map记录就可以),在取M台机器中出现次数最多的。这是我之前学习海量数据处理时经常看到的方法

9.27二面:

  1. 手撕最长回文子串

    暴力写的

  2. 字符串数组是否可以成环{[ABC],[CDE],[EFG],[GHA]},成环的最大长度,首尾字符要一样

    用的dfs,写的,

    正确做法是个图论

  3. 逻辑题,3人3鬼过河问题

shein(让我CTO面,已拒):线上面

一面10.25:9分钟

  1. 自我介绍
  2. 项目做的哪一块
  3. 项目做了多久
  4. 你平常写博客吗,给我看一下

二面10.25:9分钟

  1.  索引锁机制

    唯一索引行锁

  2. 查看一条数据,数据不存在,怎么加锁的

    间隙锁

  3. Redis为什么那么快

    1. 在内存
    2. 数据结构简单
    3. 单线程的
    4. 多路复用I/O,非阻塞

三面:30分钟左右

  1. 分段锁你知道吗

    ConcurrentHashMap用的分段锁

  2. ConcurrentHashMap的put源码

     
  3. 线程池怎么理解

    聊线程池的池化思想

CTO面让我,被我拒了

用友(offer 已拒):线下面

9.18 一面:

  1. 讲讲什么是高并发
  2. jvm的划分
  3. 类的一个创建过程
  4. 如何优化SQL
  5. 项目
  6. 敏捷式开发

9.18 HR面:

9.23 offer

哈啰出行暑期实习(offer已拒):线上面

一面:

  1. object的方法有哪些,
  2. ArrayList,
  3. gc算法,
  4. cms垃圾回收器,
  5. 说说spring,aop,
  6. MySQL的索引、事务、
  7. Redis缓存了解过没,
  8. JUC包下有哪些常用的类,
  9. 说说synchronized
  10. 项目
  11. mysql的数据类型

多益网络提前批 (一面挂):线上面

7.17一面:

  1. 自我介绍
  2. 互联网加班怎么看?
    • 接收加班,不接受无用加班
  3. 项目
  4. 给定一个正整数n, 输出1到n的所有排列
    输入 3
    输出
    123, 132, 213, 231, 312, 321
  5. 用什么语言开发?
  6. 如果让你建议小白学习Java,你推荐看什么书?
    1. Java核心技术卷和视频相结合
  7. Java的缺点,跟c++和c比?
    1. Java比c++慢
  8. 排序算法,哪些是稳定的
    1. 回答错误
  9. 解决哈希冲突的方法?
    1. 只回答了链指法
  10. 有其他公司的offer吗?
    1. 没有,目前就投了多益
  11. 做了我们的IQ测试,感觉如何,感觉难不难,是不是提前时间完成的

平安壹钱包暑期实习(offer已拒):线上面

主要测试部门:

一面:

  1. 做过高并发的东西吗
    • 没有
  2. 说说线程和进程
  3. 为什么用到锁---因为写这个操作用影响
  4. tcp三次挥手,四次握手
  5. Linux命令,查看tcp的链接
    • 没有
  6. git命令,如果新进入一个项目团队,怎么用git
  7. jre,jdk,jvm
  8. 用过什么数据库,开发用过缓存没,我说了解Redis
  9. GC算法,一般用在哪里

第三方支付部门:

一面:

  1. 聊聊项目

  2. ArrayList,线程是否安全,是否有序?

  3. TreeSet和HashSet区别

    • 回答不全
  4. final关键字

  5. 抽象类和接口

  6. jdk1.8新特性

    • 只回答了Lambda
  7. IOC

  8. AOP,用在日志上,Linux上怎么看日志

tail -f


 

百度(上海)基础平台开发

现场三轮技术面

1.自我介绍。

2.实习项目介绍。

3.java类加载机制、双亲委派机制。

4.Java内存管理、垃圾回收算法、常见的垃圾回收器介绍、Java内存泄漏发生场景及如何避免。

5.红黑树和AVL树的区别。

6.MySQL的索引机制、MyISAM与InnoDB的区别。事务的特性及隔离级别。

7.进程和线程的区别,进程、线程的通信方式有哪些。

8.死锁产生的必要条件,产生死锁的解决措施。

9.讲一下你了解的设计模式。

10.在海量数据中,怎么找出最大的100个数。

11.在浏览器里输入www.baidu.com后发生了什么。

12.tcp和udp的区别,tcp怎么保证可靠性的。

13.http和https的区别,http有哪些常见的状态码,get和post区别,https的加密过程,是对称加密还是非对称加密。

14.算法题:非递归实现二叉树的后序遍历。

15.算法题:给定一个一维数组,求数组中的最长递增子序列。

16.算法题:判断两个链表是否相交,如果相交求交点,分无环和有环多种情况考虑。

17.有什么想问我的。

 

网易游戏(上海)游戏研发

现场两轮技术面

1.面试前,先是给半小时时间做一道算法题,题目:爬楼梯问题,有N层楼梯,你每次可以爬2层或者3层,打印可以爬完N层楼梯的所有方案。

dfs 

 

2.实习项目介绍。

3.讲一下java的反射机制。

4.介绍一下Java内存管理、垃圾回收算法。

5.HashMap的底层实现、扩容过程,为什么不安全。

6.tcp和udp的区别,怎么使udp变得可靠。

7.网页是多进程还是多线程的。

多线程

8.b树和b+树有什么区别,为什么不用红黑树实现索引机制。

IO 次数太多

9.一个文件中有100万个数据,包含ip地址和对应的实际地址,给出一个ip地址,怎么快速查到对应的实际地址。

10.介绍下堆排序并分析一下时间复杂度,怎么用数组实现一个堆。

11.游戏中有一个装备,1~4级的时候每操作一次,50 %概率升一级,50 %概率级数不变,5~9级的时候每操作一次50 %概率升一级,50 %概率掉一级,求从1级升到9级的期望操作次数。

12.算法题:给定一个一维数组,判断是否能只修改一个元素就成为非递减数组。

13.算法题:一个字符串,每次操作可以在字符串中的任意位置插入一个字符,至少需要操作多少次,可以使字符串变成回文字符串。

14.设计一个斗地主发牌游戏。

15.100层高楼扔鸡蛋问题,给两个鸡蛋,至少需要扔多少次,给出最优解。

16.最近在玩什么游戏,为什么投游戏研发岗,对游戏行业的看法。

17.期望薪资多少。

18.有什么想问我的。

 

依图科技(上海)后端开发

现场三轮技术面一轮HR

1.自我介绍

2.实习项目介绍

3.介绍一下简历中提到的其中一篇论文的内容。

4.用过哪些设计模式,手写一下责任链模式。

5.掷一枚硬币,连续两次出现正面的期望。

6.有2个人掷硬币,A先掷B后掷,先掷到正面的人获胜,B获胜的概率。

7.有N个棋子,两个人轮流拿棋子,一次可以选择拿1个或者2个,谁拿到最后一个棋子谁获胜,你先拿,怎么保证你尽量获胜,分情况讨论。

8.算法题:K个有序数组,归并成一个有序数组。

9.算法题:一个M*N的二维数组(M和N都很大),行和列都递增,查询一个元素在数组里是否存在。

10.算法题:给定一个一维数组,输出数组中所有和为0的三元组合。

11.算法题:给定一个二维数组,数组中元素均为0或1,求数组中最多有多少个1相连通。

12.算法题:给定一个一维数组,求数组中等差递增子区间的个数。

13.算法题:给定N个整数对,求整数对能够构成的最长链,例如对于整数对 (a, b) 和 (c, d) ,如果满足 a<c,b >= c,则它们可以构成一条链,(a, b) 和 (c, d)构成的链的长度为d-a。

14.算法题:给定两个字符串,每次操作可以删除任意一个字符串中的任意一个字符,一共至少需要操作多少次,使得两个字符串一样。

15.认为依图科技是一家怎么样的公司。

16.实习中遇到了哪些难题,怎么解决的。

17.自己的优缺点。

18.毕业前能来公司实习吗。

19.手上有哪些offer,期望薪资。

20.有什么想问我的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值