Advertisement

2014年9月26 搜狗面试经历

阅读量:

2014年9月26 搜狗面试经历

面试时间本来约的是11点钟,实际是11点半才进到里面开始面试。

首先是自我介绍。当时略显紧张状态,在简单介绍一下自己的学校、专业以及参与的项目后便结束此部分叙述。随后面试官查看了我的简历,并询问了我的家乡信息。我觉得这里或许可以再多说几句:我在选择搜狗的原因之一是因为家离北京相对较近

接下来的四十多分钟里,基本都在讨论之前的那张笔试试卷。

1、 先问的是C/C++第一题,也就是考的联合体,这个很简单。

后来考试涉及Linux 64位下的C程序问题,主要考察sizeof运算符在处理指针、数组以及函数参数中的数组形参时的大小问题;这部分内容相对容易掌握。

3、 int a[5] = {1, 2,3, 4, 5}; int ptr =(int)(&a+1); printf(“%d,%d”,*(a+1), *(ptr-1));

4、

后面问的是数据结构方面的一些题

5、 给出后序和中序遍历的结果,让画出二叉树。

6、 给出一递归函数,让计算这个函数被调用的次数。

7、 讲解归并排序的原理

8、 给出一个序列,让写出快排一趟后的结果,并讲给他听。

依然是这个序列采用希尔排序方法对数据进行整体排序记录每次排序的具体结果无需编写代码实现

10、 给一小顶堆,写出删除堆顶元素后,重新调整的结果。

在Windows相关的问题中出现了一道关于跨进程同步的问题:哪些不能用于跨进程同步?其中涉及的选项包括Condition-variable、Mutex等。

数据结构相关的编程题包括反转二叉树以及要求交换各节点的左右子树的问题,并不采用递归的方法。这个题目相对简单。通过使用一个队列来进行层次遍历这棵二叉树,在遍历时将各节点的左右子树进行交换。

13、 Windows领域存在一个较为突出的问题:小明开发了一个基于TCP协议的应用程序,在用户数量激增的情况下会产生卡顿及响应中断等问题。进而要求分析可能导致这些问题的原因,并探讨如何优化程序架构以确保网络延迟不会影响用户体验。

我当时是基于TCP和UDP协议的异同点来回答的,同时也提到了多线程。

最后一个问题是要实现一个基于数组实现循环队列类。因为考试时间不够用了,我只能完成其中约一半的代码。余下的部分则简单地概述了思路。面试官让我重新审视了这个问题。我便在试卷上花了大约两分半钟进行思考。然后我把我的思路向他做了陈述。

以上部分属于试卷上的题目内容。随后讨论了项目的各个方面、基础知识要点、个人发展规划以及编写了一个小功能模块。

项目方面,请让我介绍一下这个项目的性质及职责。后来他要求我画出项目的主要模块图,并指出了哪些是我独立完成的部分。接着他让我详细讲解了各个模块的具体实现方法。当谈到读取cookie以及获取用户的上网浏览历史记录时,请面试官和我都进行了深入讨论。当时我觉得自己的讲解还不够流畅。我的程序中还需要解析一个名为Index.dat的特定数据文件,请问这个文件的基本结构是什么?为了完成我的项目工作,请面试官让我编写一段代码来实现对目录下所有文件的递归遍历操作。然而,在回忆所需的那些关键数据结构以及相关的API接口时却有些手忙脚乱的状态。

引用与指针之间的区别是什么呢?C++如何实现多态性?在面试过程中, 面试官给出了两个示例类——类A与class B, 并要求我分析并计算这两个 class 的内存占用大小. 类 A 包含一个 int 类型变量以及一个 virtual 函数,而 class B 则继承自 class A, 并在此基础上增加了另一个 int 类型成员变量, 同时重写了原有的 virtual 函数并补充了一个新的 virtual 函数. 经过计算, 正确的答案应该是 8 字节与 12 字节. 然而, 我当时却答错了这个问题.

面试官询问我除了阅读C和C++书籍外的其他书籍是否感兴趣。
我对他的问题未能做出恰当的回答。
我不知道他想知道什么。

面试 官询问 了我 是否 了解 其他 编程 语言,并 提到 了Java 和Py thon 。 我仅 限于 了解 这些 语 言的 基 础知识 , 因此 他 没有 进一 步追问 。

面试官要求我编写一个strcpy函数,在我的编码过程中首先在第一行加入了一个assert语句用于检测是否存在空指针的情况接着根据目标地址的大小决定是前向还是后向复制的方式处理问题然而对于我的工作成果面试官似乎并不满意随后与我对assert在调试模式和编译模式的区别进行了深入探讨看起来他对将异常处理机制整合到代码中提出了更高的要求

20、 面试官还问了我代码量有多少,都学过什么计算机方面的课程等。

面试官还询问了相关经历以及个人兴趣爱好等方面的问题,并问我是否阅读过其他书籍。此外,他还对我的未来职业规划表示关注。

整个面试过程时长约为90分钟。整体进展顺利,大多数问题均给出了合理的回答。个别环节的回答略显不足。这些问题相对来说难度并不大;搜狗集团招聘人数有限,而前来应聘的优秀人才数量却较多。目前个人能力与岗位要求尚有差距。

我主攻C++编程领域。在面试中常会遇到关于C++相关问题及数据结构方面的考题。对于 STL 和虚函数等专业知识,在回答过程中有所欠缺。然而,在数据结构相关的问题上表现尚可。

对于一些后续的问题处理得不够理想,在学习过程中也暴露了一些不足之处。例如“除了C++相关的书籍外”以及“关于计算机基础知识的学习情况”等方面存在一定的欠缺。(注:我的本科学习并非集中在计算机领域)整体而言,在知识广度上还有待提升,并且还有很多重要的知识点尚未涉及。

全部评论 (0)

还没有任何评论哟~