2022-09-29-深信服一面-40min

不用上下班打卡,没有人手一个监控(特别问了下),福利比较好,文化概念里没有领导,面试官在家面试,没有单独会议室。

进程的内存分配、状态。

又问了内存泄漏咋解决,和蚂蚁一样。

面试官湖南口音,有点亲切。

检测IP合法性,检测是否为B类IP,给10分钟。

// 你必须定义一个 `main()` 函数入口。
#include <iostream>
#include <string>
using namespace std;
bool checkIPv4(const string& ip){
    int32_t n=0; // number
    for(int32_t i=0;i<ip.length();i++){
        if(isdigit(ip[i])){
            int32_t j=i+1;
            while(j<ip.length()&&std::isdigit(ip[j]))
                j++;
            if(j!=ip.length()&&ip[j]!='.')
                return false;
            long long v = std::stoll(ip.substr(i,j-i));
            if(v<0&&v>=256)
                return false;
            n++;
            i=j;
        }else return false;
    }
    return n==4;
}

bool isBIpv4(const string& ip){
    int32_t v[4];
    for(int32_t i=0,n=0;i<ip.length();i++){
        int32_t j=i;
        while(j<ip.length()&&ip[j]!='.')j++;
        v[n++]=stoi(ip.substr(i,j-i));
        i=j;
        break;
    }
    if(v[0]<128||v[0]>191)return false;
    return true;
}

int main()
{
    string ip = "128.1.1.1";
    bool isip = checkIPv4(ip);
    cout<<ip<<" is a real IP? "<<(isip==1)<<"\n";
    if(isip)
        cout<<ip<<" is a B class IP? "<<(isBIpv4(ip)==1)<<"\n";
    return 0;
}

// 判断一个字符串是否为IPV4地址,如果是,判断是否为B类地址(128.0.0.0到191.255.255.255)(编程)

// 从100万条日志的文件中,如何快速获取到前10条出现频率最高的日志。(思路)
// 2048 char
// string-> hash %10000 -> fid -> hash file -> top 10 / file -> merge

// 字典树

// vector<string> 10k
// random pivotStr  -> 

// flink wordCount

// 还有没有

// 最后面试官说用堆解决,这个怎么解决?不懂。
#深信服##深信服校招##深信服面经##23届秋招笔面经##23秋招#
全部评论
窑鸡场加班看组的。
2 回复 分享
发布于 2022-09-29 21:23 内蒙古
大佬深信服有消息么
点赞 回复 分享
发布于 2022-10-13 17:40 福建
维护一个大小为10的小根堆,每次出现频率大于堆顶元素的,就删掉堆顶元素把它加进来。
点赞 回复 分享
发布于 2022-10-05 09:22 广东

相关推荐

09-22 22:22
中山大学 Java
乌鱼子萨奇:羡慕你啊,直接转正了,都不用经历秋招的炼狱,但是你少经历了很多痛苦的事情啊
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务