首页 > 已入职滴滴暑期实习,还愿牛客
头像
人生啊,春天啊
编辑于 2021-07-03 23:01
+ 关注

已入职滴滴暑期实习,还愿牛客

C+开发实习生
1面

1)代码题:移除链表元素

2) 问项目,线程之间怎么通信。

二面:

1)手撕代码:大数减法,"123456789123456789123456789-1234567891456789"

2) 讲项目,epoll的优势

3)数据库索引的实现:B+树。

4)有哪些数据库引擎:InnoDB ,myisam,CSV,MEMORY,BLACKHOLE。

5)100个进程 同时执行update user set click = click + 1 where id = 1;会发生什么?

答:对于UPDATE、DELETE、INSERT语句,Innodb会自动给涉及的数据集加排他锁(X);对于普通SELECT语句,Innodb不会加任何锁。如果更改操作不是在索引上,那么加锁,就是加的表锁。

InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过再数据块中,对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,innoDB才使用行级锁,否则InnoDB将使用表锁,在实际开发中应当注意。


三面

1)代码题:大数乘法

2)项目

3)写sql语句,SELECT student,count(*) FROM table GROUP BY course ORDER BY desc;

4)map底层实现,红黑树的优势,map怎么实现线程安全

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