JAVA头条、百度面经

 

头条面经

一面(60分钟)

  1. Redis 里的有序列表底层实现
  2. Redis 集群、哨兵机制
  3. 消息中间件的选型问题,为什么要用 MQ
  4. Linux 中能否删除一个正在运行的文件
  5. Linux 常用的命令,如何排查 bug
  6. JVM 垃圾回收如何解决对象循环引用的问题,垃圾回收算法
  7. TCP 的四次挥手的详细过程,为什么会有 CLOSE_WAIT 和 TIME_WAIT
  8. 输入一个 url 并回车,这个过程中涉及到哪些网络协议,具体描述
  9. MySQL 索引一般会在什么情况下创建,讲讲存储引擎
  10. 说说 B 树和 B+ 树的区别,为什么 InnoDB 用的 B+ Tree 而不是 B Tree
  11. synchronized 和 Lock 的区别
  12. 进程如何同步,页面置换算法
  13. 三个编程题:题目记不起来了,涉及桶排序、层次遍历、动态规划

二面(60分钟)

  1. 实现一个阻塞队列(生产者消费者模型),编程
  2. wait/notify 机制,为啥要放在同步代码块中,判断条件为啥用 while 循环
  3. CMS 垃圾回收算法的流程,标记清除算法
  4. ConcurrentHashMap 的内部实现,JDK 1.7 与 1.8 有什么不同
  5. 找出10000个数据中第 k 大的数,描述具体过程并编程(bug free)
  6. 聚簇索引和非聚簇索引,为什么要用 B + Tree
  7. 一条 SQL 语句执行的流程,尽量说详细
  8. AOP 的实现原理,动态代理和静态代理的区别
  9. JVM 内存模型的结构
  10. 输入一个字符串,包含数字、加减乘除和括号,输出结果,编程(调试并运行成功)

三面(50分钟)

  1. 登录注册系统怎么做,应该注意什么
  2. 登录怎样校验密码,海量用户同时登录怎么优化
  3. Cookie 和 Session 的区别,怎样存海量 Session
  4. 分布式 Session 问题
  5. 显示网站的用户在线数的解决思路
  6. 一致性哈希
  7. 怎样解决 Redis 和数据库一致性问题
  8. Redis 集群、主从架构
  9. 分布式事务
  10. 给定一个数字 x,要求使用 k 个数字求和可以得到 x,数字从1-9中选择,不能重复。
    例如 k = 3, x = 9时输出:[[1,2,6], [1,3,5], [2,3,4]](刚开始结果重复,加了个 set 调试了两遍才写出来)

百度面经

一面(50分钟)

  1. 在线程 A 对 HashMap 进行迭代查询的时候,线程 B 对 HashMap 进行增删改会发生什么
  2. ConcurrentHashMap 的数据结构与 HashMap 有什么区别与联系
  3. Java 内存模型中哪一个区域不会发生 OOM 异常
  4. 类加载流程,越详细越好
  5. 为什么要有双亲委派,类加载器有哪些
  6. MVCC 是什么,简述 MySQL 的隔离机制
  7. MySQL 的锁机制
  8. Java API 中 NIO 和 BIO 的区别
  9. 消息中间件的好处,如何选型
  10. Redis 的 IO 模型;常用的数据结构;zset 的内部实现,为什么用跳表不用红黑树,跳表的空间复杂度
  11. AOP 的抽象属性之间的关系与联系
  12. 有什么要问的问题(问了面试官对我的评价:主观能动性较强,基础很好,表达能力强,中等偏上,但离 top student 还有一段距离,对某些地方理解的深度不够)

二面(40分钟)

  1. 介绍项目,秒杀平台如果想支持更大的并发量应该如何优化?如果把项目部署成多个服务,架构方面应该怎么做
  2. 数据库的 ACID,MySQL 底层是如何保证原子性的
  3. 设计一个实时监测 MySQL 的工具,可以监测每条 SQL 语句运行时间、事务的运行和数据库的连接信息等
  4. MySQL 的 binlog、redo log 和 undo log
  5. HTTP 和 HTTPS 的区别
  6. Redis 的主从架构、哨兵机制
  7. Redis 的持久化,RDB 和 AOF 的对比
  8. MQ 如何保证消息传输的可靠性
  9. 问了学校的研究方向、本科学习情况及获奖情况

三面(40分钟)

  1. 项目中的细节问题
  2. 对 Spring 的理解
  3. AOP 动态代理的实现
  4. 对并发的了解
  5. 场景设计题:实时更新街道的交通拥挤状况
  6. SQL 常见的优化手段
  7. 问了平时的学习方法以及三观问题

 

一面(36分钟)芝麻信用

1.hashmap和hashtable区别

