面试刷题10-16


面的CSIG下面的腾讯云,技术栈是Java,不过几乎不咋问Java。

一面(电话)(50分钟)

1. 算法题:六七道,都是剑指offer难度
2. 半小时项目介绍 & 问答
3. 分布式相关:rpc原理、微服务架构

4. 海量数据问题:套路题
5. 计网:传输层、网络层(必须要非常熟,ping的原理,tcp的三次握手、四次挥手、拥塞控制。UDP的不可靠、一对一、一对多)
6. 操作系统:虚拟内存、段式、页式、进程调度算法
7. 数据一致性: 分布式数据一致性、缓存数据一致性
8. Java相关:线程池、HashMap、CopyOnWriteArrayList
9. Redis相关:复制原理、持久化原理
10. 杂谈:最近看什么书,实习地点。

二面(牛客视频)(85分钟)

1. 算法题:最长不重复字串
2. 半小时钟项目介绍 & 问答
3. 操作系统:Linux的namespace(不会)、进程线程、线程通信方式、进程通信方式
4. 计算机网络:传输层和网络层
5. Java相关: 线程池
6. 数据库相关: 一条连表查询语句。数据库索引原理
7. 海量数据问题: 套路题

8. 杂谈:介绍了部门业务

三面(电话) (20分钟)

1. 应该是大老板面试了,问的都很哲学:技术背景、学习方法、项目介绍
2. 问了一些简单技术问题。主要考察逻辑表达和整体的素质。
2. 杂谈:介绍了部门业务

 

各部门简历面

1. volatile的底层如何实现,怎么就能保住可见性了?
2. 三个线程如何实现交替打印ABC

一把锁,三个条件变量,一个共享变量flag
3. 线程池有哪些创建方式和安全性问题
4. 有哪些线程池的类型
5. 线程池中LinkedBlockingQueue满了的话,线程会怎么样
6. 线程池的底层原理和实现方法
7. 线程之间的交互方式有哪些?有没有线程交互的封装类 (join)
8. 算法:堆排序、栈实现队列、反转链表
9. Java锁机制,都说一下~
10. 除了@ResponseBody,controller层如何标准返回给前端所要的数据类型?你会怎么实现?
11. 异常捕获处理
12. Spring MVC的原理和流程
13. HashMap和ConcurrentHashMap哪个效率更高?为什么?

HashMap
14. Redis的缓存淘汰策略有哪些?
15. Java内存模型说一下
16. mybatis如何进行类型转换
17. mybatis的xml有什么标签
18. MySQL锁机制
19. 如何修改linux的文件权限 chmoid 

20. jvm的回收算法
21. 你会怎么设计数据库表结构
22. 数据库有哪些索引?

23. 如何防止sql注入
24. 抽象类和接口有什么不同
25. myql间歇锁的实现原理
26. future的底层实现异步原理
27. SpringBoot Starter原理
28. rpc原理
29. 多个服务端上下线怎么感知
30. 缓存和数据一致性,怎么处理。流式计算
31. 多线程讲一下,FutureTask
32. Java和mysql的锁介绍,乐观锁和悲观锁
33. 分布式一致性讲一讲
34. 分布式锁的实现方式,zk实现和redis实现哪个比较好
35. 多点登陆怎么实现
36. 把乐观锁加在数据库上面,怎么实现
37. 项目介绍
38. 降级处理hystrix了解过么
39. 两次点击,怎么防止重复下订单
40. ioc原理详细讲讲,源码看过么
41. 静态代理和动态代理的区别
42. JUC说说你知道的东西                Java 并发
43. B+树的叶子节点


菜鸟

一面

1. Java内存模型
2. full gc怎么触发
3. gc算法
4. 高吞吐量的话用哪种gc算法
5. ConcurrentHashMap和HashMap
6. JDK8的stream的操作
7. volatile原理

8. 有参与过开源的项目
9. 项目介绍
10. 线程池原理,拒绝策略,核心线程数
11. 1亿个手机号码,判断重复
12. 是否有写过小工具
13. 单元测试介绍一下,多模块依赖怎么单元测试。Mockito

二面

1. 项目介绍
2. dubbo、netty介绍原理
3. 限流算法
4. zk挂了怎么办
5. 秒杀场景设计,应付突然的爆发流量
6. redis的热点key问题
7. redis的更新策略(先操作数据库还是先操作缓存)
8. 分布式数据一致性
9. 一致性哈希
10. 消息队列原理介绍(不太会)
11. full gc问题,怎么排查
12. jvm的回收策略
13. ClassLoader原理和应用
14. 注解的原理
15. 数据库原理,数据库中间件,索引优化
16. aop原理和应用
17. 大数据相关,MapReduce
18. 机器学习有了解么?
19. Java的新技术,以及技术最新进展
20. Docker的原理

三面

1、全程项目
2、讨论了一下数据库表设计

四面

1、项目介绍
2、分布式事务
3、Java三大特性
4、数据库表设计
5、RPC原理
6、netty原理
7、降级策略和降级框架

 


 

一面

1. 算法题:二分搜索相关
2. 概念题:解释 分布式、微服务、负载均衡、高可用
3. http是有状态还是无状态? TCP是有状态还是无状态?
4. 客户端禁用cookie怎么办? 你说的实现方式安全吗?
5. SSL,http和https,https是有状态还是无状态?
6. String为什么设计成final不可变? 是怎么实现不可变的?

