滴滴后端/JAVA,一面二面面经

二面:50分钟(主要围绕项目展开)
记忆开始模糊....尽量想
先问了下是不是搞错了,怎么刚结束一面马上二面了。我迟到了1-2分钟。
1.自我介绍?我自我介绍有说本科自动化主要用了C语言,研一做过C助教,现在做实验室研究用的Python,自学JAVA找开发工作。
2.听你自我介绍,熟悉的语言还是比较多的,介绍一下他们的区别?主要讲了一下C有用到指针,当时学得比较辛苦,指针难理解。
3.既然你说到指针,你有没有碰到过这么一个异常,NullPointerException?我说确实有印象,我记得刷题的时候碰到过,好像是比如一个nums数组长度为5,我访问Nums[5]的话就会抛空指针异常。面试官说是的,然后问我知不知道指针具体是什么,我就回答是对象的地址嘛,问我知不知道在操作系统层面指针是个什么玩意儿(记不太清了),我就回答了一些堆、内存之类的,面试官给我大概说了一下,有点忘记了。
开始关于项目的了。
4.怎样保证Redis预减库存不会出错呢?我一开始以为是MySQL、Redis数据同步的问题,还讲了一下RabbitMQ的持久化,后来才反应过来问的是Redis持久化机制。
5.你简历上说到了解关系型数据库MySQL和非关系型数据库Redis,那你为什么选用Redis和MySQL来做这个项目?随便说了下,不太懂。。。就MySQL好建表来当库存嘛,用Redis的话,它是高效缓存,能不能处理高并发情况。
6.为什么Redis这么高效?虽然单线程,但主要操作在内存中完成,瓶颈不是CPU等等八股,还回答到 I/O 多路复用机制,能处理多个 Socket 请求。
后面的问题都拓展了项目的情景,我只能记起来个大概。
7.如果我现在有这么一个场景,有一个演唱会抢票,我有3个演唱会抢票场次,每场100张票,该怎样实现?凭感觉回答分批次将100张票来初始化到Redis。
8.你的意思是,串行化实现对吧,那如果我3个抢票场次是同一时间进行的呢?回答了用Redis的Pipeline来进行批处理并行执行。
9.那你在一个Redis中执行,怎样确定是哪个场次的呢,你是不同场次同时抢票的呀?想了一会儿,用票的ID来进行判断,1~100就第一场这样。面试官说,可以在KEY上加上场次的ID,后来感觉确实比票ID更简单。
好像就这么些项目问题了。。。
全部评论
一个nums数组长度为5,访问nums[5]的话 抛的是数组越界异常,面试官为啥还说对
4 回复 分享
发布于 2023-06-05 18:37 陕西
我也下午一面二面连着的 二面感觉凉了 题也没做出来
2 回复 分享
发布于 2023-06-05 17:44 安徽
老哥那个岗位
1 回复 分享
发布于 2023-06-05 18:25 河北
老哥做的啥java项目
1 回复 分享
发布于 2023-06-11 01:08 浙江
字数超了,后续在这。 10.平常刷不刷题,对数据结构、算法的了解?自学的数据结构,看课程的时候印象不深,刷题的时候用到各种数据类型才逐渐加深其理解,然后算法类型的话最有印象的还是回溯、树这种的算法题(是我最讨厌的2种类型)。 11.既然你说到了树,那就给你出道树的题吧,也挺简单的,不难。其实就是出了个层序遍历,一开始面试官描述的时候,我以为是锯齿形的层序遍历。回答的时候,他说给我3~5分钟想一下思路,我估计想了个2、3分钟,就跟面试官讲了下思路,然后面试官说他可能面试有问题,然后理解了就是正常的层序遍历。说完思路后就让我写代码,直接写主函数代码就行,不用运行(一面的快排有运行,哦对了,是赛马网的面试)。 12.问我如果发offer,什么时候能入职?尽量早呗。。。 反问阶段: 问了部门干啥的,他说不同部门里还分小组,主要看分到的小组是干嘛的,所以这个意义好像不是很大,主要做网约车的。 问实习最少多久,他说没有具体的,但是好像最少3个月。。
点赞 回复 分享
发布于 2023-06-05 17:05 福建
大佬有后续吗
点赞 回复 分享
发布于 2023-06-06 15:52 香港
是在北京吗
点赞 回复 分享
发布于 2023-06-06 20:52 广东
大佬项目是自己改的吗
点赞 回复 分享
发布于 2023-06-28 18:12 广东

相关推荐

03-16 21:51
河北大学 后端
结束后20分组约二面1. 自我介绍2. 专业都学了什么相关课程?3. 说一下你觉得 SpringBoot 是干什么的4. 如何使用springboot搭建一个程序?5. mapper service controller是springboot的吗?6. 为什么要拆成这三层?为什么是三层?7. 除了三层架构还有别的架构吗?8. 介绍mybatisPlus?9. 如果用mybatis查询需要写哪些文件?(xml或mapper层接口)10. 写在接口里的,没有实现类,该怎么调用?11. websocket在项目里是干什么的?12. websocket和http的区别?13. 写多线程代码,通过输出内容可以看出是多线程运行的。(写了一个出现并发问题的代码)14. 如何解决这个多线程问题?(加锁)15. reentranktlock相比另一个锁,为什么更灵活?(trylock,公平锁)16. 什么是公平锁?17. 从你学过的课程里面,你觉得如果要实现一个锁,最关键的是什么?(答保证操作的原子性)18. 原子性是什么?19. 获取锁的过程需要几步?(答要获取到锁,把互斥变量改为1)20. 什么叫获取到锁?(答用cas操作记录下获取锁的线程)21. 什么是cas?是干什么的?22. 结合上面这么一条链路,你觉得实现一个锁最关键步骤是哪个步骤?(答cas)23. java能实现多进程吗?24. 线程和进程的区别?25. 你刚刚说的,启动qq会启动一个进程吗?手撕1. 链表里倒数第k个元素(一次遍历)跟面试官说上午刚写过这个,讨论实现方式和时空复杂度2. 把数组转化成二叉树3. sql,先设计表再写sql(sql太不熟练了,才写了一般面试官说时间到了就没接着写,中间还问了关系表的“关系”是什么,数据库三范式)#牛客AI配图神器#
LYeT:感觉上来就问的比较偏?看牛客字节面经都不怎么问spring的,就一点也没准备,上来就红温
查看28道真题和解析
点赞 评论 收藏
分享
评论
10
68
分享

创作者周榜

更多
牛客网
牛客企业服务