文档章节

总结我的BAT公司PHP面试,泪并快乐着

 蜂蜜柠檬水
发布于 2017/04/18 14:05
字数 446
阅读 8
收藏 0

接到面试通知辗转反侧,一直在默念明天改如何介绍自己的项目经验等。早早的起床,洗漱,把自己的总结的问题自问自答了一些。匆匆吃了早饭,挤进让人面目狰狞的地铁,此时什么都不顾,只盼着赶紧下地铁。终于提前半小时到了面试地点,再次拿出准备的问题看了几眼,还剩15分钟上去。跟着人力填了表格,然后给了我一个算法题。如下:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,请编程输出两年内每个月的兔子总数为多少? 忽然记起来,这道题之前千锋PHP的一个朋友跟我谈论过,思路是一样的。 第一种方法(for循环实现):

<?php
   function getResult($month){
      $one = 1; //第一个月兔子的对数
      $two = 1; //第二个月兔子的对数
      $sum = 0; //第$month个月兔子的对数
      if($month < 3){
         return ;
         }
      for($i = 2;$i < $month; $i++){
         $sum = $one + $two;
         $one = $two;
         $two = $sum;
      }
      echo $month.'个月后共有'.$sum.'对兔子';
   }

第二种方法(递归):

<?php 
   function fun($n){
   if($n == 1 || $n == 2){
       return 1;
   }else{
       return fun($n-1)+fun($n-2);
   } 
}

事后,也去网上查了一下,但是大多数代码示例都是C语言、c++、java等等语言的。并没有太多PHP相关的代码示例,这两种方法,希望可以帮到大家。其实整个面试过程挺紧张,好在最后完成的挺漂亮。这不,复试通知来了,感谢那个千锋PHP哥们。

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 95
码字总数 446
作品 0
私信 提问
一个“网瘾少年”的2017年总结

前言: 一个能电击的都没有 现状 我就是那个一个16年毕业生所经历的php面试作者,去了某旅游公司,选择可能不是最好的,公司能提供的也很有限,加油! 戒网瘾 2016年11月,为了戒网瘾,选择离...

OMGZui
2018/10/28
0
0
移动互联网下半场的面试真经,让你进入 BAT 不再是梦

今天突然想聊聊面试了,最近有很多朋友让我看简历,也有很多朋友跟我吐槽说:面试被虐了,简直惨不忍睹,都有点怀疑自己的能力了。其实,我想说:正常。之所以这么说是很多朋友可能没有认清一...

涩郎
2017/10/23
0
0
工作三年的 BAT 程序员,离开后发展得怎样?

上周,100offer 推出的主题为「BAT人跳槽去哪?」的报告中发现,从数据表现上看, BAT 中的程序员群体在市场上无论是获得面邀数还是薪资表现上,都满足了大家对 BAT 光环程序员的期待。 那么...

100offer
2017/12/05
0
0
移动互联网下半场的面试真经,让你进入 BAT 不再是梦

今天突然想聊聊面试了,最近有很多朋友让我看简历,也有很多朋友跟我吐槽说:面试被虐了,简直惨不忍睹,都有点怀疑自己的能力了。其实,我想说:正常。之所以这么说是很多朋友可能没有认清一...

非著名程序员
2017/10/23
0
0
程序员如何做到年薪60万?

划重点 程序员一直以来被大家看作高收入群体,高收入源于技术能力的展现,对于年薪60万的程序员,除去年薪高,还有一个原因是他们所在的公司福利高,或者会直接持股。那么如何成为其中一员呢...

t7sfokzord1jaymsfk4
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
56分钟前
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0
手机通过wifi遥控arduino

手机下载Blinker 从Blinker官网下载手机App,安装到手机。 手机连接WiFi。 点击我的设备右上角的"+"添加设备,选择Arduino -> wifi接入,复制密钥以备后续使用。 点击新建的设备,可以在新界...

davidwbnu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部