美文网首页
2018年9月12日.NET笔试面试题

2018年9月12日.NET笔试面试题

作者: 墨弄笔 | 来源:发表于2018-09-10 20:47 被阅读0次

一个数组:0,1,1,2,3,5,8,13,21...+m,求第 30 位数是多少?用递归实现。

  • 斐波那契数列,又称兔子数列,或者黄金分割数列。指的是这样一个数列:0、1、1、2、3、5、8、13、21……从第三项起,它的每一项都等于前两项的和。
  • 为什么是兔子数列?(戏称不死神兔)
  • 我们假设兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。第一个月我们有一对小兔子,如果所有兔子都不死,那么每个月的兔子对数,就符合斐波那契数列。
    不死神兔
    阅读关于 斐波那契数列 更多扩展知识

  • 写递归要确定两个:递归的终止条件;递归表达式。
  • 总结斐波那契数列递归规律:F(n)=F(n-2)+F(n-1)
int F(int n)
{
    if (n == 1)
    {
        return 1;
    }
    if (n == 2)
    {
        return 1;
    }
    return F(n - 2) + F(n - 1);
}

如何理解三层架构?

  • 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
  • 每层之间是一种垂直的关系。
  • 区分层次的目的是为了实现“高内聚,低耦合”的思想。
  • 表现层(UI):通俗地讲就是展现给用户的界面,即用户在使用一个系统时的所见所得。
  • 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务的逻辑处理。
  • 数据访问层(DAL):该层直接操作数据库,针对数据的增、删、改、查。

  • 三层结构是 N 层结构的一种,一般来说,层次之间是向下依赖的。
  • 下层代码未确定其接口前,上层代码无法开发,下层代码接口的变化将使上层的代码一起变化。
  • 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
  • 缺点: 增加成本

能用 foreach 遍历访问的对象需要?

  • 需要实现IEnumerable接口或声明GetEnumerator方法的

相关文章

网友评论

      本文标题:2018年9月12日.NET笔试面试题

      本文链接:https://www.haomeiwen.com/subject/apjegftx.html