滴滴二面(准备)

这两天一直在准备二面的东西,结合自己手里和网上搜集到的信息大概做一下如下的汇总
2. 红黑树和B+树有啥区别

红黑树结构的数据常常存在于主存中,主要用于快速查找。树的每个节点存储的数据量比较小,cpu通过与主存少量的交互就能获取树的全部数据,并快速的查找到所需数据。而B+树形式的数据常常存在于SSD或磁盘中,由于树的深度比较小(一般3~4),能够减少cpu于磁盘间的交互时间。

3. TCP三次握手四次挥手说下

8. java异常有哪些?从上往下说一下。

11. 64匹马8个赛道,选出前四名,最少多少轮?

手撕:abcd四个字母,返回所有长度大于等于2的字符串全排列

————————————————————————————————————

4. 线程池有哪些参数,分别是干什么的?

核心线程数、最大线程数、空闲线程存活时间、时间单位、线程池任务队列、创建线程的工厂、拒绝策略

5. 线程提交、回收、拒绝的过程是什么?

6. jvm内存模型讲一下

7. jvm调优策略聊一下

9. 如何在不加表锁的情况下解决幻读问题?

10. mybatis和JDBC有啥区别?

  • Mybatis是对JDBC的封装,
  1. sql写在xml里,便于统一管理和优化。
  2. 解除sql与程序代码的耦合

12. 你了解数据库里哪些日志?分别用来做什么?

  • 重做日志(redo log):在重启mysql服务的时候,根据redo log进行重做,保证事务的持久性
  • 回滚日志(undo log):保存了事务发生之前的数据的一个版本,可以用来回滚
  • 二进制日志(binary log):主从复制
  • 中继日志(relay log):主从复制

3. 聊聊垃圾收集?怎么实现的,有哪些收集器和算法。。。

  • 标记清除、标记整理、标记复制算法
  • G1收集器、CMS收集器、Serial收集器、Parnew收集器

4. 一共1G数据,给你100M内存,怎么找到top10的数?

最小堆

手撕:给一个字符串指令(矢量噢),LR分别代表左拐右拐,输出指令结束时的坐标 eg:“L10R100R40L30L50”


二面开始: 自我介绍 研究生的研究方向,怎么做的这个课题(巴拉巴拉一堆)

没有问项目,没有问实习直接算法题

  1. 进程通信方式
  • 管道、消息队列、信号量、信号、共享内存、套接字
  1. MVCC多版本并发控制
  2. undoLog存在硬盘中还是内存中
  3. 为什么TCP建立连接是三次握手,断开是四次挥手

需要确定还有没传输完的数据

  1. Https和Http的区别

https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  1. 口述LRU算法
  1. 口述前序中序还原二叉树
  2. leecode 25 k个一组翻转链表

二面

  1. 递归实现阶乘
  2. 羊了个羊数据结构
  3. 贪吃蛇数据结构
  4. 二维地图两点求最短路径
  5. Mysql事务回滚方式
  6. 手写单例模式
  7. 进程线程区别
  8. 进程通信方式
  9. Https非对称加密过程
  10. 100m内存存储10000张图片中使用频次前十
  11. 身份证号数据存储方式
  12. 口述股票买卖最佳时机

滴滴二面:
2==和equals的区别?Integer a=100 Integer b=100

a==b true

a equals b?
3string buffer怎么实现线程安全的?

通过源代码的查看,你可以明显的看到是使用 synchronized 关键字来通过线程同步来实现线程安全的。


