当前位置: 首页 > 面试经验 >

华为od 纯c 技术二面

优质
小牛编辑
103浏览
2023-04-13

华为od  纯c 技术二面

首先还是自我介绍,项目经历,然后开始C语言的八股
上来二面面试官先问了一个应该是软件封装相关的问题?设计一个程序交付的时候,如果程序中包含A,B,C 三个不同的功能函数,怎么实现不同客户能够使用不一样的功能? 比如说:甲客户可以使用ABC三个功能,乙客户只能用AB... 这个问题属于是盲区了,当时也没太听懂 没答上来。
const 和 #define 的区别 答:const 定义的是变量#define 是常数 是简单的字符替换
分别的起作用阶段 答:#define 编译 const 运行 (应该是编译、运行吧)
C语言内存分为哪些区? 答:(当时答得有点乱)应该是代码区、静态区、栈区、堆区吧
了解哪些数据结构 答:数组、字符串、栈、队列、二叉树、链表
讲一下快排 还有它的时间复杂度 答:随机选一个数小于的放左边 等于放中间 大于放右边 然后左右再递归 时间复杂度最优nlogn 最差n^2
讲一下哈希表 还有它的应用 答:(说实话不太用哈希)key值 value 组成的表 应用是能统计查询(不太会用所以答得模棱两可)
讲一下什么是二叉树,它能实现什么其他的数据结构 答:从根节点向下递归延伸出左右不相交子树的结构体 二叉树能构造大根堆小根堆(讲的比较笼统,还说错一次说成 桶 @_@ 晕 后来改口说是堆 不知道面试官听没听到)
开始手撕代码 —— 39. 组合总和
有了第一次暴力解的经历,这次我痛定思痛,开始想优化算法,刚开始以为和3数之和那样,整个多指针,但是元素不限次数使用,数目不定,遂放弃;之后想了很久也没想出更好的解法,面试官看了下时间,就让我写了几段伪代码讲讲思路,最后还是 排序+暴力回溯DFS 解的。
 类似资料: