剑指Offer——滴滴笔试题+知识点总结
剑指Offer——滴滴笔试题+知识点总结
情景回顾
时间:2016.9.18 15:00-17:00
地点:山东省网络环境智能计算技术重点实验室
事件:滴滴笔试
总体来说,滴滴笔试内容体量不算多,主要分为19道选择题、1道多选题,2道编程题、1道简答题(也不简单)。
选择题
考查知识点:二叉树某层中节点个数(2i-1)、费波纳茨数列应用(上9级台阶的方法-分1步、2步)、Linux下文件软、硬链接。还有各种计算题(10个人握手,每个人都握一遍,总共握了多少次?12个黑球,个白球,数到13时取出为白球的取法;A,B打乒乓球五局三胜,A赢得概率为0.6,B赢的概率为0.4,A赢了前2局,问A最终获胜的概率…这些题目自己都是蒙的……)。
Linux链接
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
- 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.
- 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.
下面详细介绍一下硬链接和软连接之间的区别.
- 硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。
- 若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。
- 由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性.
编程题
小青蛙走迷宫
这道题与之前所做的网易“地牢逃脱”题同属于迷宫问题,均需要使用递归+回溯法解决。而自己真的不会做…..需要继续学习…..这也给自己提了个醒,这些题并不是说做过了就做过了,不去总结这些知识点,收效甚微,也无法为之后的企业笔试有所准备。之前地牢逃脱的题目,自己就直接放过去了,可惜,可气,可悲,可怜…..
末尾0的个数
实现计算末尾中0的个数,这道编程题之前以选择题的形式做过,好在自己深入研究了一下。这才很顺利的AC一道题目。但是按照之前的思路解决时,通过率为80%,参考别人的之后才全部通过。自己需要仔细查看一下自己的代码情况。
// 80%
/* int b = 5;
while(a > b){
cnt += a / b;
b *= 5;
}*/
while (a > 0)
{
cnt += a / 5;
a /= 5;
System.out.println(a);
}
以上为通过80%与AC的代码对比。部分不通过的示例为a=5时,上面的计算结果为0,显然计算错误。故循环条件应改为a >= b所以,在做编程题时应首先设计好测试案例,要设计完善的测试案例。包括边界值的测试案例(此例就是典型的边界值遗漏情况)。
简答题
这道简答题并不简单,考察的知识点涉及网络底层、服务器端、前端等一栈式知识点。自己只是大概的答了一下。还需要认真总结。
通过网上搜索之后发现这道题原来是百度的一道面试题。搜索内容百篇一律,结合自己的理解整理后详细讲解如下:
导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:
浏览器缓存–浏览器会缓存DNS记录一段时间。有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2分钟到30分钟不等)。
系统缓存–如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
路由器缓存–接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
ISP DNS 缓存–接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
递归搜索
在web服务器端收到请求后,通过读取配置文件中监听器的设置。
Tomcat Server处理一个http请求的过程
假设来自客户的请求为:
http://localhost:8080/wsota/wsota_index.jsp
1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host
4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为”“的Context去处理)
7) path=”/wsota”的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet
8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
10)Context把执行完了之后的HttpServletResponse对象返回给Host
11)Host把HttpServletResponse对象返回给Engine
12)Engine把HttpServletResponse对象返回给Connector
13)Connector把HttpServletResponse对象返回给客户browser
剑指Offer——滴滴笔试题+知识点总结的更多相关文章
- 剑指Offer——网易笔试题+知识点总结
剑指Offer--网易笔试题+知识点总结 Fibonacci package cn.edu.ujn.nk; import java.util.ArrayList; import java.util.S ...
- 剑指Offer——咪咕笔试题+知识点总结
剑指Offer--咪咕笔试题+知识点总结 情景回顾 时间:2016.10.09 15:00-16:30 地点:山东省网络环境智能计算技术重点实验室 事件:咪咕笔试 知识点总结 1.Html设置格式贵阳 ...
- 剑指Offer——迅雷笔试题+知识点总结
剑指Offer--迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要 ...
- 《剑指offer》面试题39 二叉树的深度(java)
摘要: 今天翻到了<剑指offer>面试题39,题目二中的解法二是在函数的参数列表中通过指针的方式进行传值,而java是没有指针的,所以函数要进行改造.然而我翻了下别人的java版本(我就 ...
- 【剑指Offer】面试题10- II. 青蛙跳台阶问题
题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返 ...
- 《剑指offer》面试题12:打印1到最大的n位数
面试题12:打印1到最大的n位数 剑指offer题目12,题目如下 输入数字n,按顺序打印出1到最大的n位十进制数,比如输入3,则打印出1,2,3一直到最大的三位数999 方法一 和面试题11< ...
- 《剑指offer》面试题11: 数值的整数次方
面试题11: 数值的整数次方 剑指offer面试题11,题目如下 实现函数double power(double base,int exponent),求base的exponent次方, 不得使用库 ...
- 《剑指Offer》- 面试题3
<剑指Offer——名企面试官精讲典型编程题> 面试题3: 二维数组元素从左到右.从上到下递增,输入一个二维数组和一个整数, 查找该整数. 自己的思路:有序条件下进行查找,当然最简单 ...
- 《剑指offer》面试题的Python实现
<剑指Offer>是很多程序员面试前要看的书,但里面的算法都是基于C++实现的,最近用了三周左右时间,用Python完成了里面几乎所有的算法题,由于时间以及个人水平均有限,或许会有部分问题 ...
随机推荐
- [Codeforces 864F]Cities Excursions
Description There are n cities in Berland. Some pairs of them are connected with m directed roads. O ...
- [SHOI2011]双倍回文
Description Input 输入分为两行,第一行为一个整数,表示字符串的长度,第二行有个连续的小写的英文字符,表示字符串的内容. Output 输出文件只有一行,即:输入数据中字符串的最长 ...
- [UOJ]#33. 【UR #2】树上GCD
题目大意:给定一棵有根树,边长均为1,对于每一个i,求树上有多少个点对,他们到lca距离的gcd是i.(n<=200,000) 做法:先容斥,求出gcd是i的倍数的点对,考虑长链剖分后从小到大合 ...
- 洛谷P3164 [CQOI2014]和谐矩阵
高斯消元,可以直接消的 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cst ...
- 二叉树的基本操作(含Huffman树)
大二时候写的烂代码,翻出来复习复习(o(╯□╰)o). 代码: #include <stdio.h> #include <stdlib.h> #define Max_Size ...
- PTA 社交网络图中结点的“重要性”计算(30 分)
7-12 社交网络图中结点的“重要性”计算(30 分) 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互 ...
- Modern Algebra 读书笔记
Modern Algebra 读书笔记 Introduction 本文是Introduction to Modern Algebra(David Joyce, Clark University)的读书 ...
- vscode 搭建go开发环境的13个插件的安装
由于网的问题 大家都不能直接go get 这里从易到难按难度给大家推荐几种方法 最简单的FQ 但是能FQ你还不能装 请问是假的FQ吗? 第一 用git 直接git反而能从那边趴下代码 但是要自己go ...
- logback 三
一.LoggerFactory.gerLogger()使用: private Logger vitalLogger= LoggerFactory.getLogger("vitalReques ...
- 40道Java初中级算法面试题
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数 ...