面试 校招 得物下头面试 const 关键字的作⽤ define 和 typedef 的区别 define 和 inline 的区别

小伙伴们👋,今天来聊聊我最近遇到的一个面试奇葩经历,真的是让人哭笑不得🤣。

今天,我遇到了一个超级下头的面试官,真的是让人大开眼界👀。面试得物的岗位,面试官一上来就没开摄像头,直接问我代码能力怎么样。我老实回答说leetcode刷了400+题,结果他竟然笑了,是那种让人不舒服的嘲笑

😒。

接着,他让我写一个hashtable,我写了个hash+链地址+并发安全的版本。写完后,他直接说结束了,我一脸懵逼,问了句“这么快?”然后他让我介绍一下项目,接着就说候选人很多,面试就这样草草结束了

🔚。

从头到尾,我都觉得这像是KPI面试,就是那种为了完成面试任务而面试的,真的好恶心🤢。面试开始的时候就感觉到了,但真的没想到会这么明显。

👉 忘记说了,面试官还迟到了,真的是让人无语至极。


评论区的小伙伴们也是各种反应,有的说不开摄像头的面试基本都是KPI面试,有的分享了自己的经历,说不开摄像头也拿到了offer,还有的说面试官不开摄像头可能是因为其他原因。

🌟 评论区精选:

  • ZoeDoet:95?

  • lonestarm:之前牛客上有人讲过,不开摄像头一律按kpi面算,这句话是真的。

  • 说又不是不能用的牛牛很爱刷美剧:不好说,我之前面百度实习两轮面试都没开摄像头,也拿到offer了。


大家怎么看呢?面试官态度重要吗?项目介绍真的那么重要吗?

每日一篇C++面试和基础知识

const 关键字的作⽤

const关键字主要⽤于指定变量、指针、引⽤、成员函数等的性质

1.  常量变量:声明常量,使变量的值不能被修改。

2.  指针和引⽤声明指向常量的指针,表示指针所指向的值是常量,不能通过指针修改。声明常量引⽤,表示引⽤的值是常量,不能通过引⽤修改。

const int* ptr = &constantValue;  // 指向常量的指针

const int& ref = constantValue;  // 常量引⽤

3.  成员函数:⽤于声明常量成员函数,表示该函数不会修改对象的成员变量(对于成员变量是⾮静态的情况)。

4.  常量对象:声明对象为常量,使得对象的成员变量不能被修改。

5.  常引⽤参数:声明函数参数为常量引⽤,表示函数不会修改传⼊的参数。

6.  常量指针参数:声明函数参数为指向常量的指针,表示函数不会通过指针修改传⼊的数据。

define 和 typedef 的区别

define

1.  只是简单的字符串替换,没有类型检查

2.  是在编译的预处理阶段起作⽤

3.  可以⽤来防⽌头⽂件重复引⽤

4.  不分配内存,给出的是⽴即数,有多少次使⽤就进⾏多少次替换

typedef

1.  有对应的数据类型,是要进⾏判断的

2.  是在编译、运⾏的时候起作⽤

3.  在静态存储区中分配空间,在程序运⾏过程中内存中只有⼀个拷⻉

define 和 inline 的区别

1、define:

定义预编译时处理的宏,只是简单的字符串替换,⽆类型检查,不安全。

2、inline:

inline是先将内联函数编译完成⽣成了函数体直接插⼊被调⽤的地⽅,减少了压栈,跳转和返回的操作。没有普通函数调⽤时的额外开销;

内联函数是⼀种特殊的函数,会进⾏类型检查;

对编译器的⼀种请求,编译器有可能拒绝这种请求; 

C++中inline编译限制:

1.  不能存在任何形式的循环语句

2.  不能存在过多的条件判断语句

3.  函数体不能过于庞⼤

4.  内联函数声明必须在调⽤语句之前

const和define的区别

const⽤于定义常量;⽽define⽤于定义宏,⽽宏也可以⽤于定义常量。都⽤于常量定义时,它们的区别有: 

​ 1.  const⽣效于编译的阶段;define⽣效于预处理阶段。

2.  const定义的常量,在C语⾔中是存储在内存中、需要额外的内存空间的;define定义的常量,运⾏时是直接 的操作数,并不会存放在内存中。

3.  const定义的常量是带类型的;define定义的常量不带类型。因此define定义的常量不利于类型检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值