顺丰科技2019运维笔试题解析:SQL与SpringMVC知识

需积分: 10 11 下载量 153 浏览量 更新于2024-09-11 收藏 24KB DOCX 举报
"顺丰科技2019 秋招运维工程师笔试题合集,包含Java、Android相关题目" 本文将详细解析上述笔试题中的知识点,帮助理解相关编程概念。 1. SQL查询语句: 题目涉及SQL聚合函数SUM()和COUNT()的用法。选项A至F分别展示了不同的分组计算平均分或总分的方法。在WHERE子句中筛选cno=2的记录,A、F和D选项均会计算这一条件下的平均分(avg(score))。其中: - A选项计算所有记录的分数总和除以记录数。 - B选项计算所有记录的分数总和除以id总数,由于id是主键,非NULL且自增,所以与A相同。 - C选项计算所有记录的分数总和除以sno(学生编号)数量,如果sno唯一,结果与A相同。 - D选项计算所有记录的分数总和除以分数数量,由于不可能有NULL分数,所以也与A相同。 - E选项计算所有记录的分数总和除以1,相当于总和,与A不同。 - F选项直接使用AVG()函数计算平均值,与A相同。 因此,答案是A、F和D,即选项b。 2. Spring MVC框架: Spring MVC是一个用于构建Web应用的轻量级框架。错误的说法是: d. controller默认是单例,通过@Scope("prototype")注解改为多例,成员变量共享。 实际上,Spring MVC的Controller默认是单例模式,这意味着在整个应用中只有一个实例。如果改为多例(prototype),每个请求会创建一个新的实例,但成员变量不会共享,而是每个实例有自己的副本。 3. C语言递归算法: 该代码实现了一个递归函数foo,计算a的b次幂。当b为偶数时,返回a * a的b/2次幂;否则,返回a * a的b/2次幂加上a。对于foo(1,3),递归过程为: - foo(1,3) -> foo(1,1) + 1 - foo(1,1) -> foo(1,0) (因为b为偶数,不加a) - foo(1,0) -> 0 所以最终结果是1 + 0 = 1,答案是a. 1。 4. Java中的静态方法: 静态方法是属于类而不是对象的方法。它们的特点包括: a. 它们可以直接通过类名调用,无需创建对象。 b. 静态方法不能访问非静态成员变量,因为非静态成员在类实例化后才存在。 c. 静态方法不能访问非静态方法,同样因为非静态方法依赖于对象实例。 d. 静态方法可以访问静态成员变量和静态方法。 这些题目涵盖了SQL查询、Java Web开发框架Spring MVC的使用以及C语言递归算法的执行逻辑,以及Java中静态方法的基本概念。理解和掌握这些知识点对成为一名合格的运维工程师至关重要。