杭州睿琪面试总结

是因为刚好今年考了PAT乙级联系我的,本着有机会涨面试经验就去的想法去面试的。

因为PAT免笔试,到了之后先做了一份逻辑能力测试的题目,时间是30min,主要是语言逻辑、图形规律、数字规律、空间感的几个题目,总共三十题,做完发现已经40分钟了,没人来催我,等了一会还是没人来,主动出门找了HR,果然是要主动出来的……悲伤。

一面:

一面面试时间有点长,刚开始问了一下对自己水平的判断。主动坦白了对C++不熟,面试官表示接下来不会问C++方面的问题。

第一个问题是:给出0-9的数字,任意组成一个10位数,判断在它之前最多可能有几个数字。思路大体是正确的,用到阶乘,但是忘了将高位较小的数减去,在得知答案错误的情况下发现了问题,给出了正确解题思路。然后问了一下C语言中文件操作的几个问题,比如怎么打开文件,怎么获取当前文件行号,怎么判断一个文件的大小。问完又问了头文件的 “” 和 <> 的区别。

接着问了对排序算法清不清楚:回答了有冒泡、选择、插入、归并、快速、堆排序。然后手写了一份快排的程序。其中又少写了一个判断条件(有点紧张)还好是自己发现的,趁面试官还没反应过来主动指出来了。

然后又问了编译器编译过程。其实刚好这两个月一直在看程序员的自我修养,还蛮熟的说了一遍,顺便把四个过程的特点也说了一遍。被特地问了一下预编译的时候编译器做了那些事。碰到自己熟悉的东西就要反复扯。哈哈。后来发现《程序员的自我修养》的作者石凡在这个公司,也是幸运吧。

最后问了一个图论题目:在一个X、Y矩阵中,有X*Y条长度不同的路径。找到一个点,使其到四个顶点的路径最长。这个问题完全暴露了非CS科班出身的短板,学习时间也短,一下子梳理不清其中的关系,脑子混乱卡了很久。后来面试官帮忙简化了一下问题,求对角顶点的最长路径,终于反应过来找出最长路径。丢脸的是又卡在怎么原来的问题上,面试官又给了点时间想了一下,发现其实就是两对对角顶点最长路径相重的点就是所求的点。最后要求写一下求最长路径的代码,一直没反应过来,在递归的问题上纠结了好久。最后等二面的时候突然反应过来才写出来……

二面:

二面就只问了一个问题,只用加减乘除求一个数a的平方根,精确到小数点后两位。刚开始想错了方向,觉得n++,直到(a/n)*(a/n)2.25因为到了小数点后两位就停下来了,所以误差会很大。其实还是原来的思维在影响着我。其实面试官想要的回答是可能会出现2.29/3.00/3.01结果,会有0.1的误差。终于反应过来之后问我改怎么解决误差。想了一会儿之后,面试官说时间差不多了。同样在等三面的时候反应过来精确到小数点后三位,然后四舍五入不就好了……

然后问了一下在学校的项目和感觉自己的优势在哪里。大概说了一下项目,然后说自己感兴趣,愿意专研。感觉自己说的还不错,最后面试官做了个总结,说我优点是有好奇心,反应不错。缺点是基础差,非科班出身。其实自己也感觉有问题。对语言的了解不够广的话就很难去明白语言背后相通的内在逻辑。对数据结构算法的不够深入就导致在某些问题上反应慢。

因为问我优势的时候也提到了对程序内在的逻辑感兴趣,也让我说了一遍编译的过程。又吧啦吧啦说了一遍,果然被听出来了主要是《程序员的自我修养》上的,就提到了石凡。

三面就是HR和我谈心了。聊了聊人生。

总的下来感觉外面和学校还是很不一样的,这次面试有运气好的成分,面试官人也不错,比较宽容。接下来虽然在学Linux的东西,但是算法和数据结构的东西还是不够深入。C++也要继续学。现在太沉迷于自己给自己构建的嵌入式世界不需要十分深入的算法和数据结构了。虽然一直在提醒自己既然在学就不能只做搬砖工,还是落了平庸的套。接下来有三件事需要做:1.C++ ,2.算法(刷PAT吧,明年三月份考甲级),3.写一两个项目填充一下自己。


你可能感兴趣的:(剑指offer,面经)