360第一次面试(电面)未完待续

1 内部名称

C和C++语言实现都会按照特定的规则把用户(程序员)定义的标识符(各种函数,变量,类型,以及命名空间)转换为相应的内部名称。当然,这些内部名称的命名方法还与用户为它们指定的连接规范有关,比如使用C的连接规范,则main的内部名称就是_main。

2 C为什么不支持重载,C++支持重载

部分采摘至《高质量c++/c语言》

其实这个原因,还是要从C和C++的命名规则来看

在C语言中,采用了极其简单的函数名称规则:仅在所有函数名的前面添加前缀“_”,从唯一识别函数的作用上,实际上和不添加前缀没什么区别

但是C++则采用了不同的重命名规则(Name-Mangling)。同名函数可以根据函数的参数类型,参数个数,参数顺序等等生成不同的内部函数名,从而重载函数。例如在在他们的前面分别添加所属各级作用域的名称(class,namespace等),及重载函数经过编码的参数信息(参数类型,个数),作为前缀或者后缀,产生全局名字Sample_1_foo@pch@1、Sample_1_foo@int@1、Sample_2_foo@pch@1、Sample_2_foo@int@1。这样就可以区分了。另外,标准C++的不同实现会采用不同的Name_Mangling。

c++内存布局

智能指针的用途(以及内部的大概实现)

仿函数

C++特点是什么,多态实现机制?(面试问过)多态作用?两个必要条件?

面向对象的三个基本特征,并简单叙述之?

为什么要把基类的析构函数定义为虚函数

多态的用处(泛型)

C++虚函数是如何实现的?

进程间通信的方式

进程内存空间分布情况

线程间同步的几种方法

各种Linux下的命令(查看磁盘使用率,TCP抓包等等)

虚拟地址空间有多大

面试题
1-100中少一个数,快速缺的找出这个数
1-100中缺少两个数,找出这两个数

TCP半关闭

http有几种方法(常用的 GET,POST,PUT…)

TCP为什么是四次挥手

设计模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值