你需要知道的机试高频考点和注意事项
之前找工作的时候,遇到一个特别负责的hr,这个hr对接的每个人机考完后,他都会问考察的题和方向,然后回把他整理的这些高频知识点分享给待机考的人,我有幸和这位热心的hr对接过,就给大家分享下高频的知识点:
- 字符串,可以考察的方向有比较,拼接,排序,翻转,重排,这些类型的题在牛客上都能找到的,我之前就刷过,不过字符串是一不小心,就有可能出现越界等问题的,所以这部分题要谨慎处理
- 查找中位数,这个虽然当时hr这么说,但本质上应该是考察排序,这个也算是机试,笔试,面试中的高频问题了
- 递归,BFS/DFS,这个常见的就是n*n数组,这种题前段时间公司内部代码比赛就被考了,看来做领导的还是喜欢这种题,我领导当时就说迷宫题一定要考,就考的这种
- 二叉树,树的重要性不言而喻了,这个大家还是要准备的
- 数组
有可能还有其他的知识点,但暂时就想起这些知识点
典型考题:
- 组成最大数,给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数,这道题牛客上有,大家可以试着做一下
- 转骰子,这道题我也刷过,别的朋友说是遇到过
- 斗地主之顺子
- 按索引范围翻转文章片段
- 判断字符串子序列
- 第K个排列
- 字符串统计
- 计算最大乘积
- 查找中位数
- 寻找身高相近的朋友
- 用户调度问题
上面这些题,大家可以去牛客上的华为机试真题专栏查看,或者题库练习
上面介绍了知识点和典型题型,但还有一下内容是需要掌握的:
- 输入输出,刷过题的都知道,机试题都是根据输入数据,编写代码,然后输出,因此输入输出必须掌握,如scanf printf等函数,特别是采用printf输出数据时,要特别注意题目要求,输出多个数据时,什么情况下用空格间隔,什么时候下用换行,这虽然是细节问题,但会影响最后结果给的判定
- malloc这类,有时候我为了方便,直接采用数组开辟空间,但万一题中没说最大数据量的情况等,这个数组开辟的小了,代码就会出问题,开辟的大了又浪费空间,且实际项目中,开辟特别大的空间也不现实,这种情况下malloc这类的函数就需要掌握了
- free,和第2点对应
- 头函数,要之前常用函数的头函数,同时也要知道一个数学方面的头函数,万一用到呢。
上面这些是我目前掌握的信息,但实际上整个考试点还有很多,比如链表,堆,栈,队列,哈希等,不要就仅仅局限在上面的内容而忽略其他知识点,希望大家都机试顺利
#机试##华为机试,emo了#