9-2 奇安信笔试

题型

  1. 单项选择 20道 - 40分
  2. 不定项选择 10道 -20分
  3. 算法

选择题知识点:

socket 通信类型
操作系统信号 (signup\sigwake\sigsegv\sigabrt)
网络字节序(大端or小端)
tcp报文长度(0数据报头)
class文件中的<init>函数和clint函数>
sql删除输入为空的记录 "%" null nullable is null
操作系统采用缓冲技术是为了?
进程异常终止调用哪个函数?
数据库命令 DML/DDL/DCL/DAL
final关键字能不能修饰接口
tcp option
new String("1" +"2")产生了多少个对象?
.so 共享库
java随机数生成
Stream.of()
视图一般不用于?</init>

算法题目:

  1. 青蛙跳台阶。

  2. 分房子
    相邻人家人口数多的家庭分的房子比人口数少的多。每户最少一套房。问至少一共分多少房子?
    如person = [3,2,4] 分房 =[2,1,2] sum = 5
    解决,从左往右遍历,比较相邻家庭的人口和房子数。若家庭[i]人口数大于家庭[i+1],则家庭[i]分房数+1 . 然后从右往左遍历,分房。直到有一趟遍历没有分房,说明满足条件。

    import java.util.Scanner;
    public class Solution_qianxin {
     public static void main(String[] args) {
         int person[] = new int[]{4,1,2,3,4,4,3,2};
         Solution_qianxin solution =  new Solution_qianxin();
        solution.house(person);
     }
     public int house (int[] person) {
         int len = person.length;
         int ans [] = new int[len] ;
         for(int i = 0 ; i <len ; i++){
             ans[i] = 1 ;
         }
         boolean changeed = false;
         changeed = left_c_right(person , ans) ;
    
         while(changeed){
             changeed = left_c_right(person,ans);
         }
    
         int r = 0 ;
         for (int i = 0 ; i <len ; i++){
             System.out.println(ans[i] + ",");
             r+=ans[i];
         }
         return r ;
     }
    
     private boolean left_c_right(int person[] , int ans[]){
         boolean change = false;
         for (int i = 0 ; i+1< person.length; i++){
             if (person[i]>person[i+1] && ans[i] <= ans[i+1]){
                 ans[i]++;
                 change = true ;
             }
         }
         for (int i = ans.length-1; 0<=i-1 ; i--){
             if (person[i]>person[i-1] && ans[i] <=ans[i-1]){
                 ans[i]++;
                 change = true;
             }
         }
         return change ;
     }
    }

选择题相关知识

  1. socket通信类型: 流套接字、数据报套接字、原套接字
    图片说明

  2. 网络字节顺序
    是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian(大端)排序方式。

  3. TCP首部 (别忘了还有可选项)
    图片说明

  4. 操作系统采用缓冲技术是为了?
    是为了协调吞吐速度相差很大的设备之间数据传送而采用的技术。

  5. 异常终止进程
    信号

#笔试题目##奇安信#
全部评论
class Solution:     def candy(self, ratings: List[int]) -> int:         res = 1         pre = 1         fir = 1         j = 0         for i in range(1, len(ratings)):             if ratings[i] > ratings[i - 1]:                 pre += 1                 res += pre                 j = i                 fir = pre             elif ratings[i] == ratings[i - 1]:                 res += 1                 j = i                 pre = 1                 fir = pre             else:                 if pre == 1:                     res += i - j + int(i - j >= fir and ratings[j] > ratings[j+1])                 else:                     res += 1                     pre = 1         return res
点赞 回复
分享
发布于 2020-09-02 17:15
我想说一句,显示出来的题我只有两道算法题吗?😂
点赞 回复
分享
发布于 2020-09-02 17:29
阅文集团
校招火热招聘中
官网直投

相关推荐

1 7 评论
分享
牛客网
牛客企业服务