滴滴面经干货

不管是找实习还是找正式工作,问的问题大多都是相仿的,区别就在于找实习时候的面试会相对简单一点,但是面试问题基本都差不多。现在就说说滴滴的面试吧(共四面,3技术+1hr)。(公众号:coderTO)

参加过滴滴的笔试之后,焦急的等待面试通知。各位,笔试也不是好通过的,无论哪家,除了非互联网和一些小公司。笔试的难点不是你所已经掌握的java基础,算法基础,各种基础,真正拉开你和竞争者之间差距的是那两道左右的编程算法题还有智力题,智力题多做几遍也就那么回事,你需要做的就是掌握各种基础之后多把重点放在编程算法题。编程算法题难点有二,其一是这道题你到底会不会做,这一点也就是最难的,需要你真正的理解并且会做这道题。其二嘛稍微简单点,就是你得熟悉笔试网页的编辑器,main函数里面怎么写你得知道,答笔试题之前多看看考试须知,那些提示并非没有用处。

收到了滴滴的面试通知,心情很激动,因为这是我最中意的公司,没有之一。滴滴的一面二面都是视频面试。滴滴的一面是在一个周五下午三点,因为寝室没电,我选择去清咖啡(一间餐厅)接受面试,到了清咖啡,找个空位坐下,等待面试老师上线,等了四十分钟,面试开始。(说一下,视频面试需要等待的时间都很长,要有耐心)

礼仪部分省略,答题技巧省略,想要知道可以点击面试礼仪

一面问题:

1、线程和进程有什么区别?

答:线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储本地数据。更多详情请自行百度

2、如何在Java中实现线程?

答:一共有四种方式实现线程,最简单的有extends Thread ,implements Runnable,还有两种,实现Callable接口通过FutureTask包装器来创建Tread线程使用ExecutorService、Callable、Future实现有返回结果的线程。

你最少要知道三种吧,自己去百度下java线程实现方式,线程池啥的了解一下

在面试问我java怎么实现线程的时候,让我在编辑器上进行编程,主要考察你是否是纸上谈兵,是否会写代码。

线程的问题在面试的时候属于常考点,一定要平时多留意。

3、java多线程会有同步的问题,讲一下synchronized和lock的区别?

答:主要相同点是Lock能完成synchronized所实现的所有功能,主要不同点是Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。

synchronized的相关用法和概念一定要十分清楚,lock的使用多看看。

4、知道cookie么?讲一下(cookie是重要考点,一定要可以讲的超级清楚)

答:Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入JSESSIONID用于标记一个会话(session),这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。 答案地址点我!但是一个问题的答案要都看看不同博主写的,答案大体都相同,但是细节上会有偏差

5、听说过生产者消费者模式么?

答:这个设计模式常考,因为设计编码实现,本文奢求精简,请自己去百度,并且可以自行编码,点我下载大话设计模式

一面的问题大概就是这些,线程方面的问题,很重要!一共四面,每天持续更新!!!




全部评论
是滴滴的新锐计划不?
点赞 回复 分享
发布于 2017-04-24 16:34
请问楼主面的那个方向的?
点赞 回复 分享
发布于 2017-04-24 16:36
看到新锐计划以为能是安全方向。最后还是研发岗。 哈哈哈,帖主加油
点赞 回复 分享
发布于 2017-04-24 16:52
不错,谢谢分享
点赞 回复 分享
发布于 2017-04-24 20:12
支持更新....😏
点赞 回复 分享
发布于 2017-04-24 23:13
第二批还能投吗?
点赞 回复 分享
发布于 2017-04-24 23:59

相关推荐

