文章目录

  • 一、情景回顾
  • 二、选择题
  • 三、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命令产生硬链接。

  1. 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.
  2. 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.

下面详细介绍一下硬链接和软连接之间的区别。

  1. 硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识);而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 有区别。
  2. 若原文件删除了,则该软连接则不可以访问,而硬连接则是可以的。
  3. 由于符号链接的特性,导致其可以跨越磁盘分区,但硬链接不具备这个特性。

四、编程题

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查找过程如下:

  1. 浏览器缓存:浏览器会缓存DNS记录一段时间。有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存各自固定的一个时间(2分钟到30分钟不等)。

  2. 系统缓存:如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。

  3. 路由器缓存:接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。

  4. 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把该请求交给它所在的ServiceEngine来处理,并等待来自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*.jspservlet,对应于JspServlet类;
  9. 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法;
  10. Context把执行完了之后的HttpServletResponse对象返回给Host;
  11. Host把HttpServletResponse对象返回给Engine;
  12. EngineHttpServletResponse对象返回给Connector;
  13. ConnectorHttpServletResponse对象返回给客户browser;

剑指Offer——滴滴笔试题+知识点总结相关推荐

  1. 剑指Offer——迅雷笔试题+知识点总结

    剑指Offer--迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要 ...

  2. 剑指Offer——网易笔试题+知识点总结

    一.Fibonacci package cn.edu.ujn.nk;import java.util.ArrayList; import java.util.Scanner;/*** 费波纳茨数* @ ...

  3. 二叉树代码 java面试题_《剑指offer》面试题39 二叉树的深度(java)

    摘要: 今天翻到了<剑指offer>面试题39,题目二中的解法二是在函数的参数列表中通过指针的方式进行传值,而java是没有指针的,所以函数要进行改造.然而我翻了下别人的java版本(我就 ...

  4. 《剑指offer》面试题的Python实现

    所属网站分类: 面试经典 > python 作者:gg 链接: http://www.pythonheidong.com/blog/article/464/ 来源:python黑洞网 www.p ...

  5. 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找

    题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...

  6. 一道剑指offer经典面试题引发的思考

    大家在拿到一道算法题的时候,都会思考些什么呢? 大家有没有想过,当有一位面试官追问你,这道题有没有什么问题,或者有没有什么更好的方法,你们的内心是怎样的呢? 可能你会瞪大了眼,一些盲目自信的同学可能会 ...

  7. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...

  8. 《剑指Offer》面试题四(牛客网在线编程第一题):二维数组中的查找(Java实现)

    题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  9. python正则表达式面试_【剑指offer】面试题19. 正则表达式匹配

    面试题19. 正则表达式匹配 请实现一个函数用来匹配包含'. '和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字 ...

最新文章

  1. 【SICP练习】94 练习2.67
  2. 转:Jbpm4.2 tomcat6 oracle9i安装过程
  3. python中减法运算函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?...
  4. 如何在Mac上更改“终端”窗口光标?
  5. 利用ISCSI存储技术构建IP存储网络(实战篇)
  6. 5.Http Server
  7. AI和大数据结合,智能运维平台助力流利说提升竞争力
  8. 计算机操作系统慕课版(汤小丹)--第一章课后题
  9. 尾矿库监测 GNSS北斗高精度定位终端机应用
  10. 微信小程序中使用阿里(iconfont)字体图标
  11. html5 聊天机器人,发挥你想象力,BotUI – 聊天机器人 JS 框架
  12. FPGA:vivado2018.1编程界面字体大小与颜色修改
  13. 最详细Python打包exe教程,并修改图标,只需30秒
  14. 【庄碰辉】物质与精神的对垒中选择
  15. 小米3刷android 6.0,安卓6.0版MIUI7曝光:小米3/小米4/小米Note将尝鲜
  16. Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
  17. 腾讯云、阿里云都“服”了,云容灾你还迟疑什么?
  18. RFID固定资产管理降低人工成本,实现智能化的管理-新导智能
  19. 效率神器----QuickLook
  20. cesium不支持4490的问题解决方案(超详细)

热门文章

  1. Unparseable date: xxxxxx
  2. 手把手教你做最实用的数据分析模板——帕累托法则
  3. 人工智能ai的有关专业术语_您需要知道的11个人工智能术语
  4. 【接箱子2.0】新手划过,dalao勿喷
  5. PCB板上的字母代表哪些元器件?一文看全!
  6. Python-OpenCV-PS油画滤镜效果
  7. css里dotted,CSS中dashed和dotted的区别有哪些
  8. 游戏主机转换器方案可适配土星/MD1/MD2/NGC/N64/SFC/SNES等主机
  9. Django + mysql + 微信 抢票之本地环境搭建
  10. 如何实现无线网卡上外网+有线上内网=同时上网