【2022】Shopee秋招提前批SRE笔试——牛客

【2022】Shopee秋招提前批SRE笔试——牛客

1、关系数据库中的数据逻辑结构是

二维表格

2、现有3个开发任务需要分配给5个组内成员来完成,不同的任务分配方式有多少种

125

3、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,每一个元素出栈后立即进入队列Q,若6个元素出队列的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是

3

4、若变量已正确定义,有下列程序段:

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

printf(“%d,%d,%d\n”, a, b, c);

3, 5, 3

if(a > b)只能作用到a=b,后面的c=a不受其约束,此时c==a为true,第二个if语句不会再走

5、设有一张商品表(商品号,商品名,属地,价格),其中商品号是主键。现要查询属地为“中国”的价格为100的商品数量,下列语句中能正确完成该查询要求的是

SELECT COUNT(属地) FROM 商品表 WHERE 属地 = ‘中国’ and 价格 = ‘100’

6、给定如下SQL语句

CREATE VIEW test.V_test

AS

SELECT * FROM test.students WHERE age < 19;

该语句的功能是

在test数据库的students表上建立一个名为V_test的视图

7、linux系统中如果要列出一个目录下的所有文件,可以使用下面哪个命令+参数

ls -a
  • ls操作用来列出文件或者目录的信息,目录的信息就是其中包含的文件

    • ls -a:列出全部的文件

    • ls -d:仅列出目录本身

    • ls -l:以长数据串行列出,包含文件的属性与权限等等数据

8、局域网的网络地址192.168.1.0/24,局域网连接其他网络的网关地址是192.168.1.1。该局域网下一台主机192.168.1.2需要访问172.16.1.0/22网络,其路由设置正确的是:

route add -net 172.16.1.0 gw 192.168.1.1 netmask 255.255.252.0 metric 1

roote add -net 目标网址 gw 网关 netmask 子网掩码 metric 1-9999

子网掩码: 22—> (每8位为255)–>255.255.252.0

img

10、小虾以200元一颗的价格从黑商那里买了一些珍珠,现在拿去卖给店铺,如果是真货则以1700元一颗卖出。据统计,大约只有10%的珍珠是真货,则小虾平均每颗损失多少元

30

11、以下关于进程、线程、协程的的说法正确的是?

线程是堆共享,栈私有
一般而言,执行开销进程 > 线程 > 协程

对操作系统来说,线程是最小的执行单元,进程是最小的资源管理单元。无论进程还是线程,都是由操作系统所管理的。

协程,英文Coroutines,是一种比线程更加轻量级的存在

12、已知字母A的ASCII代码值为65,若变量K为char型,下列能正确判断出K中的值为大写字母的表达式是

K>='A'&&K<='Z'
(K+32)>='a'&&(K+32)<='2'
isalpha(K)&&(K<=91)

13、以下哪些请求方法是HTTP规范中支持的请求方法

img

14、局域网内的某台主机用ping能够访问相同内网的主机,但是ping www.shopee.cn发现无法ping通,可能有哪些原因导致该问题

没有设置连接局域网的网关
DNS服务器设置有误
防火墙没有放开icmp协议

ping使用的是ICMP包

15、在TCP/IP协议体系结构中,下面哪些为可靠传输协议

TCP
SMTP

16、在Linux中,具有相当丰富的帮助功能。用户通常可以通过下面哪几种方式来获取操作命令的使用方法或者参数选项内容

man 命令
whatis 命令
info 命令
命令 --help

17、下列关于PC机性能的叙述中,哪些是正确的

逻辑结构相同时,CPU主频越高,速度就越快
总线的传输速率与总线的数据线宽带、总线工作频率等有关
通常cache容量越大,访问cache的命中率就越高

18、在一次挥手断开连接的过程中,以下TCP网络连接状态,哪些会出现在主动断开的一方

FIN
ACK
TIME_WAIT

在这里插入图片描述

19、编译程序工作时,通常有以下哪些阶段

