剑指Offer——滴滴笔试题+知识点总结
文章目录
- 一、情景回顾
- 二、选择题
- 三、Linux链接
- 四、编程题
- 4.1 小青蛙走迷宫
- 4.2 末尾0的个数
- 五、简答题
- 六、Tomcat Server处理http请求的过程
一、情景回顾
时间: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 有区别。
- 若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。
- 由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性。
四、编程题
4.1 小青蛙走迷宫
这道题与之前所做的网易“地牢逃脱”题同属于迷宫问题,均需要使用递归+回溯法解决。而自己真的不会做…需要继续学习…这也给自己提了个醒,这些题并不是说做过了就做过了,不去总结这些知识点,收效甚微,也无法为之后的企业笔试有所准备。之前地牢逃脱的题目,自己就直接放过去了,可惜,可气,可悲,可怜…
4.2 末尾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
- 请求被发送到本机端口8080,被在那里侦听的
Coyote HTTP/1.1 Connector
获得;Connector
把该请求交给它所在的Service
的Engine
来处理,并等待来自Engine
的回应;Engine
获得请求localhost/wsota/wsota_index.jsp
,匹配它所拥有的所有虚拟主机Host
;Engine
匹配到名为localhost的Host
(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine
的默认主机);localhost Host
获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context;Host
匹配到路径为/wsota的Context
(如果匹配不到就把该请求交给路径名为""的Context去处理);- path="/wsota"的Context获得请求/wsota_index.jsp,在它的
mapping table
中寻找对应的servlet;Context
匹配到URL PATTERN
为*.jsp
的servlet
,对应于JspServlet类;- 构造
HttpServletRequest
对象和HttpServletResponse
对象,作为参数调用JspServlet
的doGet或doPost方法;Context
把执行完了之后的HttpServletResponse
对象返回给Host;- Host把
HttpServletResponse
对象返回给Engine;Engine
把HttpServletResponse
对象返回给Connector;Connector
把HttpServletResponse
对象返回给客户browser;
剑指Offer——滴滴笔试题+知识点总结相关推荐
- 剑指Offer——迅雷笔试题+知识点总结
剑指Offer--迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要 ...
- 剑指Offer——网易笔试题+知识点总结
一.Fibonacci package cn.edu.ujn.nk;import java.util.ArrayList; import java.util.Scanner;/*** 费波纳茨数* @ ...
- 二叉树代码 java面试题_《剑指offer》面试题39 二叉树的深度(java)
摘要: 今天翻到了<剑指offer>面试题39,题目二中的解法二是在函数的参数列表中通过指针的方式进行传值,而java是没有指针的,所以函数要进行改造.然而我翻了下别人的java版本(我就 ...
- 《剑指offer》面试题的Python实现
所属网站分类: 面试经典 > python 作者:gg 链接: http://www.pythonheidong.com/blog/article/464/ 来源:python黑洞网 www.p ...
- 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找
题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...
- 一道剑指offer经典面试题引发的思考
大家在拿到一道算法题的时候,都会思考些什么呢? 大家有没有想过,当有一位面试官追问你,这道题有没有什么问题,或者有没有什么更好的方法,你们的内心是怎样的呢? 可能你会瞪大了眼,一些盲目自信的同学可能会 ...
- java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...
输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...
- 《剑指Offer》面试题四(牛客网在线编程第一题):二维数组中的查找(Java实现)
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- python正则表达式面试_【剑指offer】面试题19. 正则表达式匹配
面试题19. 正则表达式匹配 请实现一个函数用来匹配包含'. '和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字 ...
最新文章
- 【SICP练习】94 练习2.67
- 转:Jbpm4.2 tomcat6 oracle9i安装过程
- python中减法运算函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?...
- 如何在Mac上更改“终端”窗口光标?
- 利用ISCSI存储技术构建IP存储网络(实战篇)
- 5.Http Server
- AI和大数据结合,智能运维平台助力流利说提升竞争力
- 计算机操作系统慕课版(汤小丹)--第一章课后题
- 尾矿库监测 GNSS北斗高精度定位终端机应用
- 微信小程序中使用阿里(iconfont)字体图标
- html5 聊天机器人,发挥你想象力,BotUI – 聊天机器人 JS 框架
- FPGA:vivado2018.1编程界面字体大小与颜色修改
- 最详细Python打包exe教程,并修改图标,只需30秒
- 【庄碰辉】物质与精神的对垒中选择
- 小米3刷android 6.0,安卓6.0版MIUI7曝光:小米3/小米4/小米Note将尝鲜
- Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
- 腾讯云、阿里云都“服”了,云容灾你还迟疑什么?
- RFID固定资产管理降低人工成本,实现智能化的管理-新导智能
- 效率神器----QuickLook
- cesium不支持4490的问题解决方案(超详细)
热门文章
- Unparseable date: xxxxxx
- 手把手教你做最实用的数据分析模板——帕累托法则
- 人工智能ai的有关专业术语_您需要知道的11个人工智能术语
- 【接箱子2.0】新手划过,dalao勿喷
- PCB板上的字母代表哪些元器件?一文看全!
- Python-OpenCV-PS油画滤镜效果
- css里dotted,CSS中dashed和dotted的区别有哪些
- 游戏主机转换器方案可适配土星/MD1/MD2/NGC/N64/SFC/SNES等主机
- Django + mysql + 微信 抢票之本地环境搭建
- 如何实现无线网卡上外网+有线上内网=同时上网