是不是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成员函数,只访问类的静态成员函数。
(待补充)
与再学习一下。
–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成员函数,只访问类的静态成员函数。
(待补充)
相关文章推荐
- IBM 几次电话面试的总结
- 东方有限网络面试·我是不是太奢侈了
- 总结面试时没有回答上的内存对齐问题
- java面试大总结(2)
- java面试汇总(总结了所有的面试中可能出现的题目)
- java面试大总结(3)
- C++面试的一些总结
- 总结了一些常见的排序算法,面试必备啊!
- java面试大总结(1)
- 浪潮通软笔试、面试总结,正规的典型。
- 面试经验总结
- 面试总结
- 总结面试时没有回答上的设置内存对齐方式问题
- 这几年的面试与被面试总结
- 总结,面试相关的问题的回答技巧?(来源于天涯论坛)
- 面试失误总结
- 这几年的面试与被面试总结
- 第一次面试总结
- 总结:WHUACM 2007暑假招新笔试(附原题,有许多经典的面试题目)
- 总结雅虎面试题目