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

  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. 第5章 JDBC/ODBC服务器

    第5章 JDBC/ODBC服务器 Spark SQL也提供JDBC连接支持,这对于让商业智能(BI)工具连接到Spark集群上以 及在多用户间共享一个集群的场景都非常有用.JDBC 服务器作为一个独立 ...

  2. openvswitch 监听端口变化

    命令: ovsdb-client monitor Interface name,ofport,external_ids --format=json 运行效果: [root@ostack1 ~]# ov ...

  3. Linux权限之/etc/passwd文件

    在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性.系统管理员经常会接触到这个文件的修改以完成对用户的管理工作.这个文件对所有用户都是可读的.但是L ...

  4. Alpha阶段项目复审(小菜鸡联盟)

    Alpha项目复审 小队:小菜鸡联盟 团队名称 项目名称 评价 排名 『S.L.N』 OnTime 优点:团队分工合理明确,每个成员有一定的开发经验,能用到自己较为熟悉的技术进行开发:在开发初期制定了 ...

  5. Kafka内部实现原理

    Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成.是由Apache软件基金会开 ...

  6. 【socket编程基础模板】

    网络编程的基础是基于socket编程.socket(TCP)编程基于固定编程模板 server端: socket(声明socket类型) bind(命令socket,绑定地址和端口) listen(创 ...

  7. Min Cost Climbing Stairs [746]

    Min Cost Climbing Stairs [746] 题目描述 简单来说就是:要跳过当前楼梯需要花费当前楼梯所代表的价值cost[i], 花费cost[i]之后,可以选择跳一阶或者两阶楼梯,以 ...

  8. JS - 对金额数字实现千分位格式化处理

    添加千分位处理: function fmoney(s, n) { n = n > 0 && n < = 20 ? n : 2; s = parseFloat((s + &q ...

  9. e3mall商城的归纳总结1之项目的架构

    首先来谈谈e3mall商城,e3mall商城是黑马推出一个学习的项目,前身是淘淘商城.两个用的技术差不多.,但由于后期加了一些新技术,更名为e3mall商城.本商城为分布式商城,主要用到的技术使mav ...

  10. android开发之java代码中字符串对比忽略大小写。java程序员必回,可用来比对验证码等问题

    比如:字符串a与字符串B对比,只需调用 a.equalsIgnoreCase(B);即可.很简单的一个方法.忽略大小写.