前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试问题整理

面试问题整理

作者头像
Harper
发布2021-07-27 10:08:16
3160
发布2021-07-27 10:08:16
举报
文章被收录于专栏:Harper的碎碎念Harper的碎碎念

最近一段时间整理了一些我遇到的面试题,各个方面都有,写在这里,做个记录。大厂偏好算法和数据结构,小厂偏好项目经验。这算是一个比较鲜明的特点了。

C++

  • static 的作用

static的最主要功能是隐藏,

其次因为static变量存放在静态存储区,所以它具备持久性和默认值0.

用于类成员声明,所有实例共享。

C++中static关键字作用总结

  • extern “C” 的作用

extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。 extern “C”作用详解

  • sizeof(char)、sizeof(char*)、sizeof(int)、sizeof(int*)

1、4 or 8、4、4 or 8 C/C++中sizeof()的用法

  • 指针是多少字节由什么决定

程序位数决定

STL

  • shared_ptr 如何解决循环引用

使用weak_ptr std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

  • Vector、List、Queue分别在什么情况下用

查找操作使用较多,使用Vector

增删操作使用较多,使用List

先进先出的使用场景,使用Queue

数据结构

  • 完全二叉树是什么

完全二叉树:倒数第二层是满二叉树,最后一层靠左对齐

  • 满二叉树是什么

满二叉树:结点要么是叶子结点,要么它有两个孩子结点。

操作系统

  • 进程与线程分别都是什么

进程:程序在执行过程中分配和管理资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。(资源独立,创建销毁代价大) 线程:CPU独立运行和独立调度的基本单位。(堆公有,栈私有,创建销毁代价小)

  • 进程与线程能否多对多

可以多对多。1. 地址空间映射;2. 进程间通讯。 做好这两部分。(云计算比较有用)

  • 线程切换上下文需要保存什么信息

CONTEXT结构中保存着特定于处理器寄存器的数据。系统使用CONTEXT结构执行各种内部操作。参考WinNT.h

见《Windows核心编程》P174

  • 线程安全与可重入分别都是什么

线程安全:某个方法,在多线程下调用,跟顺序执行一致,即安全的,就叫做线程安全方法

可重入:某个方法,执行过程中,中断,然后继续执行,结果不受影响,即方法可重入

二者没什么概念上的必然联系。一个方法是可重入的,不一定就是线程安全的;一个方法是线程安全的,不一定是可重入的

  • 给两把锁、两个线程如何构造死锁

线程T1、T2;锁L1、L2。T1获取L1,等待L2,获取L2,释放L2,释放L1;T2获取L2,等待L1,获取L1,释放L1,释放L2。 多线程死锁例子

  • 同步异步和阻塞非阻塞的区别

A线程while循环,B线程打印,先后开启A、B线程,能否输出内容

计算机网络

  • TCP 三次握手
    • A -> B SYN
    • B -> A SYN+ACK
    • A -> B ACK

数据库

  • 什么是主键和外键
    • 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
    • 外键:在一个表中存在的另一个表的主键称此表的外键。
  • DROP、DELETE、TRUNCATE的用途
    • DELETE是DML,可以回滚,需要显式提交,删除单条数据。
    • DROP是DDL,隐式提交,不能回滚,不触发触发器。删除表结构。
    • TRUNCATE是DDL, 隐式提交,不能回滚,不触发触发器。清空表内容。

    drop、truncate和delete的区别

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++
  • STL
  • 数据结构
  • 操作系统
  • 计算机网络
  • 数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档