个人面试后的感想500字 面试总结怎么写( 四 )


24.同一个IP和端口可以同时建立tcp和udp连接吗?
是的 , 虽然udp和tcp的端口号相同 , 但本质上是不同的端口 , 所以没有影响 。从底层分析 , 每个连接内核维护一个五元组 , 五元组包括源ip、目的ip、源端口和目的端口、传输协议 。虽然这里前四项相同 , 但是传输协议不同 , 所以内核会认为有两种不同的连接 , 会在ip层进行 。
25.mysql用什么命令创建表、删除表、更新表、查询表?
a:创建|删除|更新|选择表[表名]
26.mysql的索引有哪些?
答:(1)普通索引在表上创建索引[index _ name](列(长度))
(2)唯一索引
(3)全文索引
(4)单列和多列索引
(5)综合指数
27.指数的优缺点 , 指数越多越好吗?
答:可以有效缩短数据的检索时间 。建立索引列可以保证行的唯一性 , 加快表之间的连接 。但是 , 创建和维护索引需要时间和空开销 , 并且每个索引都要占用数据库的空存储空间 。此外 , 每次添加、删除和修改都需要动态维护索引 , 这也将导致更长的时间 。
28.指数的适用场景
答:(1)如果数据量大 , 查询频率高 , 应该使用索引 。
(2)对于表连接时的联合查询 , 需要对约束条件的字段进行索引 。
(3)索引可用于排序字段 。
。。。。。
29.索引的原理
答:改变空之间的时间 。索引建立后 , 索引的键值会放在一个btree上 。这种方法是一种N除法 。BTree适用于动态搜索磁盘上的表 。每次用索引搜索 , 都会根据键值进行搜索 , 是logn级别的 。
腾讯梅田工作室(实习)
1.哈希表使用开放链 。里面的链表太长是什么意思?
答:hash函数设计不好导致冲突严重 , 进而导致同一个“桶”中链表的数量增加 。
2.c++不能继承的类
答:(1)可以把构造函数放入私有 , 这样就不可能构造子类对象了 。同时 , 添加一个静态get实例函数来调用构造函数 。(但是你不能用这种方法在栈上得到一个对象)
(2)让这个类继承一个模板类 , 继承者的模板类型是这个类 , 使得这个类成为模板类的朋友 , 这样构造子类的时候 , 他直接先构造祖先类的组件 , 显然不是朋友 , 所以失败 。
(3)使用c++11新的final关键字 , 声明的类是final类 , 不能继承 。
3.什么是字长?
答:计算机能同时处理的一组二进制数称为计算机的一个字 。这组二进制数的位数就是字长 , 所以现在计算机有16位 , 32位 , 64位等等 。
4.计算机存储系统?
答:分为内存和外存 , 其中内存包括主存、缓存、寄存器等 。 , 而外部存储器又分为磁盘和光盘等 。
5.静态关键字的功能和存储位置
答:静态关键字有隔离和隐藏的功能 , 比如多个cpp文件 。如果全局变量被声明为static , 那么该变量只对文件可见;声明为static的变量可以使这个值的生存期成为整个程序的结束;另外 , c++类中staitic声明的变量和函数表示都是类的属性 , 不是对象的成员 。未初始化的放在bss部分 , 初始化的放在data部分 。
6.堆和栈的区别
回答:
在管理方式上 , 栈由编译器自动管理 , 无需人工控制 。
对于heap来说 , 开发和发布工作是由程序员控制的 , 所以存在内存泄露等情况 。
从应用大小来说 , 堆栈是从高位地址向低位地址延伸的 , 是一个连续的内存区域 , 所以从一开始就分配了堆栈的顶地址或大小 。在使用中 , 比如递归调用层数太多 , 堆栈可能会溢出 , 所以堆栈能得到的少空;堆扩展到高位地址 , 是链表组织的方式 , 所以可能是不连续的 , 大小只受有效虚拟内存大小的限制 , 所以堆可以开辟大量的空 。
从碎片的问题来说 , 堆栈没有碎片 , 因为它有严格的堆叠和堆叠 , 不会有内存块从堆栈中间弹出 。在堆碎片的情况下 , 频繁调用new/delete分配来释放内存将不可避免地导致内存碎片 。
在分配方式上 , 栈是动态分配的 , 大部分是静态分配 , 或者动态分配 , 可以通过alloc函数分配 。


推荐阅读