线程池满了,但是又不想让新加进去的线程被拒绝,怎么实现?
自己维护个队列存起来,当线程池能执行的时候再去执行(蒙的 完全没想法,本来以为是拒绝策略,但是拒绝策略好像没法解决)
7服务部署在多个服务器,但是只想让一个服务器响应请求,其他的接到请求但是不响应
8数据库事务 ACID 隔离级别 举例 (我觉得这块回答的可以,刚看过视频,mvcc介绍的挺好的)
9算法题:去除相邻相同字符
abccbe-->ae
我用的循环,循环2(重复几次就循环几次)次,ac了,但是面试完才下想到可以用栈。
其他就是自我介绍 读研做的东西的介绍 项目介绍(微信支付怎么做的?(不是我做的,但是我后来看了下。) 怎么获取用户权限的?(xxx这个回答的还可以)

作者:thinkingg
链接:https://www.nowcoder.com/discuss/1077191
来源:牛客网

不到50min

我自我介绍后说要不要详细介绍一下项目

他说好

我两个项目霹雳巴拉的说了3分钟 说的时候把难点都亮出来了(限流实现、缓存设计等等)吃了一面的亏,这次我是有bear而来

我说完以为他要怼项目了,结果:

他:嗯好,那你知道线程有几种创建方式吗?

分别是继承Thread类、实现Runnable接口、实现Callable接口。

1.对jvm垃圾回收的理解

2.redis数据结构

3.redis为什么这么快

4.mysql mvcc底层

5.线程安全如何实现

6.线程安全的容器

7.知道concurrentFuture底层实现吗

8.concurrentHashMap扩容

大概记得这么多

字节RTC日常实习一面:9月27日

  1. redis具体为什么以及怎么优化论坛项目中网站的性能?
  2. redis单实例还是多实例部署的?
  3. 有调研过多实例部署的方式吗?
  4. 多实例部署的优势?可以解决什么样的问题?(不会。面试官:IO密集型进行分散IO,内存的存储容量增加)
  5. 如何保证key到达的一个redis实例
  6. 敲下www.douyin.com中间发生什么?越详细越好
  7. 根域名服务器查的是哪个解析的结果?
  8. 顶级呢?
  9. TCP三次握手和状态变化?
  10. 第二次握手的状态转化可以再详细讲一下吗?
  11. http请求报文格式
  12. 常见的http头部有哪些?
  13. http缓存有了解过吗?
  14. 那你思考一下,缓存一个大的页面(很多年不会变),缓存时应该记录哪些信息呢?
  15. nginx可以提供什么样的功能有了解过吗?
  16. es倒排索引原理
  17. kafka生产消费模式
  18. 怎么确保消费被消费了可以丢弃掉?
  19. 说一下操作系统IO多路复用
  20. 说一下操作系统进程调度
  21. 跨专业考研怎么准备的
  22. 算法题:树的子结构

字节RTC日常实习二面:9月28日

  1. 进程有哪些状态
  2. 进程运行过程详细说?在操作系统中长什么样子?
  3. 内存分配算法
  4. malloc怎么实现的
  5. redis数据结构
  6. redis解决写热key的问题(热key读,热key写)
  7. key的过期机制
  8. mysql索引
  9. 索引底层的实现
  10. mysql实现分布式锁
  11. 会遇到的问题
  12. tcp过程三次握手四次挥手的状态
  13. 三次挥手可以吗?出现什么问题?
  14. http1.0和1.1区别?
  15. http2.0和1.1区别?
  16. http传输音视频数据可以吗?
  17. 视频聊天在应用层用的什么协议,传输层用的什么协议?
  18. udp为什么比tcp快?
  19. 算法题:松鼠捡松子(n个格子,每个格子有不同数量的松子,松鼠在第一个格子,每次可以向前跳3-5格,到了一个格子拿走松子,问跳出去后松鼠最少捡多少松子)
  20. 总结:问了里面工作的同学说二面凉了。算法题不会,折磨了四十分钟吧,八股环节结束就觉得没希望了。如果回答的很好的话,面试官也会在算法环节放水的,可惜当时情绪已经很沮丧了。二面好多问题不会,和我想象中的不一样。这也是我人生的第一次面试,不该投字节的,很后悔,基础不牢固。准备到的题我会,没准备的我不会,对于回答的问题继续问下去我也不会。后面也不知道咋办了,都不想进互联网了。

02-17 京东Go面经,日常实习
一面(40min)
go语言与其他语言有什么区别
panic,recover
GMP
channel有缓存,无缓存,读写关闭的channel等
接口与空接口,接口断言,空接口在运行时还是编译时确定类型
线程切换
Mysql范式,范式的作用
事务,事务的特性acid
幻读和脏读
Redis的zset用法
持久化
Redis的事务
有没有写过shell脚本--没有
go的map遍历与其他语言map遍历的区别
HTTP状态码,502,503,504
TCP和UDP,三次握手
如何解析POST请求,有没有用过网络抓包工具
算法相关
BFS和DFS做文件夹遍历
队列实现栈


一面9.16(45min)

1.进程和线程的区别

2.线程之间内存是共享的吗

3.进程之间、线程之间怎么进行交互

4.项目里线程之间的交互

5.进程间最高效的通信方式

6.共享内存和进程的地址空间的关系

7.代码题:1)K 个一组翻转链表,非递归和递归实现,如1->2->3->4->5->6->7->8->NULL,k=3,变为3->2->1->6->5->4->8->7->NULL

