回馈牛客,发一些面试中遇到的问题

这里仅列举一些本人在面试中发挥未到100%的题目,供大家排坑。欢迎评论区补充遇到的一些冷门问题。

Java基础

  • 为什么notify和wait方法必须在synchronized方法中使用?
  • finally方法一定会被执行么?
  • 抽象类能否跨包继承?
  • BIO用了哪些设计模式
  • Java四种引用的具体应用场景

JVM

  • 如何降低GC的概率
  • JVM在new对象时会不会发生抢占?如何设计堆内存分配的线程安全?
  • 讲讲STW、SafePoint和SafeRegion
  • FullGC触发的场景

集合

  • 使用HashMap的put()时,如何判断key是否已存在(默写源码中的if()判断语句)
  • Vector绝对线程安全么?
  • CLH队列如何实现非公平与公平?

多线程

  • CountDownLatch和CycleBarrier在使用场景上的区别(别说计数器不可重置这种没营养的)
  • Lock与Synchronized的区别(结合使用场景,要求有多少说多少)
  • 讲讲ThreadLocal引发的内存泄露(key弱引用)以及解决方案
  • 常量、成员变量以及字面量在JVM中的存储位置

缓存&消息队列

  • Redis的使用场景
  • MQ的使用场景
  • Redis与DB如何保持一致性(结合强一致性、弱一致性、缓存一致性回答)
  • MQ如何在不去重的前提下避免消息多次发送?
  • Redis的多路复用咋实现的(我不知道讲select、poll、epoll是否正确,没看过源码)

负载均衡

  • Nginx和Apache的具体区别(结合使用场景回答)
  • 对Nginx缓存的理解(静态资源)

分布式

  • 大型分布式Session共享的解决方案
  • 不利用分布式事务实现两个事务的一致性
  • 如何设计uuid使其满足唯一性、稳定性、高并发性
  • 如何实现单点登录

数据库

  • MySQL中索引如何组织?B+树的非叶子节点存储什么内容?
  • 数据库中联合查询涉及哪些关键字
  • 可以用uuid做主键么?
  • DB中的乐观锁和悲观锁怎么用?(这个我是真的没上手过,拒绝当sqlboys)
  • MySQL的双写机制
  • 讲讲事务的传播行为
  • 最左前缀是否支持范围查询
  • 讲讲你对DB连接池的理解(让你自己设计一个)
  • ssh时代的JDBC连接过程

网络

  • HTTPS握手机制(要结合非对称加密和对称加密)
  • TCP四次挥手时的两个状态Time_wait 和 Close_wait属于哪一方?在哪一次通信后进入对应的状态?
  • 如何实现UDP的可靠传输?

算法

  • 快排的极致优化
  • 冒泡排序的极致优化

Android

  • 四大组件、五大存储、六大布局
  • 对DataBinding的理解
  • 对EventBus的理解
  • RelativeLayout和LinearLayout的细致对比(从性能、绘制原理上分析)
  • 如何自定义Layout
  • IPC与Binder的理解
  • Activity启动过程(要求极细致)
  • Handler、Looper以及message
  • Fragement与Activity的关系
  • 讲讲ANR的原因以及解决方案
  • 讲讲你对Android动画的理解
  • Android应用从点图标到完全启动经历了什么?
  • view的measure过程
  • 如何优化页面卡顿
  • Android持久化方案

开放题

#Java工程师##面经##校招#
全部评论
大佬牛批
1 回复 分享
发布于 2019-11-11 16:45
牛批!
点赞 回复 分享
发布于 2019-11-11 17:02
大佬最后去了哪
点赞 回复 分享
发布于 2019-11-11 17:16
我遇到一个为何要设计双亲委派机制…当时懵了。
点赞 回复 分享
发布于 2019-11-12 13:48

相关推荐

头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
评论
4
83
分享
牛客网
牛客企业服务