
关于面试与求职
文章平均质量分 64
skewrain
这个作者很懒,什么都没留下…
展开
-
关于cocoa开发面试的十个问题
1、你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所 使用的相关的头文件或者某些方法的名称吗?2、你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中 的哪些需要在转载 2013-09-24 14:42:48 · 1063 阅读 · 0 评论 -
剑指Offer系列---(6)替换空格
1.题目描述:题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入”We are happy.”则输出”We%20are%20happy.”。2.分析:如果从前往后替换字符串,那么保存在空格后面的字符串肯定会被覆盖,那么我们就考虑从后往前进行替换。1)首先遍历原字符串,找出字符串的长度以及其中的空格数量;2)根据原字符串的长度和空格的数量我们可以求出最后新字符串原创 2015-09-07 20:30:04 · 468 阅读 · 0 评论 -
剑指Offer系列---(8)重建二叉树
1.题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出二叉树并输出它的头结点。二叉树结点的定义如下:struct BinaryTreeNode{ int m_nValu原创 2015-09-08 08:11:36 · 483 阅读 · 0 评论 -
剑指Offer系列---(20)树的子结构
1.题目描述:输入两棵二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:struct BinaryTreeNode{ char m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};2.分析:1)第一步:在树A种找到和B的根结点的值一样的结点原创 2015-09-11 13:57:16 · 526 阅读 · 0 评论 -
美团网2015秋季校园招聘面试题(上)
HTTP协议请求方法GET和POST的区别?答:1)Get方法提交数据不安全,数据置于请求行,客户端地址栏可见,而且请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一;Get方法提交的数据大小限制在255个字符之内;Get方法不可以设置书签。2)POST方法提交数据安全,数据置于消息主体内,客户端不可见;POST方法提交的数据大小没有限制;原创 2015-09-15 08:53:06 · 727 阅读 · 0 评论 -
剑指Offer系列---(21)二叉树的镜像
1.题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树结点的定义如下:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};2.分析:求一棵二叉树的镜像的过程为:我们先前原创 2015-09-15 21:08:48 · 578 阅读 · 0 评论 -
剑指Offer系列---(22)顺时针打印矩阵
1.题目描述:输入一个矩阵,按照从外到里以顺时针的顺序依次打印出每一个数字。2.分析:1)循环继续的条件是:columns>startX*2并且rows>startY*2。2)把打印一圈分为四步:第一步从左到右打印一行,第二步从上到下打印一列,第三步从右到左打印一行,第四步从下到上打印一列。3)最后一圈有可能退化成只有一行、只有一列,甚至只有一个数字。第二步的前提条件是终止行号原创 2015-09-16 09:14:17 · 542 阅读 · 0 评论 -
美团网2015秋季校园招聘面试题(下)
1.从在浏览器输入一个链接URL到页面展示的过程是怎样的?答:1)把URL分割成几个部分:协议、网络地址、资源路径。其中网络地址指示该连接网络上哪一台计算机,可以是域名或者IP地址,可以包括端口号;协议是从该计算机获取资源的方式,常见的是HTTP、FTP,不同协议有不同的通讯内容格式;资源路径指示从服务器上获取哪一项资源。例如:http://guokr.com/question/55499原创 2015-09-15 09:22:00 · 1220 阅读 · 0 评论 -
剑指Offer系列---(24)栈的压入、弹出序列
1.题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假如压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。2.分析:判断一个序列是不是栈的弹出序列的规律:如果下一个弹出的数字刚好是栈顶数字,那么直接弹出。如果下一个弹原创 2015-09-16 11:19:55 · 503 阅读 · 0 评论 -
剑指Offer系列---(23)包含min函数的栈
1.题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。2.分析:实现方法:把每次的最小元素(之前的最小元素和新压入栈的元素两者的较小值)都保存在一个辅助栈中。3.源代码:#include using namespace std;class CStackElement{pub转载 2015-09-16 10:23:35 · 595 阅读 · 0 评论 -
剑指Offer系列---(25)从上往下打印二叉树
1.题目描述:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。2.分析:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结点,重复前面的打印操作,直至队列中所有的结点都被打印出来为止。3.源代码:#include #include #include using namespace原创 2015-09-16 19:55:53 · 665 阅读 · 0 评论 -
memory warning机制
问题:描述memory warning的机制,并列举出APP应该做什么来防止?答:系统有四种内存警告,定义如下:Typedef enum { OSMemoryNotificationLevelAny = -1, OSMemoryNotificationLevelNormal = 0, OSMemoryNotificationLevelWarning = 1,原创 2015-09-17 13:15:31 · 1234 阅读 · 0 评论 -
剑指Offer系列---(26)二叉搜索树的后序遍历序列
1.题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。2.分析:在二叉搜索树的后序遍历得到的序列中,最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:第一部分是左子树结点的值,它们都比根结点的值小;第二部分是右子树结点的值,它们都比根结点的值大。3.源代码:#i原创 2015-09-18 09:50:08 · 693 阅读 · 0 评论 -
剑指Offer系列---(27)二叉树中和为某一值的路径
1.题目描述:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二叉树结点的定义如下:struct BinaryTreeNode{ int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;原创 2015-09-18 11:13:32 · 531 阅读 · 0 评论 -
2014校园招聘总结
本篇博文已迁移至吹水小镇reetsee.com,迁移后地址为:http://blog.reetsee.com/archives/215注:貌似不少童鞋看到这篇东西觉得我是牛人……其实不是stO,以下的内容都是对自己找工作过程的一个记录总结,不少同学比我找的厉害,所以这篇博文就算是我的一个自言自语吧!如果大家觉得有些帮助,那我也很开心!注2:博文最后更新了一些内容,仅供参考原转载 2015-09-18 12:33:25 · 651 阅读 · 0 评论 -
复杂链表的复制
1.题目描述:请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点的C++定义如下:struct ComplexListNode{ int m_nVa原创 2015-09-21 13:07:50 · 693 阅读 · 0 评论 -
梦想还是要有的,万一实现了呢?(Get IEG PC开发)
【准备篇-半个月来的感觉】1.408的四门课,一定要提前一年看啊,每天看一点,时间充裕,也不会觉得累。这些知识你不一定在工作中都会全用上,但是面试中肯定是会被问,其重要性毋庸置疑。而且大部分笔试题也基本是出于以上内容。2.算法题。总有不少人会担心面试中是否会有手写代码,对自己的编程能力没有信心。这个是必须要准备的,不要抱侥幸心理,认为可以选个不会考的职位的。你是面的技术,不是产品之转载 2015-10-25 21:14:48 · 761 阅读 · 0 评论 -
剑指Offer系列---(5)二维数组中的查找
1.题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。2.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.#include #include bool Find(int *matr原创 2015-09-06 15:39:20 · 443 阅读 · 0 评论 -
剑指Offer系列---(4)实现Singleton模式
1.问题描述现在,不管开发一个多大的系统,都会带一个日志功能;在实际开发中,会专门有一个日志模块’,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进行写日志。那么,如何构造一个日志模块的实例呢?难道,每次new一个日志模块,写完实例,再delete?不要告诉我你是这么做的。在C++中,可以构造一个日志模块的全局变量,那么在任何地方就都可以用了,是的。但是,Googl转载 2015-09-06 13:29:17 · 490 阅读 · 0 评论 -
剑指Offer系列---(19)合并两个排序的链表
1.题目描述:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};2.分析:1)考虑代码鲁棒性的问题。a.第一个链表为空链表;b.第二个链表为空链表;c.两个链表都为空链表.3.源代码:// Co原创 2015-09-11 13:41:51 · 516 阅读 · 0 评论 -
阿里巴巴2015秋季校招(客户端开发工程师岗位)在线笔试题
1.闪退(Crash)是客户端程序在运行时遭遇无法处理的异常或错误时,而退出应用程序的表现,请从(Crash)发生的原因分类与解决办法,在出现Crash后如何捕捉并分析异常,这两个问题给出自己的解决方案。2.请基于自己熟悉的平台技术(iOS/Android),实现一个Window-LFU缓存(即置换指定时间内,按照LFU规则排序淘汰数据)。要求对外提供以下接口: (1):可以指定Cache转载 2015-08-23 14:52:11 · 1391 阅读 · 0 评论 -
剑指Offer系列---(7)从尾到头打印链表
1.题目描述:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode *m_pNext;};2.源代码:A1.用栈实现的“从尾到头打印链表”程序代码如下:#include #include #include #ifndef ERROR#defin转载 2015-09-07 21:41:52 · 594 阅读 · 0 评论 -
剑指Offer系列---(11)旋转数组的最小数字
1.题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为。2.分析:我们用两个指针分别指向数组的第一个元素和最后一个元素。按照题目中的旋转规则,第一个元素应该是大于或者等于最后一个元素的(除了数组本身有序和有相同元素的特例之原创 2015-09-09 20:27:31 · 410 阅读 · 0 评论 -
剑指Offer系列---(9)用两个栈实现队列和用两个队列实现栈
1.题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。template class CQueue{ public: CQueue(void); ~CQueue(void); void appendTail(const T&原创 2015-09-08 22:25:50 · 364 阅读 · 0 评论 -
剑指Offer系列---(10)快速排序
1.题目描述:快速排序2.分析:实现快速排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的移到数组的左边,比选择的数字大的数字移到数组的右边。3.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.#include #include using namespace原创 2015-09-09 13:05:34 · 2879 阅读 · 0 评论 -
剑指Offer系列---(12)斐波那契数列
1.题目描述:写一个函数,输入n,求斐波那(Fibonacci)数列的第n项。斐波那契数列的定义如下:2.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.#include #include using namespace std;//递归,效率很低的解法,时间复杂度是以n的指数的方式递增的。lon原创 2015-09-09 21:42:18 · 505 阅读 · 0 评论 -
剑指Offer系列---(13)二进制中1的个数
1.题目描述:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。2.分析:1)把一个整数减去1,都是把最右边的1变成0.如果它的右边还有0的话,所有的0都变成1,而它左边所有位都保持不变。2)把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0。那么一个整数的二进制表示中有多少个1,就原创 2015-09-09 22:23:21 · 560 阅读 · 0 评论 -
剑指Offer系列---(14)数值的整数次方
1.题目描述:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。2.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.#include #include using namespace std;//自原创 2015-09-10 08:58:16 · 505 阅读 · 0 评论 -
剑指Offer系列---(1)将字符串转换成整数
1.题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。2.考虑情况1)考虑各种特殊输入;2)考虑到输入的字符串中有非数字字符和正负号;3)要考虑最大的正整数和最小的负整数以及溢出;4)考虑到当输入的字符串不能转换成整数时,应该如何做错误处理。3.源代码// Copyright (c) 2015年 skewrain. All rights原创 2015-09-05 12:48:48 · 451 阅读 · 0 评论 -
剑指Offer系列---(2)求链表中的倒数第k个结点
1.题目描述:求链表中的倒数第k个结点2.考虑情况:1)输入的指针为空;2)结点总数小于k;3)输入的k为0。3.拓展情况:1)求链表的中间结点;2)判断一个单向链表是否构成了环形结构4.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.using namespace std;#incl原创 2015-09-05 15:47:47 · 406 阅读 · 0 评论 -
剑指Offer系列---(15)打印1到最大的n位数
1.题目描述:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。2.源代码:// Copyright (c) 2015年 skewrain. All rights reserved.#include #include using namespace std;//跳进面试官的陷阱,没有考虑大数问题。void Pri原创 2015-09-10 10:16:17 · 526 阅读 · 0 评论 -
剑指Offer系列---(16)在O(1)时间删除链表结点
1.题目描述:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:struct ListNode{ int m_nValue; ListNode* m_pNext;};void DeleteNode(ListNode** pListHead,ListNode* pToBeDeleted);2.分析:1)在单向链原创 2015-09-10 11:34:51 · 560 阅读 · 0 评论 -
剑指Offer系列---(18)反转链表(递归与非递归实现)
1.题目描述:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的结点。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};2.分析:1)定义3个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。2)考虑三种情况:a.输入的链表头指针是NULL;b.输入的原创 2015-09-11 09:08:48 · 662 阅读 · 0 评论 -
永远不要放弃希望---一个研究生屌丝逆袭的故事
先介绍下项目经历 项目经验: 工程项目: * 阿里巴巴1688事业部-技术部-搜索与推荐系统-应用系统“分享积分统 计系统” (个人贡献:独立完成数据库设计,系统搭建与页面设计,历时一周。 * android手机app开发(个人贡献:完成整个app的设计,编码,测试和发布.代码30k,2个月完成。) * javaxp程序员社区项目(个人贡献:实现个人博客功能模块,转载 2015-09-05 18:06:56 · 1762 阅读 · 0 评论 -
剑指Offer系列---(17)调整数组顺序使奇数位于偶数前面
1.题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。2.分析:1)初级解法:维护两个指针,第一个指针初始化时指向数组的第一个数字,它只向后移动;第二个指针初始化时指向数组的最后一个数字,它只向前移动。在两个指针相遇之前,第一个指针总是位于第二个指针的前面。如果第一个指针指向的数字是偶数,并且第二个指针指向的数原创 2015-09-10 20:22:15 · 587 阅读 · 0 评论 -
剑指Offer系列---(3)赋值运算符函数
1.题目描述:赋值运算符函数2.考虑情况:1)是否把返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(即*this)。只有返回一个引用,才可以允许连续赋值。否则如果函数的返回值是void,应用该赋值运算符将不能做连续赋值。假设有3个CMyString的对象:str1,str2和str3,在程序中语句str1=str2=str3将不能通过编译;2)是否把传入的参数的类原创 2015-09-06 10:07:37 · 478 阅读 · 0 评论 -
2016年校招面经总结及感想
从上个星期我找工作大概就结束,在找工作的过程中,我经常上牛客网看一些别人的面经学习到了很多,再次感谢牛客网,因此自己也写下找工作的经历。我参加的面试公司有华为,腾讯,百度,蜻蜓fm,网易互联网,网易游戏。本人运气比较好,目前签了offer的有腾讯百度蜻蜓fm和网易游戏。网易互联网结果还没出来,华为是来我们学校的提前批,当时打电话告诉我过了,结果现在又没消息了,我就呵呵了。 首转载 2015-10-25 20:57:02 · 1580 阅读 · 0 评论