随笔——面试

jottings~

一个无头无脑爱追星的人在某次面试所碰到的问题写了个破破烂烂的随笔~

封面安利~~哈哈哈哈哈


问题1:c++智能指针的作用,内部如何实现?

RAII(resource acquisition is initialization):资源获取即初始化
智能指针是行为类似于指针的类对象,内部依赖于模板类实现。
作用:自动管理内存的分配和释放,减少因为手动管理内存带来的错误。
实现原理:将new获得的地址赋给智能指针对象,在智能指针过期时会自动调用delete释放内存。

问题2:函数外的变量存放在哪?临时变量存放在哪?

c++管理数据内存的方式
自动存储(栈):
    函数内部定义的变量(局部变量)使用自动存储空间,在函数调用时变量产生,函数结束变量消亡。
静态存储(堆中的静态内存区):
    整个程序执行期间都存在的存储方式,静态变量(函数外定义、static修饰)。
动态存储(堆):
    new、delete管理内存池,一个自由存储空间即堆,变量生命周期不受函数和程序生命周期控制。 

问题3:进程间通信方式?线程间通信方式?

进程间通信:有名管道、无名管道、消息队列、共享内存、信号、信号灯集
线程间通信:同步(条件变量)、互斥(互斥锁) 

问题4:tcp/ip七层模型

七层模型:应用层-表示层-会话层-传输层-网络层-数据链路层-物理层
tcp在传输层
tcp寻址方式:ip寻址,ip确定唯一物理机 

问题5:在用户现场碰见程序崩溃重启后仍崩溃问题,如何快速定位问题点?

我的答案:核心转储,调试崩溃(有时无法看出具体问题)

貌似面试老师给我说了个啥,我没记住......
?大神们,你们都有哪些方法啊,求告知。 

问题6:linux抓包tcpdump

tcpdump [option] [protocal] [dir] [type]
option:-c(限制抓包次数)
protocal:tcp/udp/icmp/ip/ip6/arp/ether/wlan
dir:src/dst
type:host/net/port(type后需要接参数) 

问题7:Modbus有哪几种寄存器?

#1字节寄存器
线圈寄存器(01读线圈、05写单线圈、15写多线圈)、离散输入寄存器(02读线圈)
#2字节寄存器
保持寄存器(03读寄存器、06写单寄存器、16写多寄存器)、输入寄存器(04读寄存器) 

问题8:一些范围

无符号整形数的范围-32767-32768
有符号整形数的范围0-65535
   #64位系统/32位系统
   char        1字节
   int        4字节
   short    2字节
   long        8字节    
   float    4字节
   double    8字节
   unsigned int 4字节
   char*    8字节/4字节 


题外话:老师说了很多数据库,只了解Sqlite的我来说都没听过,更没用过... 

so~~~~~

浅浅先知道一下存在的各类型数据库都有哪些叭~(后边再来学习用法吧)
关系型数据库:MySql/Oracle(商用)/PostgreSQL/Sqlite/MariaDB
文档型数据库:MongoDB/CouchDB
键值数据库:Redis/AmazonDynamoDB
列存储数据库:Apache Cassandra/HBash
图数据库:Neo4j/ArangoDB
时间序列数据库:InfluxDB/TimescaleDB
多模型数据库:Couchbase/OrientDB
国产数据库:OceanBase/TiDB/达蒙/羲和/人大金仓(Kingbase)/华为GaussDB


 

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值