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

这里仅列举一些本人在面试中发挥未到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-12 13:48
大佬最后去了哪
点赞 回复 分享
发布于 2019-11-11 17:16
牛批!
点赞 回复 分享
发布于 2019-11-11 17:02

相关推荐

不愿透露姓名的神秘牛友
03-09 15:56
Q1 自我介绍Q2 读研的项目详情,问了这个项目需要什么数据Q3 学校项目与工程开发区别Q4 对“测试开发”的理解Q5 本科非科班,是数学专业优劣势Q6 是否有团队做项目的经历,反思分工不合理导致流程阻塞,提出分工上和流程上的改进方案Q7 代码题:给定一个日志文件,请解析出所有等级为"ERROR"的日志,统计对应方法名出现的次数,并按次数降序排列WARN 2024-11-16 12:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-16 12:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.Error 2024-11-27 12:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.WARN 2024-11-27 12:01:10 DROP_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-21 12:01:10 DROP_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-27 12:01:10 DROP_TABLEERROR 2024-11-27 12:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-27 00:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-20 00:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.ERROR 2024-11-27 20:01:10 DROP_TABLEERROR 2024-11-26 23:01:10 CREATE_TABLE Can't find the location hfs://nsx/user/mart_x/x/test1.楼主真是太菜了,当时没注意到要toLowerCase()。调用Scanner也没经验,nextLine()输入完阻塞等待了。是自己手动在控制台输入之后,多加一行自定义的终止符吗(例如"####")。牛客上的题都是先给定输入行数n,以前还真没注意到这个点。Q8 用AI辅助测试怎么提效Q9 实习时间Q10 反问环节这个面试感觉问的不是技术,也不是系统设计呢。估计跟我简历后端调剂到测开有关,测开的具体技术没有问。要挂了
点赞 评论 收藏
分享
评论
4
84
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务