滴滴---2017校招---后台开发面经
来源:互联网 发布:刺客信条大革命1.5优化 编辑:程序博客网 时间:2024/05/13 16:55
滴滴—2017校招—后台开发面经
一面
- 自我介绍
- 算法:写个快排
- golang的协程介绍(线程模型,调度)
- c++虚函数的实现原理
- 在一间屋子里有100盏电灯,排成一行,依从左至右的顺序,编上号码:1、2、3、4、……99、100,每盏灯上有一个拉线开关,开始时,全部的灯都关着,有100个同学在门外排着队,第一个同学进屋把编号为1的倍数的所有电灯开关都拉一下(即把所有电灯开关都打开了),接着第二个同学进屋把所有编号是2的倍数的所有电灯开关拉一下(即把所有编号为偶数的电灯又关上了),第3个同学进屋把所有编号是3的倍数的电灯开关又拉了一下,如此下去,直到第100个同学进屋把100号电灯开关又拉了一下,这样做完以后,问有多少盏电灯还是亮着的?
- 五子棋AI的核心算法如何实现
- 设计算法 如何高效把订单派发给5km以内的司机
一些答案:
5:
考点:最大公约数与最小公倍数.专题:应用题.
分析:
本题的一个重要条件是最初时灯都是关着的,然后对每个编号分解质因数.
由于最初所有电灯是关着的,所以只有哪些拉了奇数次开关的电灯才是亮的,而每一盏电灯的拉线开关被拉了多少次取决于这盏灯的编号的数字有多少个不同的正约数,最后亮着的灯的编号只有为完全平方数.
所以,只有编号为1,4,9,16,25,36,49,64,81,100的电灯最后是亮着的.
点评:此题主要考查了数的奇偶性,得出最后亮着的灯的编号只有为完全平方数,从而解决问题.
6:
主要是将盘面定义成一个矩阵,然后定义规则(每种情况有不同的权重),在每次下棋的时候选择权重大的地方去下棋。
可参考:五子棋的核心算法
二面
- 自我介绍
- golang 定义一个RPC,100毫秒之后如果没有执行结束,一样要返回
- golang中两种类型的chan,有什么区别,分别用在什么场景下。
- c++虚函数
- c++内存结构
- 内存池的作用
- 内存池实现
- TCP和UDP的区别,https和http的区别,openssl的原理
- linux下用shell命令统计某个文件中的一些信息
一些答案:
7:
相关命令可以参考 几个shell脚本的面试题(一)
三面
- C++的多态
- core dump如何定位问题出现在哪里,什么问题会导致core dump?
- 线上的程序 core dump了,线下很难重现,如何找到问题出在哪里?
- golang一些知识
- golang和c++有什么区别,什么时候用golang,什么时候用C++
- 分布式环境下获取流数据中那个数据出现的次数最大
- 你觉得你的优点和缺点是什么
- 讲项目,遇到的最大的问题是什么
- golang中chan的作用是什么,为什么要用,使用它的好处。
一些答案:
2,3:
linux下core dump【总结】
coredump简介与coredump原因总结
造成程序coredump的原因很多,这里根据以往的经验总结一下:
- 内存访问越界
- 多线程程序使用了线程不安全的函数
- 多线程读写的数据未加锁保护
- 非法指针
- 堆栈溢出
阅读全文
0 0
- 滴滴---2017校招---后台开发面经
- 【秋招总结】360、滴滴、华为、阿里、携程、58、京东、美团等后台开发面经
- 滴滴春招实习-面经
- 2017滴滴校招编程
- 2017 滴滴校招编程
- Java面经(后台开发)校招准备资料汇总
- 滴滴打车校招
- 滴滴校招2018 XOR
- 滴滴2017校招算法工程师笔试题--吃饭问题
- 2017校招滴滴笔试编程题(深搜+剪枝)
- 2017滴滴校招 连续最大和(DP)
- 2017滴滴校招 末尾0的个数(数学知识)
- 互联网公司校招Java面试题总结及答案——乐视、滴滴、华为
- C++后台开发校招面试常见问题
- Android开发2017秋招总结+面经
- 滴滴出行2016校招编程题
- 滴滴校招笔试题及解析
- [滴滴校招] 连续最大和
- javaSE 成员变量与局部变量
- leetcode--136--Single Number
- Shell编程基础
- javascript之多态
- tcp协议,ip协议,http协议三者的关系,从发起一个http url例子来分析
- 滴滴---2017校招---后台开发面经
- STM32学习笔记之时钟分析(受启发有汲取之处)
- LeetCode #44
- C 语言学习笔记01:变量存储方式和存储类别
- 算法课程Leetcode作业第二周技术博客
- Java 内存管理机制,深入理解JVM
- 循环输入和输出二维字符数组
- Sublime Text3开发快捷键(Windows)
- TypeError: object() takes no parameters