这是我校招中面过的信息量最大的一面,本来是一个小时,最后面完一个半小时,面试官最后反馈还不错。

  1. 自我介绍
  2. 设计模式有了解吗?如何理解“宁用组合,不用继承”,什么时候用组合,什么时候用继承,组合的表现形式是什么?
  3. 了解过泛型吗?类型擦除有知道吗?
  4. c++虚表有了解吗?c++不了解,但是了解 java的多态是通过虚函数表来实现的。虚函数表具体是什么样的?讲讲
  5. AOP有了解过吗?底层是怎么实现的?
  6. 动态代理是什么,静态代理是什么,有什么不一样的地方
  7. 红黑树有了解过吗?B树和B+树有了解过吗?如何理解“平衡二叉树用于内存,B树用于磁盘”,这句话有道理吗?

    B树用于磁盘,每次读取一页,操作系统的局部性原理+预读原理,IO效率比平衡二叉树要高。这句话是有道理的。
  8. 快速排序的思想,时间复杂度。
  9. 二分查找可以用链表实现吗?
  10. 希尔排序有了解吗?
  11. 动态规划是什么?斐波那契数列可以用动态规划来实现,那么二分查找也可以递归实现(子问题),那可以用动态规划来做吗?
  12. 蚁群算法有了解吗。。
  13. TCP/IP第三次握手,为什么要有第三次握手?面试官最后说:之所以加上第三次握手是,有效性,把以前的旧包消失掉。
  14. TCP/IP如何保证数据包的有序性?序列号
  15. TCP/IP说建立连接,这个“连接”是一个很抽象的东西,这个“连接”到底是什么东西?
  16. 有了解过操作系统的COW是什么?copy on write

    答:操作系统的不了解,JAVA容器的有一些了解。写时复制容器。
  17. 为什么要有写时复制这个容器?读不加锁,写复制,提高并发
  18. 进程和线程的区别?
  19. 有句话说“linux中进程和线程差不多”,怎么理解这句话?
  20. 进程通信的方式有哪些
  21. 全双工和半双工是什么
  22. 操作系统的内存屏障有了解过吗?我从volatile关键字来回答
  23. 操作系统的虚拟内存是什么?32位的操作系统的虚拟内存多大?虚拟内存除了可以让内存变大之外,还有什么作用?
  24. c++的内存对齐有了解过吗?为什么要有内存对齐这个操作?
  25. c++的高低位颠倒有了解过吗?
  26. c++ class 和struct有什么区别?struct可以代替class吗?
  27. linux网络的五种IO模型:同步和异步的区别、阻塞和非阻塞的区别
  28. epoll有了解过吗?什么是多路复用?为什么要有多路复用?
  29. spring 开发代码的时候部署在sevelet上,还是tomcat上?
  30. redis中有一个数据结构,叫跳表,有了解过吗?作用是什么?(我回答说是排序和查找),面试官又问了一遍说:确认有排序的功能吗?
  31. 第一道编程题:删除一个字符串中的某个元素。
  32. 第二道编程题 :如何让一个线程等待,直到另外一个线程执行完
  33. 如何让main线程等待,直到另外两个线程执行完再执行主线程?我回答说是JUC包下有一个countdownlatch,应该是回答对了。(下来看了一下,也可以用join来实现)
  34. 悲观锁和乐观锁的概念,各自的使用场景(读多写少,写多读少)
  35. 设计一个秒杀系统,应该用到悲观锁还是乐观锁?在面试官提示下说回答乐观锁。
  36. 有了解过幂等这个概念吗?

    答:在kafka中有了解过,消息只发送一次=at least once+幂等。有在这块用到,但是没有去具体的了解过这个概念。
  37. kafka如何保证消息的顺序消费?

    答:topic是分partation的,多个partation之间是没有办法保证有序的,但是一个partation内的消息是可以保证有序的,所以你可以把想要有序的消息放到一个partation中。
  38. c、c++、java、linux网络编程、操作系统,你的强项是什么?答:java。。。
  39. java中的block有了解过吗?。。。block不就是阻塞的概念嘛。。。面试官这么一说英文,没反应上来。。
  40. java GC的时候有一个逃逸分析,有了解过吗?
  41. 堆和栈到底有什么区别?可以只有堆,没有栈吗?(方法执行体栈帧是完全线程私有,如果在堆分配内存空间,需要加锁机制,太耗费时间)
  42. 虚拟机的内存空间除了堆和栈还有什么?
  43. java的一个线程占多少内存空间?说个大概

    答:首先创建线程时new Thread,所以线程这个对象是在堆中,Thread的run方法,栈帧是在栈中,然后线程如果有ThreadLocalMap的话,ThreadLocalMap也需要占一定的空间。
  44. ThreadLocal变量的作用是什么,其他线程能访问到某个线程的ThreadLocal变量吗?

