面试面的心力交瘁,这个还不算对口,不过想想还是去了!
面试部门介绍
这个貌似就是技术部了,面的还是C艹
的工程师,这个我根本不会写,也就看看~
这个职位具体估计就是导航相关的算法工程师C/C艹
的,不难。
面试过程
又有笔试,我最讨厌笔试了,我已经养成习惯了,改着写代码,不断优化代码,SO~,代码写的很乱~
笔试
这是很正式的笔试题,个人感觉比去哪儿的笔试题要更正式和全面一些。里面涵盖的面也比较广,这才像是针对校招的试题。 这套试题我总共花了一个多小时做好了,前面都是语言的基础知识,中间是关于内存的基础知识,最后两个算法题挺有意思的,一个是内存拷贝的,另一个是多边形切分的。还是在下面详细叙述一下题意吧。
- 让实现一个函数:
void *memcopy(void *dest, void *source, size_t length)
返回值是dest
注意事项:dest
和source
可能有内存重叠的地方,拷贝的时候要保证数据重叠部分在拷贝到dest
后再被覆盖。 - 用坐标表示的多边形
(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:从我面试经验来看,应该是够用了)。
问题就是算法数据结构还没有那么熟练,还得再好好看看。手写代码太不规范,写完过一个小时估计我自己都看不懂了。