2.为什么产生死锁

3.jvm类加载

4.java反射获取私有属性,改变值

5.反射用途

6.所用数据库

7.项目难点,问题

8.如何解决项目中遇到的问题

9.项目中遇到最自豪的地方

10.会什么算法

二面(44分钟)支付宝创新

1.讲项目

2.数据库乐观锁使用

3.状态机

4.如何解决状态机不对问题

5.如何分库分表

6.MySQL极限

7.HashMap源码

8.设计一个线程安全的HashMap

9.快排的实现,时间复杂度和空间复杂度

10.会什么算法

11.如何把项目变成SOA架构

12.Spring源码,最深刻的模块,aop用途

13.JVM内存模型

14.垃圾回收机制

15.项目中查看垃圾回收

三面(33分钟)菜鸟国际

1.项目中的权限管理

2.登录状态如何储存

3.session和cookie的区别,session如何管理

4.HashMap底层结构

5.synchronized关键字的用法

6.synchronized修饰类方法和普通方法的锁区别,获取类锁之后还能获取对象锁吗

7.类加载器的双亲委派模型的作用,能重复加载某个类吗

8.类加载器的类的缓存,key是什么

9.介绍Redis

10.如何将数据分布在不同的Redis

11.有了解过取余算法?

12.spring的apo实现

13.字节码结构

14.浏览器输入网址过程,结合springmvc

四面(36分钟)菜鸟国际供应链

1.HashMap在大量哈希冲突该怎么处理

2.红黑树比BST优点

3.MySQL为什么使用B+树

4.多个索引会有多份数据吗

5.数据库的隔离级别和解决的问题

6.数据库默认隔离级别,一定会产生幻读吗,怎么解决

7.输入网址到展示的整个过程,结合springmvc来讲

8.负载均衡的算法

9.哈弗曼编码,如何解决译码问题

10.实习会对工作有影响吗

11.用英文介绍一个项目

12.如何查看系统负载

13.描述一个解决问题的过程

14.如何把文件从服务器复制到本地,用什么命令

五面(27分钟)菜鸟技术部

1.当时怎么找到百度这个机会的

2.项目中用的哪些技术

3.项目如何设计流程流转,如果是你的话该怎么设计

4.MySQL使用的索引结构,查找效率

5.MySQL查询优化

6.MySQL慢查询开启,语句分析

7.HashMap查找效率

8.JVM内存模型

9.设计模式,策略模式的使用场景

10.如何确保单例线程安全

11.Spring的bean的默认范围

12.对Netty的了解

13.未来发展规划

14.如何让代码可读性更加复杂

六面(22分钟)HR面

1.说一下发展方向

2.说一下经验不足导致的问题

3.说一下挑战杯的工作内容

4.说一下你给挑战杯项目的主要贡献

5.实习时间

6.拿到了哪些offer,你是怎么考虑的

7.为什么不选择腾讯

8.腾讯技术栈和阿里技术栈的区别

腾讯

一面(支付)

1.jqc的介绍

2.如何确保多台机器不会重复消费

3.如何确保消费了反馈失效问题(用事务管理,先储存再消费,失败就回滚)

4.如何防止数据库单点问题

8.paxos算法

9.raft算法

10.spring的aop实现

11.三种操作,a:++,b:--,c:/2(只能偶数),求i变1的最少次数

12.人才培养(轮流尝试,提出任务,鼓励实现)

13.没有深度的广度没有意义,由广变宅,由浅入深

14.设计时需要经验但堤防经验主义

15.百度技术氛围比腾讯好

二面

1.手写多线程买票代码

2.手写ServerSocket使用代码

3.java有多少种线程池,固定线程池是怎样的

4.Collection的子接口

5.Map的接口,HashMap应用场景

6.Queue的父接口,使用场景

7.数据库主从复制配置

8.Spring的IOC优点,解决了什么问题(解耦)

9.Bean的生命周期

10.Bean的范围,gobal session的作用

11.手写SpringMVC流程

12.如何平衡生活和工作

13.职业发展规划

14.为何不考研

15.redirect和forward区别

16.大学中最大的挑战

17.加密算法

HR面

1.喜欢做什么

2.喜欢看什么电影,带着什么心态去看

3.会再回百度吗

4.还有什么面试

5.腾讯阿里选什么,为什么选腾讯

6.是否独生

7.家里人希望做什么

今日头条

抖音一面

1.手撕LFU,要求get和put都为O(1)

2.在一个环状的城市,小偷可以选择偷或者不偷任意一家,但被偷的房子不能相连,求最大价值

效率工程一面

1.储水题

2.如何找项目性能瓶颈

3.有多少种类型的缓存,从客户端到服务端

4.如何查看系统性能,性能指标