10-19 22:56
已编辑
门头沟学院 Java
timeline一面:10.11二面:10.16本来滴滴是一天一二面直接结束的,可能前面的人拖时间了,二面等了一个小时后面hr打电话改时间了;一面:(35分钟)1. 项目实习拷打(15分钟,具体有点忘记了)2. 八股:(1)MySQL事务隔离级别,怎么实现的(MVCC)(2)Redis 性能高的原因(数据结构、IO多路复用),追问IO多路复用的原理(epoll讲了一下)(3) Redis集群模式(讲了相关配置,扩缩容),追问和主从区别(故障转移、负载均衡)(4)docker在实习中怎么用的(回答构建镜像到运行容器相关的指令),追问有没有什么优化的经历(无)(5)kafka和rabbitmq哪个熟悉(熟悉应用场景和用法,原理没怎么看),后续就没问了3. 手撕: 最常无重复子串4.反问:部门业务 一面完10分钟通知二面二面(30分钟)1. 实习项目拷打:只问了你觉得实习中最难的一个点是什么?怎么解决的?(大数据量导入流程优化,缓存、多线程、预加载、SQL优化),追问SQL优化(答怎么统计的,索引优化和join优化)2. 八股:(1)TCP/IP协议栈,追问网络层、传输层的作用(回答TCP加了端口实现进程间通信),追问那和应用层有什么区别?为什么要加个应用层(专注功能,TCP实现可靠传输)(2) Redis持久化方式(RDB,AOF),追问优缺点和应用场景(八股吟唱)3. 场景题:微博点赞系统怎么设计(回答了数据库表的设计、缓存设计),追问缓存过期时间怎么设置、一些大V的数据怎么缓存(回答了可以按时间统计定期入库),追问有用户取消关注了怎么办?(卒)4. 算法题:非零数字稳当的排到数组后面(之前没刷过,临时想了双指针思路对了,具体细节处问题没A出来)5. 聊天环节:(1)研究生一直在实习吗?现在还在实习吗?(2)你比较看重什么点(我回答了比较看重行业)当时情商真的不在线,应该顺坡下驴的6.反问环节:对于大模型的看法,后续业务会都重塑吗10.19查状态发现挂了,其实在预料中,场景题和算法题都没答好😭,最后情商还不在线
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-26 22:46
点赞 评论 收藏
分享
某核心部门一面(挂)聊的蛮好的,手撕的一个控制条件写错了一直没找到bug,挂掉了。。。实习遇到的最大挑战需求到上线经历多长时间聊了很多实习内容vue双向数据绑定原理?为什么vue3中要用proxy代替object.defineProperty?webpack的loader作用?css-loader和style-loader区别?git 合并分支?实现功能的时候忘记建分支了,把代码提交到master,没有推送到远程仓库,远程仓库不允许master push的,有什么办法提交到远程仓库吗?主题色彩的切换用postcss怎么实现的?在打包的时候就可以切换过来吗?还是在运行的时候就可以切换过来?flex布局,基本布局方式?http协议组成?包含哪些部分?(请求头,请求体)事件循环输出题最长无重复子串反问的时候面试官说我知识点掌握很全面被某部门捞起来面一面问实习项目的业务形态,聊了很久实习低代码实现具体说说联动效果如何实现自定义事件的扩展分包拆包如何做的?开箱即用还是配置呢?为什么使用拆包分包?性能优化机制?实际用到项目中的优化手段?css,js加载和下载的时序?为什么要做组件库项目?课下学习哪些内容?读过哪些书等手撕lodash的get方法手撕将构造函数类转换成es6的类写法反问的时候面试官说我表述很清晰,结构化表达,十分钟后二面二面全程聊实习,感觉实习还是蛮多东西讲的奥象征性问了两个八股,网络模型和tcp udp到这我以为稳稳的。。。没想到手撕让我撕新手引导组件(我请问呢,这是短短几分钟就能写完的吗)???手写图片懒加载组件。。。用intersection observer实现好好好这么喜欢让人现场用没有代码提示的js环境写组件是吧。。。几分钟后挂
点赞 评论 收藏
分享
7 77 评论
分享
牛客网
牛客企业服务