美团软件开发工程师一面

部分知识点引用小林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;
}

智慧消防安全与应急管理是现代城市安全管理的重要组成部分,随着城市化进程的加速,传统消防安全管理面临着诸多挑战,如消防安全责任制度落实不到位、消防设施日常管理不足、消防警力不足等。这些问题不仅制约了消防安全管理水平的提升,也给城市的安全运行带来了潜在风险。然而,物联网和智慧城市技术的快速发展为解决这些问题提供了新的思路和方法。智慧消防作为物联网和智慧城市技术结合的创新产物,正在成为社会消防安全管理的新趋势。 智慧消防的核心在于通过技术创新实现消防安全管理的智能化和自动化。其主要应用包括物联网消防安全监管平台、城市消防远程监控系统、智慧消防平台等,这些系统利用先进的技术手段,如GPS、GSM、GIS等,实现了对消防设施的实时监控、智能巡检和精准定位。例如,单兵定位方案通过信标点定位和微惯导加蓝牙辅助定位技术,能够精确掌握消防人员的位置信息,从而提高救援效率和安全性。智慧消防不仅提升了消防设施的管理质量,还优化了社会消防安全管理资源的配置,降低了管理成本。此外,智慧消防的应用还弥补了传统消防安全管理中数据处理方式落后、值班制度执行不彻底等问题,赋予了建筑消防设施智能化、自动化的能力。 尽管智慧消防技术在社会消防安全管理工作中的应用已经展现出巨大的潜力和优势,但目前仍处于实践探索阶段。相关职能部门和研究企业需要加大研究开发力度,进一步完善系统的功能与实效性。智慧消防的发展既面临风险,也充满机遇。当前,社会消防安全管理工作中仍存在制度执行不彻底、消防设施日常维护不到位等问题,而智慧消防理念与技术的应用可以有效弥补这些弊端,提高消防安全管理的自动化与智能化水平。随着智慧城市理念的不断发展和实践,智慧消防将成为推动社会消防安全管理工作与城市化进程同步发展的关键力量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Pmetpord丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值