美团软件开发工程师一面

部分知识点引用小林coding

  1. TCP/IP网络模型及相关协议
    应用层:专注于为用户提供应用功能,比如 HTTP、FTP、Telnet、DNS、SMTP等。
    传输层:为应用层提供网络支持的,有两个传输协议,分别是 TCP 和 UDP。
    网络层:实现应用到应用的通信,IP
    网络接口层:在 IP 头部的前面加上 MAC 头部,并封装成数据帧(Data frame)发送到网络上,arp,rarp协议
    在这里插入图片描述

  2. 三次握手的过程及其理解
    在这里插入图片描述

  3. 四次挥手的过程及其理解
    在这里插入图片描述

  4. cookie是啥?
    Cookie 通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。在客户端第一次请求后,服务器会下发一个装有客户信息的「小贴纸」,后续客户端请求服务器的时候,带上「小贴纸」,服务器就能认得了了。

  5. session是啥?
    Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。

  6. tomato是啥?
    Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用。

  7. linux系统启动的过程
    1)加载内核:当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
    2)启动初始化进程:内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境。
    3)确定运行级别:Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
    4)加载开机启动程序(系统初始化):init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。
    5)用户登录
    6)进入login shell:所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。

  8. linux系统的目录有哪些分别有什么作用
    见链接

  9. home目录存储那些东西
    该目录包含每个用户的家目录。例如:用户 xiaoming 的家目录为 /home/xiaoming,在用户家目录下包含该用户的数据文件和用户特定的配置文件。每个用户仅对其自己的家目录具有写访问权,并且必须获得管理员权限(root 权限)才能修改系统上非该用户的文件。通常也将其设置为一个单独的分区。

  10. bin目录存储哪些东西
    需要在单用户模式可用的必要命令(可执行文件),面向所有用户,例如: cat、 ls、 cp等。注意:/bin 目录是 /usr/bin 的软连接。
    单用户模式:在最小环境中使用超级用户维护系统环境,例如:修改损坏的系统文件、修改配置文件等。

  11. etc目录存储哪些东西
    该目录包含系统范围内的配置文件。注意:/etc 目录包含系统范围的配置文件,特定于用户的配置文件位于每个用户的家目录中。

  12. 挂载文件存在那个目录
    /mnt 目录:该目录是临时挂载文件系统的位置。例如:挂载 U 盘,然后通过挂载的文件访问 U 盘内容。

  13. 软链接和硬链接
    硬链接就是同一个文件使用了多个别名;
    软链接:若文件用户数据块中存放的内容是另一文件的路径名的指向;

  14. linux查看文件的尾部
    tail命令会显示文件最后几行(即文件尾部)的内容。默认情况下,它会显示文件的末尾10行。

  15. cat查看文件是一次性加载文件吗?
    cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况

  16. 查看网络端口用什么命令
    lsof命令:lsof(list open files)是一个列出当前系统打开文件的工具。lsof -i:端口号
    netstat:netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况,netstat -nltp | grep 端口号

  17. 查看网络配置用什么命令
    ifconfig命令可以查看与配置网络状态

  18. 查看网络状态
    netstat 命令是一个用于监控系统TCP/IP网络状态的命令,它可以显示网络连接与每一个网络接口设备的状态与进程相关信息。

  19. ping怎么用,底层协议是啥?
    “ping”命令使用ICMP协议,该协议是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

  20. 事务的四大特性
    在这里插入图片描述

  21. 并行事务会引发什么问题?
    脏读:如果一个事务「读到」了另一个「未提交事务修改过的数据」,就意味着发生了「脏读」现象。
    不可重复读:在一个事务内多次读取同一个数据,如果出现前后两次读到的数据不一样的情况,就意味着发生了「不可重复读」现象。
    幻读:在一个事务内多次查询某个符合查询条件的「记录数量」,如果出现前后两次查询到的记录数量不一样的情况,就意味着发生了「幻读」现象。

  22. InnoDB如何解决不可重复读的?
    可重复读隔离级别是启动事务时生成一个 Read View,然后整个事务期间都在用这个 Read View。

  23. 数据库输入一条命令发生了什么?
    在这里插入图片描述

  24. 数据库中的日志
    undo log(回滚日志):是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 MVCC。
    redo log(重做日志):是 Innodb 存储引擎层生成的日志,实现了事务中的持久性,主要用于掉电等故障恢复;
    binlog (归档日志):是 Server 层生成的日志,主要用于数据备份和主从复制;

  25. MVCC有了解吗?解决的是什么问题?
    隔离性是通过 MVCC(多版本并发控制) 或锁机制来保证的;

  26. 数据库中有哪些锁?
    全局锁:全局锁主要应用于做全库逻辑备份,执行后,整个数据库就处于只读状态了
    表级别的锁有这几种:
    1)表锁;
    2)元数据锁(MDL);
    3)意向锁;
    在使用 InnoDB 引擎的表里对某些记录加上「共享锁」之前,需要先在表级别加上一个「意向共享锁」;
    在使用 InnoDB 引擎的表里对某些纪录加上「独占锁」之前,需要先在表级别加上一个「意向独占锁」;
    4)AUTO-INC 锁;
    AUTO-INC 锁是特殊的表锁机制,锁不是再一个事务提交后才释放,而是再执行完插入语句后就会立即释放。
    行级锁的类型主要有三类:
    1)Record Lock,记录锁,也就是仅仅把一条记录锁上;
    2)Gap Lock,间隙锁,锁定一个范围,但是不包含记录本身;
    3)Next-Key Lock:Record Lock + Gap Lock 的组合,锁定一个范围,并且锁定记录本身。

  27. InnoDB和MylSAM的锁有哪些区别?
    InnoDB 引擎是支持行级锁的,而 MyISAM 引擎并不支持行级锁。

  28. B+树和B树的区别?
    区别:所有关键码都存放在叶节点中,上层的非叶节点的关键码是其子树中最小(或最大)关键码的复写。叶节点包含了全部关键码及指向相应数据记录存放地址的指针,且叶节点本身按关键码从小到大顺序连接。如果按下层结点“最小关键码复写”原则,则树中每个非叶结点中有 m 棵子树必有 m - 1 个关键码;如果按下层结点“最大关键码复写”原则,则树中每个非叶结点中有 m 棵子树必有 m 个关键码。在搜索过程中,如果查询和内部节点的关键字一致,那么搜索过程不停止,而是继续向下搜索这个分支。

  29. 你对分布式的理解
    为了解决传统单体服务架构带来的各种问题,代码数量庞大,迭代测试维护困难,可能因为一处改动测试不到位造成整个服务瘫痪等问题,分布式系统就是将一个大的服务拆分成几十个甚至上百个微小的服务。

  30. cap的理解
    CAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍性。CAP是一个已经被证实的理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三项中的两项。

  31. 有哪些设计模式
    在这里插入图片描述
    在这里插入图片描述
    (2)工厂模式:所谓工厂方法模式,是指定义一个用于创建对象的接口,让子类决定实例化哪一个类。

  32. 手撕代码:先进先出(输入:3 2 4 1 4 6 # 窗口为4,输出:3 2)

#include<iostream>
#include<queue>
using namespace std;
int main() {
    int t;
    queue<int> val;
    while(cin>>t){
        val.push(t);
        if(val.size()>4){
            cout<<val.front()<<" ";
            val.pop();
        }
    }
    return 0;
}

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在风能领域,准确预测风速对于风电场的运行与管理至关重要。Matlab作为一个强大的数学计算和数据分析平台,被广泛应用于风速预测模型的构建。本文将深入探讨基于四种风速——随机风、基本风、阵风和渐变风的组合风速预测技术。 我们来理解这四种风速类型: 1. **随机风**:随机风是指风速呈现出随机性的变化,通常由大气湍流引起。在建模中,通常通过统计方法如高斯分布或Weibull分布来模拟这种不确定性。 2. **基本风**:基本风速是指在无特定扰动条件下的平均风速,它是长期观测结果的平均值,通常用于结构设计和风能评估。 3. **阵风**:阵风是短时间内风速显著增强的现象,对建筑物和风力发电机造成的主要威胁之一。阵风的预测涉及到风的脉动特性分析。 4. **渐变风**:渐变风是指风速随时间和空间逐渐变化的过程,常见于风向转变或地形影响下的风场变化。 在Matlab中,利用这四种风速类型进行组合预测,可以提高预测的准确性。预测模型可能包括以下几个步骤: 1. **数据收集与预处理**:收集历史风速数据,包括随机风、基本风、阵风和渐变风的数据,进行异常值检测、缺失值填充以及数据标准化。 2. **特征工程**:提取风速变化的相关特征,如平均值、标准差、极值、频率分布等,这些特征可能对预测有重要影响。 3. **模型选择**:可以选择多种预测模型,如时间序列分析(ARIMA、状态空间模型等)、机器学习算法(线性回归、决策树、支持向量机、神经网络等)或深度学习模型(LSTM、GRU等)。 4. **模型训练**:利用历史数据训练选定的模型,调整模型参数以优化性能,例如通过交叉验证来避免过拟合。 5. **模型验证与评估**:使用独立的测试集验证模型预测效果,常见的评估指标有均方误差(MSE)、平均绝对误差(MAE)和决定系数(R²)。 6. **组合预测**:结合四种风速的不同模型预测结果,可以采用加权平均、集成学习(如bagging、boosting)等方式,以提升整体预测精度。 7. **实时更新与动态调整**:实际应用中,模型需要不断接收新的风速数据并进行在线更新,以适应风场环境的变化。 通过以上步骤,可以构建一个综合考虑各种风速特性的预测系统,这对于风电场的功率输出预测、风电设备的维护计划以及电网调度都具有重要价值。然而,需要注意的是,每个风场的地理环境、气候条件和设备状况都有所不同,因此模型的建立应根据实际情况进行定制和优
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhInen丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值