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

这里仅列举一些本人在面试中发挥未到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-17 19:59
已编辑
东南大学 C++
1.你先简单介绍一下自己。2.你去年大二的时候就去字节跳动实习了吗?3.你现在面的是后端岗位,可以接受转别的语言吗?4.你觉得自己比较熟悉哪一块技术?实习项目5.你在字节做的是个什么项目?是客户端相关的吗?6.你大概介绍一下你做的这个项目。7.你们是提供一个 SDK 给各个业务接入,对吧?8.你说一下你们这个业务整体流程和业务价值。9.你们这套特征处理能力,在业务上到底是怎么用的?10.这个特征只是用于模型训练,还是用户实时请求时也会使用?11.你说的这套逻辑,具体发生在客户端、端上算法包,还是后台服务上?12.你们提取完特征之后,数据放在哪里?本地、云端,还是两边都有?13.你知道提取出来的数据长什么样子吗?包含哪些字段?14.你们有哪些特征?这些特征是怎么分类的?15.如果现在要提取某一个特征,从提取开始到使用结束,完整链路是怎样的?16.数据上传到云端之后会做什么处理?17.本地的数据怎么管理?有没有过期机制?怎么淘汰?18.这个特征的量级有多大?端上的特征规模大概是多少?19.存了特征之后,是端上的 SDK 自己调,还是会上传到后台 / 中台再调?20.你们现在到底是哪种模式?21.在推荐场景里,会不会把这些特征带上?22.如果一个业务场景只需要一部分特征,它怎么知道应该提哪些特征?23.哪些特征需要上报到后台?这个是怎么判定的?24.上报失败了怎么办?25.你这块性能有测过吗?大概情况怎么样?26.会不会随着特征数量增加,性能明显下降?27.你们性能损耗最大的点在哪里?28.你负责的“设备特征读取性能优化”具体做了哪些事情?29.你说的缓存特征优化,本质上是在优化什么?30.你说的高中低频分层缓存,为什么能解决问题?31.你这个方案优化的是缓存更新机制,还是读取性能,还是两者都有?32.第一个版本完全没缓存时,耗时情况是怎样的?33.加了缓存之后,耗时情况怎样?34.你加缓存之后到底优化了多少?模块级收益是多少?整体收益是多少?35.这些对比数据是怎么拿到的?是你自己手机上的数据,还是灰度 / 全网数据?36.你这个埋点埋在哪里?是不是调用开始和调用结束?监控的是耗时指标吗?37.你这个缓存存多久?38.缓存怎么淘汰?39.缓存有没有容量限制?40.你有没有考虑过缓存被写爆、被异常流量打满的情况?41.你的方案有没有考虑边界情况和风险,比如新增特征、异常高频访问、缓存失控这些?42.你们做这个缓存 / 聚合优化时,有没有细粒度指标去验证方案是否真的有效?43.你们做聚合查询的时候,有没有考虑对调用方耗时的影响?44.你的优化指标为什么模块收益和整体收益差别这么大?45.如果以后别人改坏了这套缓存逻辑,你们现在的监控能发现吗?46.你在字节实习时做的 SQL 签名化和 UNION ALL 合并查询,是在解决什么问题?47.这个优化的思路是什么?48.这样做为什么能减少开销?49.把查询聚合后再在应用层分发,会不会引入新的耗时问题?八股50.你们之前做的 SDK 是用 C++ 开发的,对不对?51.你在学校里主要也是用 C++ 吗?52.你能接受从 C++ 转到 Go / 后端开发吗?53.你对 C++ 当前的内存管理机制了解多少?54.C++ 有垃圾回收器吗?55.C++ 是怎么做内存分配管理的?56.当程序不断申请不同大小的内存时,内存管理器怎么尽量满足这些申请?57.你比较熟悉 MySQL,是吗?58.你了解 MySQL 的索引吗?59.MySQL 的索引为什么能加速查询?60.索引本身存在哪里?61.读到索引之后,怎么定位到磁盘上的实际数据?62.TCP 的慢启动和快恢复是为了解决什么问题?63.TCP 的四次挥手流程是怎么样的?64.HTTPS 的连接建立过程你了解吗?65.HTTPS 的密钥是怎么协商出来的?66.为什么协商阶段和真正传输阶段使用的加密方式不一样?67.Redis 你用过哪些数据结构?68.你们去年写这个 C++ SDK 的时候,开发流程里有用 AI 辅助吗?69.你写的这部分代码里,AI 辅助占多少?70.你和 AI 在协作过程中怎么分工?71.单测是你们自己写的,还是 AI 写的?72.你之前参加过 ACM 吗?算法题链表找环的入口面了一个多小时,问了大半的实习内容。业务是qq的游戏中心后端,用的golang,面试官比较和蔼,但喜欢追问,整体答得也一般,后端知识没怎么复习(恶补)。第二天居然约二面了,本来已经做好复活赛的准备了
仁狂躁使者:72个问题啊佬,太夸张了
点赞 评论 收藏
分享
评论
4
84
分享

创作者周榜

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