2)给定一个数组,判断可以积水的容量,如{ 5,2,1,4,3 } ,积水容量为5, 42. 接雨水


二面9.21(50min)

1.epoll的水平触发和边沿触发,项目里用的是哪种

2.实现带timeout的read接口, 原来的 ssize_t read(int fd, void * buf, size_t count) 改为ssize_t read(int fd, void * buf, size_t count, int timeout),可以调用原来的read函数(其实就是封装一下原来的read函数,一开始没理解面试官意思懵了很久)

3.c++11新特性哪些对你很实用,auto,lambda,std::move

std::string byte = "xxx"

auto s = byte

问auto是拷贝还是引用,会推导成什么类型

4.代码题:溢出问题,一个数组vector<int32_t>,整体和是不溢出的,但部分和会溢出,怎么求和


2022.09.20,15:00,45 min

  1. 项目的注册登录怎么实现?
  2. 单点登录怎么实现?
  3. Redis 怎么使用的?
  4. AOP 的作用?
  5. Redis 的数据类型
  6. Redis 中 String 怎么实现?
  7. MySQL 四种隔离级别
  8. InnoDB 的默认隔离级别
  9. 事务的 ACID 特性
  10. 数据库三大范式
  11. 用通俗的例子讲一下第二范式
  12. 项目中 Redis 部署在哪个地方?
  13. Redis 有几种集群方式?
  14. Java 集合
  15. Java 基本数据结构,占用的字节
  16. StringBuffer 和 StringBuilder 的区别?
  17. OSI 七层网络模型
  18. 分为五层呢?
  19. TCP 是哪一层的协议?
  20. TCP 和 UDP 的区别?
  21. TCP 怎么保证可靠传输?
  22. 用过什么 MQ?
  23. Spring 怎么解决循环依赖?
  24. Spring 的 AOP 是怎么实现的?
  25. 动态代理有哪几种?
  26. JDK、JRE、JVM(没想到会问这个问题,都忘光了)
  27. 项目用到了什么设计模式?

https://www.hicxy.com/8291.html

https://www.nowcoder.com/discuss/976905?type=2&order=0&pos=4&page=1

https://blog.csdn.net/haohulala/article/details/125376432

#java实习##日常实习##滴滴##滴滴实习#
全部评论
感谢分享啊,看着这么多问题,都有压力了
1 回复 分享
发布于 2022-10-17 12:42 山西
线程提交、回收、拒绝的过程是什么?
点赞 回复 分享
发布于 2022-10-27 09:04 四川
滴滴日常实习在哪投呀lz
点赞 回复 分享
发布于 2022-11-07 12:20 广东

相关推荐

14 93 评论
分享
牛客网
牛客企业服务