5.redis数据类型

6.redis的aof太大如何优化

7.mysql的主从复制

8.mysql的引擎,区别

9.https的建立链接过程

10.https的传输数据是否是对称加密

11.tcp拥塞控制

12.epoll和select

13.nginx如何处理连接

14.nginx如何做性能优化

15.apache和nginx区别

16.两支不均匀香,测出15分钟

效率工程二面

1.手写LRU

2.查看系统负载

3.进程通信方法

4.管道如何使用

5.socket建立过程

6.如何高效处理socket

7.NIO的原理和,连接切换方式

8.使用什么命令查看系统负载,第一行是什么

9.一个表user_id,order_date,要查用户订单,某一天订单,某个用户某天订单,如何建索引

10.复合索引的结构

11.redis的常用数据结构

12.zset的底层数据结构,跳跃表如何实现

13.redis如何持久化RDB

效率工程HR面

1.怎么找到百度实习和第一份实习

2.如何处理学业和实习

3.讲一下项目中沟通协作的过程

4.如何你是owner你是怎么设计这个项目

5.拿到了什么offer,如何考虑

蘑菇街

一面

1.凤聆的权限管理如何设计

2.如何将9s提升到0.3s

3.用没有了解过其他搜索框架例如solr

4.有了解过协程吗?轻在哪

5.jvm查看gc命令

6.如何解决jvm的问题

7.mysql in,not in,like走不走索引

8.开发环境,开发IDE

9.使用什么命令查看cpu和内存情况

10.如何查看进程的线程情况top -H -p

11.秒杀场景设计

12.秒杀时如果机器资源有限怎么办

13.可以保证实习时间

14.对自己未来的规划

二面(小程序部门)

1.父母对来杭州有没有意见

2.会考虑转正吗

3.老师或者同学会怎么评价,如何体现技术比较强

4.大学中最自豪的一件事

5.项目中解决的一个问题

6.Nginx超时怎么办

7.mysql索引相关

8.%匹配实现原理

9.获取www.baidu.com最后一个点的内容"com"最优方法,为何,时间复杂度,如何实现

HR面

1.深层介绍自己

2.对你影响比较深的一个人

3.想成为怎样的人

4.最有成就感的事

5.最近的挫折

6.怎么发现瓶颈

7.学校和工作环境有什么不同

8.周围同学比较,有什么优势

京东

一面

1.快排原理

2.HashMap底层结构

3.ConcurrentHashMap线程安全原理

4.类加载机制

5.左连接和右连接区别

6.tcp建立连接的方式

7.close wait和time wait在什么情况下出现

8.http组成

9.http头部,keepalive的意义

10.https流程

11.如何确保密钥安全,是否非对称加密

12.线程池的实现原理

二面

1.在百度学习到什么

2.对java的了解哪些方面

3.还了解过其他语言吗,不同语言只是不同偏好

4.aqs的具体实现

5.并发包用到那些

HR面

1.在百度学习到什么

2.为什么从百度离职

3.有什么优点和缺点

4.遇到问题是偏向解决问题,还是抱怨问题

5.能实习多久

网易邮箱

一面

1.java公司

2.dfs和bfs实现原理和应用场景

3.ArrayList的底层实现

4.Elastisearch的索引如何储存

5.JVM内存模型

6.java堆分代,对象分配

7.在项目中遇到什么问题,如和解决

8.对自己这个项目打几分,为何转项目

9.HashMao底层实现,介绍红黑树

10.String a="abc" String b="a"+"bc" a==b?

11.遇到紧急的需求该如何完成

12.手写ArrayList添加11个元素

13.n个0~9的数,找和为7的数对

14.MySQL的引擎,所使用索引的结构

15.B树和B+树的区别

16.代码优化地方

17.平时看什么论坛

18.自研JQC的实现原理,和kafka的区别

19.抢红包实现

20.如何传输密码(非对称加密,https)

21.https的证书在哪颁发

终面(HR+主管)

1.如何找到两个实习

2.学校允许实习吗

3.项目中的挑战

4.通过学习解决的最大一个困难

5.如何处理项目,学习,实习的时间

6.为什么离职百度

7.为什么得不到上司的信任,当时有更好的选择吗

网易游戏

1.如何保证项目扩展性,依赖问题

2.消息队列同时消费问题

3.进程的通讯方式?哪种最高效

4.本机socket需要经过协议栈解包吗

5.linux文件管理,文件类型

6.一致性哈希实现

7.统计海量词频最高10个单词,所用的数据结构

8.强类型/弱类型和静态类型/动态类型

9.JVM类加载器

10.查看机器性能

11.查看cpu负载,一般为多少,过高怎么解决

12.机器性能是如何读取的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值