第二次PHP面试题】的更多相关文章

昨天下午翘班去参加了人生中第二次PHP面试.是一家相对第一家更加专业的互联网公司.效果不如第一家理想,笔试题有点难,而且偏高理论,面试时面试官也还不错,一起探讨,可是他的问题我还是很多都不知道,果然是来混经验的吗?不过我明显不是这么想的,我珍惜每一次面试机会,并且会争取每一次机会.但是技术在那里,缘分也在那里.每一次面试对我都是一种激励,姑娘,要努力呀! 1.你用过的版本控制软件:SVN 集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,…
一.题目大意 输入一颗二叉树,判断该二叉树是否为平衡二叉树(AVL树). 二.题解 <剑指offer>上给出了两种解决方式: 1.第一种是从根节点开始,从上往下遍历每个子节点并计算以子节点为根节点的子树的高度,通过判断左右子树的高度差是否大于1来判断是否为AVL树.其中计算子树的高度,利用了TreeDepth函数(具体可见<剑指offer(第二版)>P272).其中TreeDepth的思想如下: (1)计算一颗二叉树的高度,可以将该问题转化成求子树的高度+1.如果根节点只有左子树的…
一.题目大意 给你一个数n,要求返回第n个丑数.其中,丑数的定义如下: 丑数是指只包含因子2.3和5的数.(数字1也是丑数,不过是个特例)引用<剑指offer>上的话来说,对于一个数M,如果M能被2整除,就连续除以2:若果能被3整除,就连续除以3:如果能被5整除,就连续除以5.如果最终的结果是1的话,那么M就是丑数,否则M不是丑数.以下是判断一个数是否为丑数的代码: bool IsUglyNumber(int num) { while(num % 2 == 0) num /= 2; while…
具体的题目大意和参考思路在此处不详述(见<剑指offer>),实质就是在中序遍历的过程中调整指针的指向,关于中序遍历有递归和非递归两种操作,所以此处也用了两种方法. 方法1(递归法): 代码如下: class Solution { public: TreeNode* Convert(TreeNode* pRootOfTree) { if(pRootOfTree == nullptr) return nullptr; TreeNode * pre = nullptr;//中序遍历中当前节点的前一…
题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18. 解题思想 动态规划(具体解法及思路见代码注释) 解题代码(python实现) # 题目一:给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>)每段绳子的长度记为k[],k[],.…
一.题目描述 把n个骰子仍在地上,所有的骰子朝上的一面的点数之和为s,输入n,打印出s所有可能的值出现的概率. 二.题解 <剑指offer>上给出的两种方法,尤其是代码,晦涩难懂且没有注释.而n个骰子的问题实质就是一个动态规划问题,所以文本主要从动态规划的角度来求解这个问题.首先该问题具备DP的两个特征:最优子结构性质和子问题的重叠性.具体的表现在:(1)n个骰子的点数依赖于n-1个骰子的点数,相当于在n-1个骰子点数的基础上再进行投掷.(2)求父问题的同时,需要多次利用子问题.由此定义状态转…
一.题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句 (即三元运算符,A? B : C) 二.题解 虽然求和问题本身很容易,但加上这么多限制条件的话,整个问题似乎就不那么简单了.<剑指offer>虽然给出了四种解决方法,但这四种方法都是基于C++的语言特性求解的,并不是通用的解法.所以,本文旨在给出通用的解法.首先,根据以上的限制条件,可以考虑的角度只有两种(个人看法)一个是递归,另一个是位运算.从位运算…
一.题目大意 给定一个数组A,对于数组A中的两个数字,如果排在前面的一个数字大于(必须大于,等于不算)后面的数字,则这两个数字组成一个逆序对.要求输出数组A中的逆序对的总数.例如,对于数组{7,5,6,4},一共存在5个逆序对,分别是(7,5).(7,6).(7,4).(5,4).(6,4). 注:根据题意可知,必须根据原数组中元素的相对顺序来统计,给定的数组时怎样,那就按照怎样的顺序. 二.思路分析 方法1:暴力破解.双重循环来判断出所有的逆序对数,时间复杂度为O(N^2),空间复杂度为O(1…
一.你对薪资的要求? 回答提示: 说实话,大家找工作,都希望找个高薪的,那我们如何和公司去谈薪酬呢?如果你对薪酬的要求太低,那显然贬低自己的能力:如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起.一些公司通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣.如果你自己必须说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字.最好给出一个具体的数字,这样表明你已经对当今的人才市…
大家好 我是码农阿宇,和博客园的广大兄弟一样,我们都喜欢.Net,但是你们是985/211,而我江西一所普通得不能再普通的二本大学---九江学院,大四毕业在即,英语四级未过(为什么强调这一点?见文末--),目前在百世物流(中国)科技有限公司担任.Net软件工程师,说得好听是叫软件工程师,其实就是一个刚来打杂的实习生(文末有少量面经). 个人觉得,一名我这样的渣渣大学生,是有怎样的能力才能进入一所这样的上市大公司?又是什么样的心态让我有勇气去面京东,去面网易?我想,大概是99%的厚脸皮加上我大学前…