面试面的心力交瘁,这个还不算对口,不过想想还是去了!

面试部门介绍

这个貌似就是技术部了,面的还是C艹的工程师,这个我根本不会写,也就看看~ 这个职位具体估计就是导航相关的算法工程师C/C艹的,不难。

面试过程

又有笔试,我最讨厌笔试了,我已经养成习惯了,改着写代码,不断优化代码,SO~,代码写的很乱~

笔试

这是很正式的笔试题,个人感觉比去哪儿的笔试题要更正式和全面一些。里面涵盖的面也比较广,这才像是针对校招的试题。 这套试题我总共花了一个多小时做好了,前面都是语言的基础知识,中间是关于内存的基础知识,最后两个算法题挺有意思的,一个是内存拷贝的,另一个是多边形切分的。还是在下面详细叙述一下题意吧。

  1. 让实现一个函数:void *memcopy(void *dest, void *source, size_t length)返回值是dest 注意事项:destsource可能有内存重叠的地方,拷贝的时候要保证数据重叠部分在拷贝到dest后再被覆盖。
  2. 用坐标表示的多边形(x1,y1) , (x2,y2) , ...,写个程序把多边形被y轴切割的右边的部分输出出来,与y轴作为所生成的切割图形的右边。例如:有图形:(-1,-1) , (-1,1) , (1,1) , (1,-1),则切割后输出:(-1,-1) , (-1,1) , (0,1) , (0,-1),这个题可能描述不太清楚大概是这么个意思~

面试

面试分了两轮,我最不满意的是等的时间太长,貌似领导出差去了~(PS:领导都出差了~),然后就是一个应该也是工作时间不长的人面试的我,又让写了个程序,算法倒简单,就是看代码,他跟我说了好几遍代码要规范,基本就是随便聊聊就这么就过去了。(PS:聊的很开心,内容就不说了~)

第二轮面试面试官是个美女,我以为是HR,其实也是技术面,问的比较细,什么内存对齐什么的,答的还算可以,然后又出了个题,让写代码(总是让写~),然后就稍微写写讲讲。然后给出了道题: 有一个数组,里面可能有连续出现的数字,算了,还是用个例子来描述吧:比如有一个数组:[1,2,1,3,3,3,4,5,5,6](当然也可能是无序的,也数组长度会给,但是数组长度不固定),让构造一个函数返回:[1,2,1,3,4,5,6,5,5,6],并且返回一个数字7,表示有效的数字数有7个。空间开辟是O(1),时间尽可能的快。 美女就这么虐了我,让写,写不出来,太长了~而且还没有好算法~ 然后就是常规流程回去等消息了。

总结

我发现我还是C语言比较熟,内存部分还算可以,算法一般(PS:从我面试经验来看,应该是够用了)。 问题就是算法数据结构还没有那么熟练,还得再好好看看。手写代码太不规范,写完过一个小时估计我自己都看不懂了。