今日头条3面,被泄露的Java最新面试题
一、面试第 1 轮
1. linux 网络模型
2. b+树
3. 阻塞队列
4. redis 和 MongoDB 的区别。几个概念对比,还有底层实现。
5. 算法题: merge k sorted list,时间复杂度如何?
6. HashMap 如果一直 put 元素会怎么样?hashcode 全都相同如何?equals 方法都相同
如何?
7. ApplicationContext 的初始化过程?初始化过程中发现循环依赖 Spring 是如何处理的。
8. GC 用什么收集器?收集的过程如何?哪些部分可以作为 GC Root?
9. Volatile 关键字,指令重排序有什么意义?
10.synchronied 怎么用?
11.并发包里的原子类有哪些,怎么实现?cas 在 CPU 级别用什么指令实现的?
12.Redis 数据结构有哪些?如何实现 sorted set?这种数据结构在极端情况下可能有什么
问题?二叉平衡树?
13.系统设计题:一个推送场景,50 条内容,定时推送,先推 5%用户,一段时间后再找出
效果最好的几条,推给所有用户。设计相关库表,系统模块, 需要可以落地,有伪代码
14.MySql 索引是什么数据结构?B tree 有什么特点?优点是什么?
15.慢查询怎么优化?
16.项目:cache 设计,MQ 丢失消息,RPC 使用场景。各部分职责,有哪些优化点。
17.ThreadLocal 使用场景
18.Redis 回收和备份
19.项目设计问题——主要是针对项目找漏洞,然后给出优化方案
20.遇到的坑,怎么解决,后续总结。
二、面试第 2 轮
1. 那些问题对你挑战最大?
2. JDK 1.8 ConcurrentHashMap 做过什么改进?HashMap 死锁?
3. 标记的时候怎么找出栈上的 GC Root?说出一种可能的方案,存在什么问题?
4. 字节码有了解过吗?
5. 本地缓存怎么优化空间?(提出 BitMap)BitMap 可行吗?怎么验证可行性?如果不
可行,怎么证伪?
6. 其他语言有了解过吗?Scala 的集合有什么特性?python 有什么高级特性?
7. 怎么学习新技术?哪些是基础技术?
8. 在部门中是什么角色定位?
9. JDK 1.8 比前一个版本有哪些改进?
10. ParNew 收集过程,如何调优 ParNew?如何减少 full gc?调大 YoungGen 有什么好处
坏处?
11. OpenAPI
12. 平衡二叉树13. 业务逻辑
14. MySQL
15. 服务设计题
16. web 架构设计
17. Pack
18. http 协议
19. 爬虫
20. Java Agent
21. Zookeeper
22. LoadBalance
23. 分布式 ID
24. Nginx
25. Cookie
26. Session
27. GC
28. 手写 LRU 缓存
29. 将现有线性存储结构改成环形结构
30. Redis IO 模型
31. MQ 架构对比
32. 各种缓存 memcache,MongoDB,EhCache,Guava,Caffeine 等等,使用场景
33. 数据库乐观锁悲观锁。在 JDK 和其他中间件的体现。
34. 线程池,核心参数,扩容原理,使用注意点
35. 数据库主从同步,延迟
36. 数据库和缓存一致性问题,出现的场景,解决方案
37. Spring IOC AOP
38. 一致性哈希算法
39. RPC 服务发现与注册
40. 服务提供方不稳定,频繁变动如何提升自身稳定性
三、面试第 3 轮—HR
1. 离职原因
2. 学习习惯
3. 兴趣爱好
4. 为什么选择本公司
5. 本人的优缺点
6. 唠家常
四、总结
主要看技术能力,沟通能力和态度(不会就是不会,不要说百度就知道)。
------------------------推荐阅读------------------------
2019年JVM最新面试题,必须收藏它
最全面的阿里多线程面试题,你能回答几个?
Java面试题:Java中的集合及其继承关系
花了近十年的时间,整理出史上最全面Java面试题
今日头条3面,被泄露的Java最新面试题的更多相关文章
- Java基础学习总结(73)——Java最新面试题汇总
1.super()与this()的区别? this():当前类的对象,super父类对象. super():在子类访问父类的成员和行为,必须受类继承规则的约束 而this他代表当前对象,当然所有的资源 ...
- Java最新面试题
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 今日头条移动app广告激活数据API对接完整Java代码实现供大家参考》》》项目随记
这是自毕业后的第一篇博客,希望自己今后能养成写博客的一个好习惯.最近公司为了加速APP推广,采取在外部平台(如:今日头条)进行广告投放的方式,进行用户引流.因此我们需要对广告的激活数据进行一个检测,跟 ...
- 剑指Offer——完美+今日头条笔试题+知识点总结
剑指Offer--完美+今日头条笔试题+知识点总结 情景回顾 时间:2016.9.28 16:00-18:00 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:完美世界笔试 ...
- [Android] Android 类似今日头条顶部的TabLayout 滑动标签栏 效果
APP市场中大多数新闻App都有导航菜单,导航菜单是一组标签的集合,在新闻客户端中,每个标签标示一个新闻类别,对应下面ViewPager控件的一个分页面,今日头条, 网易新闻等. 本文主要讲的是用:T ...
- 今日头条面试题——LRU原理和Redis实现
很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU. 我的第一反应应该是内存不够的场景下,淘汰旧内容的策略.LRU ... Least R ...
- LRU原理和Redis实现——一个今日头条的面试题(转载)
很久前参加过今日头条的面试,遇到一个题,目前半部分是如何实现 LRU,后半部分是 Redis 中如何实现 LRU. 我的第一反应是操作系统课程里学过,应该是内存不够的场景下,淘汰旧内容的策略.LRU ...
- web前端整套面试题(二)--今日头条面试题
12道单选,7道不定项选择,2道编程题 一.单选(12题) 1.[单选题]在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件. A.<a href=”telnet:ming.zh ...
- 今日头条&58转转笔试
昨天参加今日头条和58转转的笔试,因为时间上有冲突,所以主要选择参加头条的笔试. 先说头条: 头条的题型: 一道改错题 三道编程题 一道设计题 感受: 做题目的的时候还是有点紧张的,因为突然遇到题目需 ...
随机推荐
- js获取手机唯一标识码
Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI.IMSI.型号.厂商等.通过plus.device获取设备信息管理对象. imei: 设备的国际移动设备身份码 imsi: 设备的 ...
- 【Android】基于A星寻路算法的简单迷宫应用
简介 基于[漫画算法-小灰的算法之旅]上的A星寻路算法,开发的一个Demo.目前实现后退.重新载入.路径提示.地图刷新等功能.没有做太多的性能优化,算是深化对A星寻路算法的理解. 界面预览: 初始化: ...
- haproxy动静分离的验证
线上出现过项目的静态文件被拦截,不能直接访问.所以想到了haproxy指向对应的url来访问静态文件,想到这里在网络搜索了下,确实有此功能.立即上测试环境验证下: 在listen中增加两行: #定 ...
- 接口是用get还是post,如何选择?
为了保证信息安全性,注册.登录等操作通常都会使用POST请求,GET请求一般用来获取信息 GET与POST的区别可以参考下方链接 https://www.cnblogs.com/hyddd/archi ...
- Badboy安装和简单介绍
参考链接:https://www.cnblogs.com/baoziluo/p/7907964.html
- lua 5 流程控制 if
条件判断中,0 表示 true,只有 nil 才是 false if(0) then -- 可以没有括号 print("0 为 true") elseif 1 then print ...
- LG4051/BZOJ1031 「JSOI2007」字符加密 后缀数组
问题描述 BZOJ1031 LG4051 题解 发现这是一个环,根据经验,破环为链,于是字符环变为了字符串 之后对这个复制之后的字符串求后缀数组. $len$代表原字符串长度,代表复制后的字符串长度 ...
- bolb与base64的图片互转
直接看图简单明了. 注:便于测试你可以自己用base64图片测试互转一下.这里base64图片太长了就不给予展示了,望理解
- 【CF464E】The Classic Problem(主席树+最短路)
点此看题面 大致题意: 给你一张无向图,每条边的边权为\(2^{x_i}\),求\(s\)到\(t\)的最短路. 最短路 最短路,首先考虑\(Dijkstra\).这里用\(SPFA\)似乎不太好,因 ...
- vue 路由跳转到本页面,ts 监听路由变化
@Watch('$route') routechange(to: any, from: any) { //参数不相等 if (to.query.name!=from.query.name) { //t ...