今天下午去面试一家公司 职位是初级程序员。
个人认为自己的c++水平不差。
首先是笔试 发现有12道题目,有逻辑题目也有写代码的题目的吧。。。
逻辑题目的有:烧蜡烛的和分球的(12个球 称三次 找不不同的 重量未知) 刚网上查的是 4 4 4分组的 我写的时候是3 3 3 3 分组的 我开始还以为自己是对的(因为这道题目是我最后才做的)
然后代码的有:
链表的反转
strstr函数的重写
钱的划分 比如152 划分为 1张100的 1张50的 1张两元的
洗牌算法
带有重复值的 strcpy(const char *A,char *B)其中B中有一部分是和A重复的
链表的反转:我看的 貌似没叫我写代码 我就直接画图了。。。
strstr的重写: 写的太复杂 不够简单,以前也没有对这个进行太多的关注,看Strcpy的时候比较多(因为笔试的时候常出 的)
刚才百度了下 贴下 标准代码:
char *strstr(const char *s1, const char *s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (!*(s2 + n + 1))
return (char *)s1;
}
s1++;
}
return NULL;
}
else
return (char *)s1;
}
我的写法判断了后面的长度是否比前面长和相等的。
然后最核心的时候使用的是最简单的方法(没有考虑细节的)还不带kmp的- -因为kmp喊我写 我也写不出 。。。。
钱的划分 我表示 我笔试的时候很笨 居然用的是-100 -50的算法。。。
后来想了下 这道题目 应该是用模(%)来进行解决吧
洗牌算法: 上次百度上专门看过了的,我写的是用链表来洗牌的(没写代码 只画了图)
带有重复值的 strcpy(const char *A,char *B)其中B中有一部分是和A重复的:
我表示 我在试卷上写的代码 真的很二,因为当时也没想太多这里面的道道只加了一个判断A[i] == B[i]..........。。
交了卷子后 我就等待着面试。。结果 那个前台妹妹给我很委婉的说:你笔试不理想,你可以滚了。。。
也怪自己 ,原来一直以为带面试的笔试重要是在面试上面,然后就可以对笔试的问题进行纠正了。。
把思路写到位 就可以了,结果现在想想 貌似我连思路都没到位。
本来我想在面试的时候解释一下的,结果连面试的机会多没有了。。。。。其实也怪自己 在纸上写代码 从来都没好好的写过,然后这次悲剧了吧- -
哎。。。只能以后注意了,,,看了我这篇文章的人 以后也注意了 笔试题目好好答呀。。机会就这样错过了。。。。
哦 对了 我面试的公司 是Tap4fun。
以后要好好加油呀 --
我的个去 初级程序员的笔试都没过 -- 连面试的机会都没 太打击人了