词法分析
语法分析
语义分析
中间代码生成
目标代码生成

A词法分析-B语法分析-D语义分析-C中间代码生成-(中间代码优化)-E目标代码生成-(目标代码优化)

语法分析和语义分析之后产生的语法树会转换为中间代码的

20、以下哪些方式可以提高HTTP网站的访问能力

增大HTTP网站服务器数量
增大HTTP网站服务器内存大小
提高HTTP网站服务器CPU主频
//根据字母和数字指定不同的排序规则,利用Arrays.sort()排序
import java.util.*;

public class Solution {

    public String char_and_num_return (String text_source) {
        //先把String转成String数组
        String[] s = text_source.split(" ");
        Arrays.sort(s, (a, b) -> {
           if(isString(a) && isString(b)) {
               return 0;
           } else if(isString(a) && !isString(b)) {
               return -1;
           } else if(!isString(a) && isString(b)) {
               return 1;
           } else {
               return (int)(Long.valueOf(a) - Long.valueOf(b));
           }
        });
        StringBuilder res = new StringBuilder();
        for(String item : s) {
            res.append(item).append(" ");
        }
        return res.toString().trim();
    }
    
    boolean isString(String c) {
        return c.charAt(0) > 57;// 首字符的ascii码大于57一定是字母
    }
}
import java.util.*;
public class Solution {
    public String char_and_num_return (String text_source) {
        if("".equals(text_source)) return "";
        String[] words = text_source.split(" ");
        PriorityQueue<String> pq = new PriorityQueue<>(new Comparator<String>(){
            public int compare(String a, String b){
                return (int)(Long.parseLong(a) - Long.parseLong(b));
            }
        });
        StringBuilder sb = new StringBuilder();
        for(String word: words){
            if(word.charAt(0) > 57){    // 首字符的ascii码大于57一定是字母item
                sb.append(word).append(" ");      // 字母字符串直接加入stringbuilder
            }else{
                pq.offer(word);       // 数字字符串加入小根堆
            }
        }
        // 将数字字符串按升序出队
        while(!pq.isEmpty()) {
            sb.append(pq.poll()).append(" ");
        }
        return sb.toString().trim();
    }
}
//与生成有效括号的方式相同,不断平衡成对的69,缺6往前补6,缺9往后补9
import java.util.*;
public class Solution {
    public String Paired69 (String S) {
        Stack<Character> stack = new Stack<>();
        StringBuilder sb = new StringBuilder();
        for(char c: S.toCharArray()){
            if(c == '6'){
                stack.push(c);
            }else{
                if(!stack.isEmpty())
                    stack.pop();              // 还有6就弹出来与9配对
                else
                    sb.insert(0, '6');     // 否则缺6,需要在前面补
            }
            sb.append(c);
        }
        while(!stack.isEmpty()){       // 6有余,往后补9
            stack.pop();
            sb.append('9');
        }
        return sb.toString();
    }
}
//分糖果问题
import java.util.*;
public class Solution {
    public int cost (int[] arr) {
        int[] left = new int[arr.length];
        int[] right = new int[arr.length];
        Arrays.fill(left, 1);//先给每个学生 1 颗糖
        Arrays.fill(right, 1);//先给每个学生 1 颗糖
        for(int i = 1; i < arr.length; i++)
            if(arr[i] > arr[i - 1]) left[i] = left[i - 1] + 1;
        int count = left[arr.length - 1];
        for(int i = arr.length - 2; i >= 0; i--) {
            if(arr[i] > arr[i + 1]) right[i] = right[i + 1] + 1;
            count += Math.max(left[i], right[i]);
        }
        return count;
    }
}

[i] = left[i - 1] + 1;
int count = left[arr.length - 1];
for(int i = arr.length - 2; i >= 0; i–) {
if(arr[i] > arr[i + 1]) right[i] = right[i + 1] + 1;
count += Math.max(left[i], right[i]);
}
return count;
}
}


  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值