为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

百度

2013-09-24 5页 doc 198KB 47阅读

用户头像

is_335448

暂无简介

举报
百度我为大家做贡献,网上搜了下答案~~ 1. 首先是自我介绍,就是唠嗑似的说两句。 下面开始技术问题。 第一个问题是数组名和指针的区别。 [数组名会自动转换为指针,数组名可以当const 指针来用,但是sizeof()跟typeid()的时候还是当数组。] 后问f(*p),当传递的参数是数组名A的时候,是否可以在f函数中进行p++操作? [不可以] 第二个问题,要求画一个TCP三次握手的图,汗,表示忘记了。。。 [建立连接时候是三次握手,ACK是确认号,SEQ是序列号] [释...
百度
我为大家做贡献,网上搜了下答案~~ 1. 首先是自我介绍,就是唠嗑似的说两句。 下面开始技术问题。 第一个问题是数组名和指针的区别。 [数组名会自动转换为指针,数组名可以当const 指针来用,但是sizeof()跟typeid()的时候还是当数组。] 后问f(*p),当传递的参数是数组名A的时候,是否可以在f函数中进行p++操作? [不可以] 第二个问题,要求画一个TCP三次握手的图,汗,表示忘记了。。。 [建立连接时候是三次握手,ACK是确认号,SEQ是序列号] [释放连接的时候,是四次挥手] 第三个问题,vector和数组有什么区别。 [vector 是动态分配内存的,数组的长度是确定的] vector假设已经有10个元素了,又想要11个元素的空间,内存分配如何? [vector 再分配内存的时候会预分配一些空间,如果满了会以乘二的方式来分配更多内存空间,10个元素的时候容量可能是16个吧,如果再要11个会乘二变成32个元素的空间吧(道理是这样的)] 第四个问题,进程和线程的区别 [ 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行 资源分配和调度的一个独立单位;线程是进程的一个实体是CPU调度和分派的基本单位 它是比进程更小的能独立运行的基本单位线程自己基本上不拥有系统资源 只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程与线程区别与联系 (1) 划分尺度线程更小,所以多线程程序并发性更高; (2) 资源分配:进程是资源分配的基本单位,同一进程内多个线程共享其资源; (3) 地址空间:进程拥有独立的地址空间,同一进程内多个线程共享其资源; (4) 处理器调度:线程是处理器调度的基本单位; (5) 执行,每个线程都有一个程序运行的入口,顺序执行序列和程序的出口,但线程不能单独执行,必须组成进程,一个进程至少有一个主线程。简而言之一个程序至少有一个进程,一个进程至少有一个线程. ] 第五个问题,数据库中的隔离分级? [ 在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。 ● 未授权读取(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。 ● 授权读取(Read Committed):允许不可重复读取,但不允许脏读取。这可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。 ● 可重复读取(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现幻影数据。这可以通过“共享读锁”和“排他写锁”实现。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。 ● 序列化(Serializable):提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。如果仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执行查询操作的事务访问到。 ] 开始写算法代码 一共三个 第一个是二分查找的代码,当时把mid=(i+j)/2,他问可能溢出,如何处理 我想了想,改成mid=i+(j-i)/2. 第二个是链表的翻转,主要的弄清楚各个指针,我写完后问我如果是空链表如何办?应该是直接返回。 第三个是一个常字符串,将其中的空格替换为"%20"如何完成? (我的办法是先统计总共需要的空间,在函数中动态分配内存,然后用指针完成替换) (后来发现出自剑指offer面试题4) 2.首先是自我介绍,就是唠嗑似的说两句。 下面写代码。 第一个问题是经典的二分查找,上次写过,不知道他们为什么对这个二分查找这么感兴趣。 第二个是对二分查找进行应用,一个旋转数组的二分查找,如10 9 8 7 1 2 3 4 5 6查找5。本来我说要把两端的跟关键字K进行比较,GG说从中间比较会减少复杂度,按他说的来,代码也没出错。 [我的想法是分两次二分查找,第一次二分查找到分界点7,第二次根据K在数组左边序列还是右边再进行一次二分查找] 第三个是如何查找有序数组的最左边的一位,要求递归和非递归算法。 [不详细] 第四个是猴子摘水果的问题,一个概率问题,用数学归纳法进行了证明。 [不详细] 3.首先让我做一下自我介绍。 开始介绍项目。GG似乎还算感兴趣吧,提出了一些问题。 接着对照简历开始问。 第一个问题是什么是纳什均衡(简历中说自己懂博弈论),我简单解释了一下。 [不懂帮顶] 第二个问题问TCP存在的缺陷,貌似是DDOS攻击。其实这个是学过的,回答不上确实很丢人。 [DDoS攻击针对的是网络中的TCP/IP基础设施。这些攻击可以分为三种类型:一种是利用TCP/IP栈中存在的已知缺陷;一种是针对TCP/ IP的漏洞;最后一种就是尝试并进行真正的暴力攻击。 ] 第三个问题是操作系统,进程和线程的区别,然后多线程的锁的概念,造成死锁的一种场景,如何破除死锁。 [造成锁就是在进程图中形成了环路,破除锁有很多算法,简单的方法就是随机杀死一个环路中的进程] 第四个问题问我分类的方法,答是fisher分类和贝叶斯分类,问贝叶斯分类的原理,答最大后验概率准则或者是最大联合概率准则。[概率论没好好学,真后悔] 第五个问题问我聚类方法,答K均值聚类。问原理,简单说了一下,没说明白。 第六个问题,问我C++中用过STL么?比如vector和sort,答用过vector。没用过sort,那就说说常用的排序算法吧,说了有插入,选择,冒泡,堆,快排,归并。然后问堆排序的原理,堆的特点。后问堆排序的复杂度,为什么是O(nlogn)。然后问了快速排序的原理及其复杂度。复杂度是O(nlogn)是在什么情况下的?我说是平均情况,然后问了一下最坏情况下是多少?答O(n^2),问了一下是什么情况。 第七个问题,让我写了一个代码,数组[1 2 2 2 3 3 3 4 4 4],返回[1 2 3 4 3 3 3 4 4 4]和4(不重复元素的个数)。写了之后,出现一个小bug。 [这个问题第四个面试官又问了] 第八个问题,有两个单链表,如何判断他们有重复的元素。答只需要判断最后一个结点,因为一旦中间某个结点是相同的,那么最后一个结点一定相同。 第九个问题,一个链表,如何找中间的元素。我给的方法是先遍历,求出链表的长度,然后再找中间的元素,他想要遍历一次,没想到。回来后想了想,应该用两个指针,第一个指针走两步,第二个指针走一步,这样就可以解决问题了。 [这是经典的快慢指针算法] 第十个问题,10亿个int类型的数据,估计一下占用的存储空间是多少。 [40亿个字节,40G左右?不太懂] 第十一个问题,客户端打开URL www.baidu.com,如何得到网页的,说一下工作流程。 [向DNS服务器 请求服务,解析链接URL的服务器IP,然后通过http应用层协议向目标服务器发送TCPIP链接请求,建立连接后收到HTML格式的数据,浏览器解析数据呈现到页面上,大体就是这样吧] 第十二个问题,构造函数作用,如何初始化(包括函数式和参数化列表式)。 [掌握构造函数的初始化列表的作用就可以了吧,初始化列表是引用和const数据的初始化唯一机会] 4.首先让我自我介绍,互联网面试的自我介绍总是那么轻松,然后讲项目。 开始写算法,给定一个含有重复元素的字符串,返回一个没有重复元素的字符串。 char* NoRepeat(char *src) { if (src==NULL) return src; char *p1=src; char *p2=src; p2++; while(*p2!='\0') { if(*p2==*p1) p2++; else {p1++; *p1=*p2; p2++;} } p1++;*p1='\0'; //漏掉这句话,汗。。。 } 后问了一个问题,一个平面上有n条直线,分成很多区域,只要区域相邻就标号不同的数字,问最多需要标号多少个数字? 答案是2个。提示是用数学归纳法证明。 第三个问题是TCP的连接建立与释放的过程,分别是三次握手和四次握手,并问了一下为什么是三次握手而不是两次握手。 [插图见前面的题目答案] 然后聊了聊通信与互联网的发展。 5.是个MM,很善谈,刚开始一直问一些非技术问题,比如,自己对自己的评价,同学可能对自己的评价,对一个项目负责人人的认识。 开始问一个技术问题,是字符串的替换。 比如abcdefgcd字符串中的cd替换为12等。 讨论了算法的复杂度。首先是模式串比目标串短的情况,如何降低复杂度。 [模式匹配的简单回溯算法,优化后就变味KMP算法,网上有解释] 而目标串比模式串长呢?没答上来。 [啥?模式短跟目标长不是一个意思吗?]
/
本文档为【百度】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索