首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

面试标题收集(4)

2013-09-09 
面试题目收集(4)1.google一道面试题目:一个数列中Q中的每个元素至少能被a和b中的一个元素整除。现给定a和b,

面试题目收集(4)

1.google一道面试题目:一个数列中Q中的每个元素至少能被a和b中的一个元素整除。现给定a和b,要求计算出Q的前几项。例如a=3,b=5,则序列:3,5,6,9,10,12....

思路:设计两个index,分别指向被3和被5整除的数,被3整除的数只能每次递增3,被5整除的数只能每次递增5。判断那个小,就添加到数组中,将添加到数组中的索引指向当前的索引。

个人觉得:这个何海涛里面的丑数解法有点雷同,我也是这么悟出来的,必须要设置一个数组保存前面的值

#include <iostream>#include <string>#include <stack>using namespace std;void reverseSub(char str[],int start,int end){if(!str||start<0||end<0)throw new runtime_error("Invalid Input");if(start>=end)return;for(;start<end;++start,--end){char t = str[start];str[start] = str[end];str[end] = t;}}void reverseStr(char str[]){int len = strlen(str);reverseSub(str,0,len-1);int beg = 0;int end =0;cout<<str<<endl;for(int i=0; i<len;){while(i<len && str[i] != ' ')++i;end = i - 1;reverseSub(str,beg,end);while(i<len && str[i] == ' ')++i;beg = i;}}int main(){char str[] = "ss   i am   lsj";reverseStr(str);    cout<<str<<endl;system("pause");return 0;}

5。描述在浏览器中敲入一个网址并按下回车后所发生的事情(尽量详细)
答:浏览器输入网址之后,首先
步骤1:需要查找域名的IP地址,DNS查找过程如下:
(1)浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
(2)系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
(3)路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
(4)ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
(5)递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。
步骤2:浏览器给web服务器发送一个HTTP请求。请求中也包含浏览器存储的该域名的cookies。可能你已经知道,在不同页面请求当中,cookies是与跟踪一个网站状态相匹配的键值。这样cookies会存储登录用户名,服务器分配的密码和一些用户设置等。Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器。
步骤3:服务的永久重定向响应
步骤4:浏览器跟踪重定向地址
步骤5:服务器“处理”请求
步骤6:服务器发回一个HTML响应
步骤7:浏览器开始显示HTML
步骤8:浏览器发送获取嵌入在HTML中的对象

有好题待续。。。。

热点排行