您的位置:首页 > 职场人生

是不是100次面试就会有100次总结

2016-11-24 00:38 295 查看
开始找工作,过程并没有想象中的顺利,有太多的东西都忘记了,在这里总结

与再学习一下。

–1.推荐算法工程师–

*单向链表的逆序:

十分基础的题目,设置三个变量用来存储头节点,中间节点,新的头节点,然后再依序遍历链表即可

*判断一个数是否是2的n次幂:

可以使用位运算来计算,if(n & (n - 1) == 0)

算法题目(答案后续补充):

*有三个从小到大排列的数组,找出其中前100个大的数字,并计算算法复杂度,如果是k个数组呢?

没有想到高效的办法。。

*如何高效查找出论坛评论中的水军?

只想到一个以空间换时间的方法,为每个用户建立评论数属性,根据评论数与论坛总评论数相比,查找出恶意评论的水军。

*已知ABCDE5个点之间的距离,求经过所有点的最短路径。

因为点数很少可以使用暴力计算的方式获取最优解,或者使用A算法进行遍历:

设置两个表分别存储已经遍历过的点和还没有遍历的点,从A开始,初始情况下

open = [A] close = []

获取与A相连的子节点,并按距离排序,最近的在第一位

open = [B C E D] close = [A]

再以B为起点,计算子节点距离并排序

open = [D C E] close = [A B]

以此类推

open = [E C] close = [A B D]

open = [C] close = [A B D E]

open = [] close = [A B D E C]

-2.linux内核开发工程师-

没有什么面试题,聊着聊着发现方向不对,就结束了

-3.C++图像处理工程师-

先问了些有关linux 和 c语言基础的问题

*进程间通信方式有哪些方式?

管道,有名管道,信号量,消息队列,信号,共享内存,套接字

*数组和链表相比有什么缺点,具体解释下哈希表

数组不能随意插入元素,虽然查找起来比链表快。哈希表综合了数组与链表的优点,哈希表先通过一定的公式为每一个元素计算出一个key值,并将这些key值放到对应的数组中,对于拥有相同key值的元素,以链表形式挂在数组对应的元素上,也就是说,哈希表中的key与value是一对多的情况,多个value以链表方式挂在对应key下面。

图像处理方面:

*描述一个指纹识别算法

比较复杂,主要是先过滤图像提取特征点,然后根据特征点进行匹配

*如何进行图像的轮廓提取

有多种算子可以进行轮廓提取,此处略

*图像腐蚀和膨胀是怎么实现的?



-4.一次电话面试-

*C++中delete与delete[]的区别

delete和delete[]都可以清空申请的内存,但是delete[]还会调用数组中元素的析构函数,但是delete不会。

*linux 线程同步的操作有哪些?

互斥锁,条件变量,信号量

*互斥锁的实现原理是什么?

*gdb如何切换线程

使用thread命令

*malloc的内部实现是什么?

*linux 32位机器上函数传入参数的具体操作流程

*linux中发生SIGFAUILT的原因有哪些?(coredump)

-5.算法后台开发人员面试-

*已知一个数组开始严格递增,然后严格递减,如何求最大的数

最大的数的规律是左边比它小,右边比它小,再加以二分法即可求解

*已知两个矩形,如何计算它们的重叠面积

*求一堆点的闭包,既连接这些点的外围,能够包含所有点的最小图形

*如果一台linux的内存是4g,数据大小为10g,将数据预先放入缓存中对于哪种场景是可以达到性能优化的?

*linux内核占用率高可能的原因是什么?对于多核cpu来说,如何负载均衡?

*linux缓存中存在的数据内容包括哪些?

*用C++实现一个单例模式

单例模式需要在类中生命一个静态成员变量,并且声明一个instance实例函数,创建实例时调用这个函数,检查静态成员变量是否存在,如果不存在则new一个类对象,如果已存在则不做任何操作。同时,最好考虑多线程的情况,操作变量期间进行加锁操作。

*静态成员变量的作用是什么?静态函数的作用是什么?

静态成员变量即指不针对某一个对象,而是类的所有对象公有的成员;当一个成员函数不会访问或改变任何对象成员数据时,可以声明为static成员函数,只访问类的静态成员函数。

(待补充)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  日记