线程完全,常量设计,保证线程安全
7. 自己能实现一个不可变的类吗?


8. equals 和 hashcode 为什么要一起重写?如果不重写hashcode会出现什么问题?
9. hashmap插入的时候,哈希冲突解决? 查找的时候,哈希冲突怎么解决?
10. hashset是怎么实现的? hashmap是怎么实现hashset的?


11. 多线程:并发和并行,原子类,CAS操作


12. mysql的索引:B+树底层实现?B树的底层实现?为什么要用B+树而不用B树?
13. 最左前缀匹配具体是怎么实现查找的?最左前缀匹配用了B+树的哪些特性?
14. (a,b,c)联合索引,为什么不能单用(b),而一定要用(a,b)?B+树是怎么实现的?


15. 什么是幻读,不可重复读?这些概念是在事务内还是事务外? 事务内
16. mysql怎么实现可重复读?设置了可重复读隔离级别底层是怎么实现的? (MVCC)
17. 了解MVCC吗?怎么实现的?什么是快照读?快照读能读取到最新的吗?快照读和当前读的区别?
18. synchronized和reentrentlock哪个效率高?

二面

1. 算法:实现一个缓存队列 ,二叉树的镜像
2. 进程和线程的区别?内存管理说一下你的了解。进程调度算法。
3. 为啥B+树最后叶子节点需要用链表相连接? 便于区间查找

4. TCP状态转换图,画一下。
5. 操作系统I/O模型了解吗?epoll模型了解吗?
6. CopyOnWriteArrayList的相关特性?
7. ArrayList遍历的时候能删除元素吗? 删除的时候会报什么异常?            

三面

1. 算法题: (1)树的节点最大距离(2)区间覆盖 例 [1 3] [2 5] [3 6]能否覆盖[2 6]
2. Linux相关命令。
3. 手写SQL,join

 

 

百度是去年找日常实习的面经,面了两个部门,整理了一下

信息中心

一面

  1. 算法:字符串反转 、 倒着打印链表(为什么用递归比用栈差?) 、 单例模式
  2. 线程start 、 run方法区别
  3. 可以不通过构造函数创建对象吗? object.clone() 反序列化
  4. volatile关键字
  5. Spring AOP原理(cglib 和 JDK的动态代理实现有什么区别?)
  6. 重写equals方法,为什么一定要重写hashcode方法?
  7. 字符串 == 比较。输出true还是false;
  8. 看了七八个程序,然后问输出什么?
  9. HashMap 能不能存储 null 能,放在第一个格子里?concurrentHashMap 能不能存储 null?
  10. 分布式系统设计:现在有一个方法,可以给10台服务器调用,如何统计一天内10台电脑调用的次数和?
  11. 分布式锁的设计:每天早上8:00输出前一天的业务报表发到老板邮箱。如果现在有10台服务器,如果设计这个定时任务?
    法1:分布式锁。法2:通过外部发来一个http请求,传给ngnix,通过ngnix自动进行分配到某一台服务器上。

二面

  1. 你对哪方面知识比较自信?
  2. HashMap初始容量多少?(16)为啥要设计初始为16?如果传入容量10会怎么样?(还是会构建16容量的);
  3. 知道什么异常?(说几个)
  4. http的状态码说几个。403是什么状态?
  5. String有什么方法?
  6. list,set集合在iterator输出的时候能删去值吗?
  7. SimpleDateFormat是线程安全的吗?
  8. 手写左连接。
  9. 聚合函数有哪些?

三面

  1. 算法题:数组A和数组B,求 A并B - A交B;(说了几种,好像不满意不是最优解)
  2. 算法题:矩阵搜索(说完之后问优化,没想到,提示二分搜索);
  3. SSM的运作流程,说说你做的项目难点。
  4. GET POST请求,url里面的参数
  5. 说说索引,如果对每一列都建索引有什么不好?
  6. 白盒测试、黑盒测试
  7. Linux会吗?

凤巢

一面

  1. 算法题:手写堆排序
  2. Spring IOC原理 AOP原理,如何利用AOP实现日志,写过吗?
  3. Spring bean创建的方法 注解 @Service xml配置 @bean
  4. Java反射原理?
  5. SpringBoot 里面 @bean 解释一下
  6. Java内存模型和运行时数据区
  7. Spring 中事务@Tranctional,出现异常回滚是怎么实现的
  8. 数据库MVCC原理
  9. 乐观锁和悲观锁概念
  10. 悲观锁的实际例子。 select * from table for update ...
  11. 乐观锁实际上有没有加锁?
  12. 用两个线程去操作数据库,乐观锁具体是什么实现的?演示一遍,画一画
  13. 数据库常用存储引擎,区别,锁范围。
  14. 写过单纯的非web项目的 Spring工程, 用main实现的吗?例子。
  15. SSM 三层技术架构的总体流程
  16. @component @service @controller 三个区别
  17. mybatis中 # 和 $ 的区别?哪个会出现SQL注入?
  18. JVM 新生代,老年代。survival是不是在任意时刻都只有一块有对象?
  19. JVM 垃圾收集器了解哪些?

二面

  1. 算法题: 实现一个四则运算计算器(两个栈 + 优先级) , 冒泡排序
  2. 输入一个网站的全过程。从计算机网络到服务器内部技术实现流程。
  3. 日常怎么学习。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值