- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(360面试经验
首先不得不吐槽一下360,约好了五点钟面试,硬是拖到了六点半才开始,面试官人数少,每个人面试的时间基本在一个小时左右,等死个人啊。不过从另一个方面看,360的面试官也值得赞一个,对于每个面试者,他们都认认真真的考察,交流,比某些敷衍人的公司要强得多。好了,来看看面试的问题吧: 一面主要是考察算法和数据结构,难度因面试官而异。听同学说他一面的时候,面试官就让他写了个堆排序,然后就是不听地问项目,感觉很轻松。我就没那么好运了,至少问了五六个算法,还好hold住。 1.写个快速排序吧。 答:这个算是基本功吧,对于想要互联网公司offer的筒子们,最基本的几个排序都得做到能随时随地手写代码,而且不出错。手写代码也是对基本功的考察,千万不要觉得能在电脑上写代码就ok了,记住,一定要在白纸上写下来,你才能确定你会写。 2.IP的有效值是1.0.0.1~255.255.255.255,写个程序,参数是一个char*的IP,返回这个IP是否合法。 答:这题在考察程序员对边界条件的考虑。至少有以下几点是要考虑到的:1.IP超过或不足四位;2.某一位超过了合法范围;3.某一位除了数字,还包含了其他非法符号。这一题可以使用strtok取出IP的每一位,然后检查该位是否合法(数值范围,是否包含非法字符),最后检查是否有四位。 3.一个字符串数组char *A[]={China,Chinese,Chese,...},求这个数组中字符串的最长公共前缀,例如这三个字符串的最长公共前缀是Ch。 答:使用字典树,类似的问题还有给你一些QQ号,让你求这些QQ号的最长公共前缀。字典树大家可以去网上搜一搜。 4.求两个字符串的最大公共子串,例如abcdefg和zxdefy,最长公共子串是def。 答:动态规划。具体的解法和代码在我的随笔Algorithm分类中有。 5.单向链表反序。 答:这个简单,网上一大堆解法。 6.多个已序数组求交集。 答:这个问题携程也考了,具体做法是将这些数组两两分组,求交集,再将结果继续两两分组,求交集,直到最后得出结果。对于两个已序数组A,B,求交集的方法是令i,j=0if A==B[j],则A是交集中的值,i++,j++; if AB[j],j++; if AB[j] i++;直到i或者j到达数组的最大下标。这一题应该有更优解,在暂时还没在网上查到,大家可以去搜一搜。一面总算是抗住了。本以为二面会轻松一点,谁知道二面更难。 1.了解进程池吗? 答:不了解,只知道线程池。 追问:那你说说线程池。 答:线程池的思想是这样的:一台服务器有许多任务要处理,同时不断有新的任务进来。从前是来一个任务就起一个线程,起的线程来完成任务,完成以后就销毁该线程。如果任务很多的话,这样不断地起线程,销毁线程,会很费时间。于是就有了线程池。线程池就是一次起多个线程,将任务放在一个队列中,线程池中的线程从队列中取出任务去执行,执行完了以后检查队列是否为空,如果为空,说明所有任务都执行完了,线程就会休眠(注意不是销毁),等到又有新的任务时,主线程会去唤醒线程池中的线程,让他们继续工作,这样就避免了不断地分配和销毁线程。简单的线程池实现代码可以在网上搜到。 追问:在线程从任务队列中取任务时,有没有办法不适用锁? 答:这个问题腾讯也问了,腾讯的问法是,进程间的共享内存,有没有办法不适用锁而同步地读写?我完全不会,诶。 面试官后来提示说,这个任务队列不一定要所有线程共用一个,可以让一个线程有一个任务队列,这相当于让多消费者的模型变成了单消费者。这样消费者之间就不用加锁同步了。而生产者和消费者之间,要想不适用锁的话,可以用循环队列来实现。对于这个知识点,我会在另一个帖子中详细说明。 2.咱们来看看进程池吧,首先,一个进程A,起了子进程H,H阻塞在读取它的stdin上,A向H的stdin发送数据,这个怎么实现? 答:完全懵了,什么叫一个进程A起了子进程H?后来我才弄明白,原来他的意思是,A进程fork产生了一个子进程,然后子进程调用exec函数,启动了H。我原来的想法是,既然H是A的子进程,如果不设置FD_CLOEXEC标志,那么H的文件描述符0(标准输入)应该和A的是共享文件表项的。那直接让A往自己的标准输入里写不就行了吗?后来面试官的意思是用管道,让H将stdin打开在管道的一端上(fdopen),然后A向管道里写数据。这个应该更稳妥吧。谁能保证FD_CLOEXEC不会被设置呢? 追问:现在A能向H发命令,然后H读取命令,开始工作。如果A起了多个H,那么,A就成了控制进程,而多个H就成了工作进程,这就是进程池了。现在,A读取一个文件,每读取一行,就将内容发送给工作进程H,然后由H写到自己的标准输出上,这个怎么实现? 答:这个直接用一个循环,顺序写向每个进程就好了。 追
您可能关注的文档
- (电磁兼容标准化与认证张林昌.doc
- (2016年国家公务员面试中国公务员原生态之剩女篇.doc
- (2016年国家公务员考试言语理解考题解析.docx
- (电源技术培训纲要.doc
- (电磁加热技术与传统加热的优势.doc
- (电流定律竞赛讲座.doc
- (2016年吉林教师资格考试幼儿保教知识与能力幼儿常规教育二.docx
- (电气工程系相关专业介绍.doc
- (电磁组.doc
- (2016年基金从业资格考试考点总结.docx
- 2025年水路交通运输技能考试-值班甲类海员考试近5年真题荟萃附答案.docx
- 2025年水路交通运输技能考试-内河大油船考试近5年真题荟萃附答案.docx
- 2025年水路交通运输技能考试-三等造船考试近5年真题集锦(频考类试题)带答案.docx
- 2025年天津市新高考综合改革适应性演练数学模拟试卷带解析含完整答案【考点梳理】.docx
- 2025年水路交通运输技能考试-内河机舱管理考试近5年真题荟萃附答案.docx
- 2025年天津市新高考综合改革适应性演练数学模拟试卷带解析带答案(完整版).docx
- 2025年水路交通运输技能考试-内河机舱管理考试近5年真题集锦(频考类试题)带答案.docx
- 2025年水路交通运输技能考试-公路水运检测师考试近5年真题荟萃附答案.docx
- 2025年水路交通运输技能考试-内河大油船考试近5年真题集锦(频考类试题)带答案.docx
- 2025年水路交通运输技能考试-内河船员考试(精编)考试近5年真题集锦(频考类试题)带答案.docx
文档评论(0)