【JAVA】校招面过的信息量最大的一面的更多相关文章

  1. 最新Java校招面试题及答案

    本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 ...

  2. 最新 奥买家java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.奥买家等10家互联网公司的校招Offer,因为某些自身原因最终选择了奥买家.6.7月主要是做系统复习.项目复盘.LeetCo ...

  3. 最新 北森java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.北森等10家互联网公司的校招Offer,因为某些自身原因最终选择了北森.6.7月主要是做系统复习.项目复盘.LeetCode ...

  4. 最新 物易云通java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.物易云通等10家互联网公司的校招Offer,因为某些自身原因最终选择了物易云通.6.7月主要是做系统复习.项目复盘.Leet ...

  5. 最新 梆梆安全java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.梆梆安全等10家互联网公司的校招Offer,因为某些自身原因最终选择了梆梆安全.6.7月主要是做系统复习.项目复盘.Leet ...

  6. 最新 淘友天下java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.淘友天下等10家互联网公司的校招Offer,因为某些自身原因最终选择了淘友天下.6.7月主要是做系统复习.项目复盘.Leet ...

  7. 最新 浩德钢圈java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.浩德钢圈等10家互联网公司的校招Offer,因为某些自身原因最终选择了浩德钢圈.6.7月主要是做系统复习.项目复盘.Leet ...

  8. 最新 识装java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 识装等10家互联网公司的校招Offer,因为某些自身原因最终选择了 识装.6.7月主要是做系统复习.项目复盘.LeetCo ...

  9. 最新 学霸君java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.学霸君等10家互联网公司的校招Offer,因为某些自身原因最终选择了学霸君.6.7月主要是做系统复习.项目复盘.LeetCo ...

随机推荐

  1. guzzlehttp中的坑之带子目录的域名

    1.问题: 线上开发环境配的是带子目录的域名,例如:https://aa.com/bb.使用nginx的location代理到项目的根目录.在代码中使用guzzlehttp访问这域名下的API时,一直 ...

  2. golang 三个点 '...' 的用法

    package main import "fmt" func main(){ fmt.Println("Hello, World!") aaa := []str ...

  3. cinder migrate基础内容-1

    一.卷迁移rest api接口 POST /v2/{project_id}/volumes/{volume_id}/action 迁移一个卷到特定的主机,在请求体中指定 os-migrate_volu ...

  4. shell 三剑客之 grep

    grep 的全称是 Globally search a Regular Expression and Print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹 ...

  5. ABP开发框架的技术点分析(1)

    ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架.ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型.ABP框架可以 ...

  6. Labview学习之路(八)如何让控件显示在修饰符的前面

    在Labview2017版本中,前面板选择修饰控件,会出现部分修饰控件会掩盖其他控件,情况如下: 我们右键点击和属性中都没有相关属性的改变,为什么是这样我也不清除: 上网查了一下,看到其他版本会有显示 ...

  7. Unity Plugins的使用方法

    一.为插件设置平台的方法 unity5之前,是通过把插件搞到对应目录进行区分平台的(比如在build target是ios平台时只把IOS目录的插件build进去),unity5之后提供了设置平台/c ...

  8. Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计

    自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...

  9. 线上环境去除console

    npm i -D babel-plugin-transform-remove-console babel.config.js // 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 c ...

  10. 跟着尚硅谷系统学习Docker-【day05】

    day05-20200717   p21.docker容器数据卷容器   就是活动硬盘上面挂载硬盘进行数据的传递.     [docker run -it --name dc01 fyr/centos ...