【找工作】南京三星中国研究院

发布时间:2016-12-9 23:25:00 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【找工作】南京三星中国研究院",主要涉及到【找工作】南京三星中国研究院方面的内容,对于【找工作】南京三星中国研究院感兴趣的同学可以参考一下。

一、求职要求 来自:http://search.51job.com/job/51574357,c.html 职位职能:  软件工程师   职位描述: 业务内容: 1. 从事智能家庭监控,设备互联等技术的研究和产品开发 2. 从事LBS/SNS,以及多屏融合业务的研究和产品开发 3. 从事新一代多媒体电子书编辑器/阅读器的开发及标准的研究 所需专业: 计算机科学/软件工程/信息处理/应用数学等相关专业 应聘要求: 1. 相关专业本科生及以上学历 2. 熟悉C/C++/Java或 CSS/XML/JavaScript等编程语言,熟悉UML和软件设计模式 3. 了解E-Pub, web layout engine或者HTTP, REST, web service等相关技术 符合以下条件之一者优先: 1. 熟悉YouTube, Facebook,Twitter等SNS API者优先 2. 有浏览器内核开发经验者或掌握Eclipse插件开发技术者优先 3. 熟悉数据挖掘,机器学习,计算机视觉等相关算法者优先   二、面试要求: 准备内容: 首先会有30分钟编程笔试题 面试交流中,将请您进行5分钟左右英文自我介绍(如:教育背景和重要个人论述、个人强项技术介绍等) 其余时间为面试官提问时间用中文对答,面试时间预计为30分钟左右 三、相关准备  主要针对网上搜到的提到的相关题目就行准备 1. 简单描述堆和栈(《程序员面试宝典》P179) (1)它们是两种不同的数据结构,栈(stack)是由操作系统自动分配/释放,存放本地的参数值、局部变量的值等。堆(heap)是程序员手动分配/释放。 (2)栈是线性结构,空间有限;而堆是线性表,比较灵活,有自由的存储区。C中的malloc分配的空间就在堆上,C++中分          配的空间也在堆上。  (3)程序在编译时堆变量和函数的分配都在栈上进行,且函数运行中函数的调用的参数的传递也在栈上运行。    内存分为以下几个部分:代码区 ,全局区(静态区),堆,栈,文字变量区(字符串区) 2. 非递归实现中序遍历二叉树。(《数据结构--使用C++描述》P88)      递归方法:    template<class T> void Visit(T &x) { cout<<x<<“ ”; } template<class T> void BinaryTree<T>::InOder(void(*Visit)(T&x)){ InOrder(Visit,root); } template<class T> void BinaryTree<T>::InOrder(void(*Visit)(T &x),BTNode<T>*t) { if(t){ InPreOrder(Visit,t->lChild); Visit(t->element); InPreOrder(Visit,t->RChild); } } 非递归方法:转载自:http://blog.csdn.net/cxllyg/article/details/7520037#include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <queue> #include <stack> #include <iostream> using namespace std; typedef struct BiTNode{ char data; BiTNode *lchild, *rchild; }BiTNode,*BiTree; void CreateBiTree(BiTree &T)//建树,按先序顺序输入节点 { char ch; scanf("%c",&ch); if(ch==' ') { T=NULL; return; } else { T=(BiTree)malloc(sizeof(BiTNode)); if(!T) exit(1); T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild); } } void InOrderTraverse(BiTree T)//非递归中序遍历 { stack<BiTree> Stack; if(!T) { printf("空树!\n"); return; } while(T || !Stack.empty()) { while(T) { Stack.push(T); T=T->lchild; } T=Stack.top(); Stack.pop(); printf("%c",T->data); T=T->rchild; } } void PreOrderTraverse(BiTree T)//非递归先序遍历 { stack<BiTree> Stack; if(!T) { printf("空树!\n"); return; } while(T || !Stack.empty()) { while(T) { Stack.push(T); printf("%c",T->data); T=T->lchild; } T=Stack.top(); Stack.pop(); T=T->rchild; } } void PostOrderTraverse(BiTree T)//非递归后序遍历,用一个标记标记右子树是否访问过 { int flag[20]; stack<BiTree> Stack; if(!T) { printf("空树!\n"); return; } while(T) { Stack.push(T); flag[Stack.size()]=0; T=T->lchild; } while(!Stack.empty()) { T=Stack.top(); while(T->rchild && flag[Stack.size()]==0) { flag[Stack.size()]=1; T=T->rchild; while(T) { Stack.push(T); flag[Stack.size()]=0; T=T->lchild; } } T=Stack.top(); printf("%c",T->data); Stack.pop(); } } void main() { BiTree T; CreateBiTree(T); PreOrderTraverse(T); printf("\n"); InOrderTraverse(T); printf("\n"); PostOrderTraverse(T); printf("\n"); } 3. 图像轮廓检测常用方法(腾讯面试问过)       利用边缘灰度的变化率、方向  (1)                 在没有边缘变化的情况下,g(x,y)的值基本为0,但是在边缘处,g(x,y)的值不为0,运用一个2*2的算子就可以检测出边缘部分,很巧妙的算法。 (2)Sobel 一阶导数算子          (3)Prewitt(一阶导数算子) (4)kirsch(非线性算子) Kirsch算子是R.Kirsch提出来一种边缘检测新算法,它采用8个模板对图像上的每一个像素点进行卷积求导数,这8个模板代表8个方向,对图像上的8个特定边缘方向作出最大响应,运算中取最大值作为图像的边缘输出    (5)Laplacian 算子(二阶算子)          为了去除噪声,可以使用高斯滤波器进行滤波,相当于低通滤波器。原始图像的边缘就处在拉普拉斯的值等于0的地方 (6)Canny算子(待补充)             四、面试内容  (1)笔试部分         编程题1:输入一个字符串,比如“aa%%bb”,输出其中字母的个数 如a:2;b;2         编程题2:将一个数据转成单链表并排序(降序)。                        将一个单链表再排序(升序)。  (2)面试部分:         1.堆和栈的区别(面试时忘了,之前还准备的)         2.C语言中的静态函数解释下。         3.K-means算法(个人项目内容)         4.视频摘要介绍下,关键帧的定义?         5.你还有什么想问我们的?         6.红黑树是什么?         7.知道哪些数据结构?         8.自己独立编过哪些算法?如何实现的?         9.是否用过其他非监督学习算法做视频摘要?        10.人脸识别的时候选用什么特征?为什么?        11. grabcut函数的原理?        12. 感兴趣区域的广告监测的原理介绍下?        13.谈谈对操作系统的了解。        14. 语音识别的原理(腾讯电话面试)        15. 视频检索你如何实现?        16.车牌识别的原理?        17.手写和打印的字你如何分别识别呢?        18.SIFT算法解释?(联想实习面试)        19.你如何设计图片检索系统?原理?(联想实习面试)        20.知道一些图像检索的比赛吗?        21.个人专利中快递单上数字字符识别的原理?                     其算法包含两个步骤,字符定位和字符识别。              字符定位即通过用户选定大致区域,进行每个字符的精确定位与分割;而字符识别即对精确分割的每个字符进行识别。              字符定位主要包含:区域定位、预处理以及字符分割三个步骤,当用户选定数字大致区域后,根据聚类算法准确定位号码区域;接下来,对区域进行去噪、自适应二值              化以及形态学处理等预处理操作;最后,实现每个字符的精确分割,将单个字符所在区域用最小外接矩形框进行标示。而字符识别的步骤根据字符的性质不同而不同。             当字符为印刷体的0-9数字时,建立一个包含各种印刷字体和大小的0-9数字的素材库,使用Tesseract-ocr算法进行训练,即可实现印刷体数字的识别。当字符为手写体              的0-9数字时,同样建立一个各种手写字体和大小的0-9数字的素材库,训练时提取统计和结构特征训练SVM分类器;识别时,通过提取同样的特征,再通过训练好的             SVM模型即可实现识别。    

上一篇:Python网页抓取urllib,urllib2,httplib[1]
下一篇:HDU 4217 Data Structure? 树状数组

相关文章

相关评论