面试问题

面试问题

面试问题

1、RS485在通信方面的一些设置
第一、波特率,波特率是指在1s内可以传输的字符的数量,比如9600代表1s内可以传输9600个字符
而波特率越大,传输的距离就越小
第二、差分电平,因为信号的发送是要有A,B端的电压差的,而因为发送的是字符流,都是1,0
所以当VA-VB>=200mV时代表逻辑1,当VA-VB<=200mV时代表逻辑0
第三、终端电阻120Ω
在A,B两端并联120Ω的电阻,目的是减少信号的干扰,吸收信号末端的干扰
第四、接发送芯片
核心的5个引脚---RO是负责接收输出,DI是负责驱动输出,而DE和/RE引脚短接在一起,他们两个均为1时输出高电平,而他们两个均为0时则输出低电平
2、unordered_map和map的区别
map底层是红黑树,而unorder_map是哈希表,因为红黑树都是随机分散的内存,而哈希表是整块的内存,所以map的内存开销更大,遍历比较慢
值得一提的是,哈希表如果遇到了不同的key计算得到相同的value,所以每个桶数组下的链表就会增加元素(这里就是分散的内存了)
如果桶元素太少,而插入的元素太多了后就会导致链表太长,然后就会重建一个更大的桶数组,把之前的元素开始重新分配,会导致内存被极致占用!
3、对于Qt中ui会导致卡顿问题,那槽函数应该怎么设计呢?
一般是把计算等耗时操作放在子线程