多益面试题简答题和编程题解析

        今日做完多益的笔试题,五道简答题对于英语渣渣的我来说其实只有三道题,回答的时候都是云里雾里的一脸懵逼,交卷后特意查了一下答案,以此铭记。

1、编程语言和脚本语言的区别

        对于程序员而言,目前从事的行业基本用到的都差不多是高级语言,而真正能被计算机理解的只有计算机机器语言。
        一般高级语言到机器语言的过渡有两种行为:编译解释
        编译型的语言我们一般称为比较正规的编程语言:java、c、c++等一般都是后台开发应用的语言;
        解释性的语言我们一般称为脚本语言:php、js等高级脚本语言。

        脚本语言与编程语言最大的区别在于:无论简单的脚本还是类似网页的php、js等高级脚本,它最大的特点是不需要编译,由第三方程序或插件来运行,而编程语言的独立编译与运行的。


2、简述数据库事物以及其特性

(一)定义
        所谓事务,它是一个操作集合,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
        典型的例子就像从网上银行系统的帐户A转帐到帐户B,它经过两个阶段:1.从帐户A取出款项。2.把款项放入帐户B中。这两个过程要么同时成功,要么同时失败,这一系列的操作就被称为事务性(Transactional)操作。

(二)特性
        原子性(Atomicity) 当事务结束,它对所有资源状态的改变都被视为一个操作,这些操作要不同时成功,要不同时失败  
        一致性(Consistency) 操作完成后,所有数据必须符合业务规则,否则事务必须中止
        隔离性(Isolation) 事务以相互隔离的方式执行,事务以外的实体无法知道事务过程中的中间状态
        持久性(Durable) 事务提交后,数据必须以一种持久性方式存储起来


3、例举TCP/IP网络参考模式,并简述各层的作用

        TCP/IP共分四层,应用层、传输层(网络接口层)、网络层、物理层(主机到主机层)。
         物理层是定义物理介质的各种特性:
         网络层负责相邻计算机之间的通信;
         传输层提供应用程序间的通信;
         应用层向用户提供一组常用的应用程序。


4、数据库保护有哪四种

1、安全性控制
2、完整性控制
3、并发性控制
4、数据恢复


5、编程题:编写一个算法确定一个数字是否为“梦想数”。
题目描述:
        一个数字,如果不等于1,则用它各位上的数字的平方和代替,然后检查是否等于1,如果不等于,继续之前的操作,如果那个数不是一个梦想数,则进行死循环,不断重复,如果是一个梦想数,则检查到其等于1之后退出循环。

例如:19
1^2+9^2=82
8^2+2^2=68
6^2+8^2=100
1^2+0^2+0^2=1

        所以19是一个梦想数。

下面为参考代码:

扫描二维码关注公众号,回复: 3297252 查看本文章
class Solution1
{
    public bool IsDreamNumber(int n)
    {
        bool isDreamNum = false;
        while(!isDreamNum)
        {
            if (1 != n)
                n = ReplaceNumber(n);
            else
            {
                isDreamNum = true;
            }
        }

        return isDreamNum;
    }

    /// <summary>
    /// 把数字用它各个位的平方和代替
    /// </summary>
    /// <param name="n"></param>
    /// <returns></returns>
    private int ReplaceNumber(int n)
    {
        int newNum = 0;
        while(n!=0)
        {
            newNum += (int)Math.Pow(n % 10, 2);
            n /= 10;
        }
        return newNum;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_33575542/article/details/81585673