- 浏览: 44275 次
- 性别:
- 来自: 成都
最新评论
各大IT公司校园招聘程序猿笔试、面试题集锦
百度一面
1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。
2、socket过程就是socket的server和client整个流程写下来,这个还是没啥问题的。
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8862863
http://blog.csdn.net/hackbuteer1/article/details/6583988
4、树的层次遍历,这个开始真忘了,想了半天才想起来用队列。然后他又让我详细写出入队出队的过程,总之还是搞定了。
5、两圆相切转圏问题——一个小圆半径是1厘米,一个大圆半径是5厘米,小圆沿着大圆转圈,请问要转几圈可以转完大圈?这个问题在行测题做过,就是公转自转的问题,不管大小圆半径是多少,外切转圏要转R/r+1圏,外切转圏转R/r-1圈。
百度二面
1、二叉树的前序遍历的递归和非递归的可执行程序http://blog.csdn.net/hackbuteer1/article/details/6583988
2、写出快速排序的实现代码,一个是字符串拼接函数的实现strcat(),还有大数相乘,都是基本题。
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755342 http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755358
3、归并排序的实现。http://blog.csdn.net/hackbuteer1/article/details/6568913
4、文件按a~z编号,aa~az,ba~bz...za...zz...aaa...aaz,aba~abz...这样的方法进行编号。给定任意一个编号,输出文件是第几个文件。并写出测试方法。简单,把编号看成26进制,这题就是一个十进制和26进制的进制转换问题了。
5、编程:两个链表,按升序排序,合并后仍按升序,不准用递归,并求复杂度
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8804403
百度电面:
1、谈谈你对数据库中索引的理解
2、现在普通关系数据库用得数据结构是什么类型的数据结构
3、索引的优点和缺点
(1、2、3见http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750824)
4、session、cookie和cache的区别是什么
5、如果有几千个session,怎么提高效率?
6、session是存储在什么地方,以什么形式存储的?
4、5、6见http://blog.csdn.net/aoxiangzhiguanjun/article/details/8851322
新浪技术部笔试题
一、数据结构和算法
1、简述什么是hashtable,如何解决hash冲突
2、什么叫二叉树,满二叉树,完全二叉树
3、数组和链表有什么区别,分别用在什么场合
上面问题很简单不懂直接百度
1、什么叫虚拟内存
2、块设备和字符设备有什么区别3、进程和线程的区别
1、2、3见http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750731
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8836522
三、Lunix
1、写出10个常用的linux命令和参数
2、如何查看磁盘剩余空间df -h1
3、如何查看端口是否被占用
4、如何查看某个进程所占用的内存用ps命令查看进程的内存
四、程序题(具体题目记不太清了)
1、用两个线程实现1-100的输出
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755260
思科一面:
1、C++和Java最大的区别是什么?
对内存的操作,java不需要程序员担心内存的释放等问题,而C++则不同
2、static、extern、global的作用?(再一次出现了static,上镜率真高挖~)http://blog.csdn.net/hackbuteer1/article/details/7487694
3、inline内联函数是否占用运行时间?
思科二面:
1、进程和线程有什么区别?
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750731
2、进程的调度算法,把记得的全说出来
3、页面的替换算法都有哪些?
2、3见http://blog.csdn.net/aoxiangzhiguanjun/article/details/8866323
4、用户态和内核态的区别?
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8866341
解法:先把N个点按x排序。
斜率k最大值为max(斜率(point[i],point[i+1])) 0<=i<n-2。
复杂度Nlog(N)。
以3个点为例,按照x排序后为ABC,假如3点共线,则斜率一样,假如不共线,则可以证明在AB或BC中,一定有一个点的斜率大于AC,一个点的斜率小于AC。
腾讯一面
1、关系型数据库的特点
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750824
2、父类的析构函数为什么要定义为虚函数
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750713
4、快排算法实现程序
http://blog.csdn.net/hackbuteer1/article/details/6568913
5、KMP算法实现程序
http://blog.csdn.net/hackbuteer1/article/details/7319115
6、override和overload的区别
一个是重写一个是重载,重写是多态的表现即继承一个接口多种不同的实现方式,其函数名和参数完全一样;重载则是函数名一样函数的参数不一样
7、编程并实现一个八皇后的解法
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755342
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8804403
1、在数据库中如何创建一个表
create table tablename(
no char(6) primary key not null,
name nchar(12) not null,
other nchar(50)
)
2、创建后如何添加一个记录、删除一个记录
insertintotablename(,,,)values(,,,)
delete value from tablename 条件
3、编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配。 (比较难)
http://andyqjd.blog.163.com/blog/static/1697382302011326992518/
5、请编写能直接实现strstr()函数功能的代码。
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755358
6、已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
4架6次,注意地球是圆的,可以从反方向飞
7、static的作用——再一次出现~http://blog.csdn.net/hackbuteer1/article/details/7487694http://blog.csdn.net/aoxiangzhiguanjun/article/details/8866292
8、写string类的构造,析构,拷贝函数——这题大约出现过4次左右,包括编程和程序填空,程序员面试宝典上有这题,也算是个经典笔试题,出现几率极大~http://blog.csdn.net/aoxiangzhiguanjun/article/details/8868207
微软面试题
微软面试题汇总http://www.cnblogs.com/qlee/archive/2011/09/16/2178873.html
1、给你一个凸多边形,你怎么用一条线,把它分成面积相等的两部分
依靠重心,经过重心做任意直线
2、有一条数轴,上有一整数点s,点s两侧分别放了两个机器人,不知道两个机器人分别距离s的距离,两机器人不能相互通信。现在,给你以下指令:
R(往右一格)
L(往左一格)
IF(S)是否在S点
GOTO A,跳到A代码段。
设计一套指令给两个机器人,让两个器机可以最终在某一点相遇。
3、怎么判断两棵二叉树是否是同构的
4、按层次打印一个二叉树
3、4见http://blog.csdn.net/Hackbuteer1/article/details/6583988
6、判断两个单链表是否有交叉
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8804403
58同城面试题
一面:
1、set(底层基于红黑树实现)的操作;
2、手写快排递归与非递归实现;
http://blog.csdn.net/hackbuteer1/article/details/6568913
3、KMP原理解释
http://blog.csdn.net/hackbuteer1/article/details/7319115
4、聚类分类协同过滤算法;
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750824
1、提示词实现Trie树+hash
2、最快速度求两个数组之交集;
3、文章最短摘要生成;
网易有道
1、试着用最小的比较次数去寻找数组中的最大值和最小值。解法一:
扫描一次数组找出最大值;再扫描一次数组找出最小值。
比较次数2N-2
解法二:
将数组中相邻的两个数分在一组, 每次比较两个相邻的数,将较大值交换至这两个数的左边,较小值放于右边。
对大者组扫描一次找出最大值,对小者组扫描一次找出最小值。
比较1.5N-2次,但需要改变数组结构
解法三:
每次比较相邻两个数,较大者与MAX比较,较小者与MIN比较,找出最大值和最小值。
迅雷面试题
1、写一个字符串插入的函数
2、问了我关于虚函数底层的实现
http://blog.csdn.net/hackbuteer1/article/details/7883531
3、写了快排、堆排
http://blog.csdn.net/hackbuteer1/article/details/6568913
4、问我TCP、UDP的一些知识
http://blog.csdn.net/hackbuteer1/article/details/6845406
5、还问了我一些Linux的知识
6、让我实现红黑树的删除操作
http://blog.csdn.net/hackbuteer1/article/details/7760584
网新恒天一面
1、考察指针int (*p)[10]和int *p[10]的区别,用法
前面是数组指针即指向十个数组,是指针,后面是指针数组即指向int*的十个元素,是数组。
2、sizeof(),strlen()的区别和用法
sizeof是求所占内存,strlen是指字符长度只能用于求字符串
http://zhidao.baidu.com/question/12033577.html
3、堆、栈的区别和用法
http://blog.csdn.net/citywanderer2005/article/details/613023
5、(1)IO2:30ms, CPU 20ms, IO1 20ms, CPU 30ms
(2) IO1 20ms, CPU 20ms, IO2 10ms
(3) CPU 30ms, IO1 20ms
求三种情况的CPU和IO占用率
网新恒天二面:
1、内联函数与宏的区别
http://blog.csdn.net/gao675597253/article/details/7397373
3、填空,考察页式虚拟内存的缺页情况,也是知道这部分知识点就会做的题
4、类的继承相关知识点的考察,是一道程序输出分析题
5、栈的类的成员函数的实现,程序填空题。
6、模板函数与函数模板的区别
7、函数模板与类模板的区别
6、7见http://blog.csdn.net/aoxiangzhiguanjun/article/details/8871804
百度笔试题
1、数组,链表的优缺点:这个问题比较简单不过我自己经常会忽略的一点是数组是固定空间,链表是可变空间
2、a[N][20]输入N个长度不超过20的字符串,比较这些字符串中是否有完全相同的字母,且相同字母数是否相等。如何改进该算法,降低复杂度。
3、猜扑克牌——给定一些牌,把花色告诉,把点数告诉乙
甲:我不知道 乙:我知道你不知道
甲:现在我知道了 乙:我也知道了
求是哪张牌。
给定的牌我不记得,反正这个题很简单,行测中的简单题,网上比比皆是。
4、A:M*M矩阵,求字符串S是否存在A的连续对角线上。(这题应该有涉及到一个之字二维矩阵方面的知识)
A若为内存装不下的大矩阵该如何处理?
5、系统接收数据包32字节,第1字节为优先级,其余为数据。设计一个调度算法
(1)优先级高的先处理
(2)同等条件下,请求次数多的先处理
(3)优先级高的一定比优先级低的先处理
写出所用的数据结构的定义,计算空间容量。
阿里巴巴B2B一面
1、各种排序算法的比较次数
http://blog.csdn.net/hackbuteer1/article/details/6568913
http://blog.csdn.net/hackbuteer1/article/details/7487694
3、x*=y+8,给出x,y的值,求该表达式计算后二者的值
4、enum类型的default赋值规则
5、定义函数F(int x){return (x*x);} 求F(3+5)
6、fgets(s,n,f)函数的功能
7、定义*s="ab\0cdef",输出该字符可以看到什么结果
输出ab \0是结束符
8、还是static相关知识——在此说明一下static这个关键字相当重要,在笔试中出现率为100%,在面试中出现率为50%。
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8866292
9、数据库中索引,簇索引,非簇,唯一,复合,覆盖索引的区别
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8750824
阿里巴巴B2B二面
1、通配符的含义
2、死锁的基本知识——死锁是各大笔试面试中出现率50%的知识点
互斥、循环等待、不可剥夺、请求保持
3、信号量P、V原语的相关知识点4、有向图的邻接表表示
5、STL中迭代器的工作原理,迭代器与普通指针有什么区别?
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8871804
迭代器和指针相同的地方:
1、指针和iterator都支持与整数进行+,-运算,而且其含义都是从当前位置向前或者向后移动n个位置
2、指针和iterator都支持减法运算,指针-指针得到的是两个指针之间的距离,迭代器-迭代器得到的是两个迭代器之间的距离
3、通过指针或者iterator都能够修改其指向的元素
通过上面这几点看,两者真的很像,但是两者也有着下面的几个不同地方
1、cout操作符可以直接输出指针的值,但是对迭代器进行在操作的时候会报错。通过看报错信息和头文件知道,迭代器返回的是对象引用而不是对象的值,所以cout只能输出迭代器使用*取值后的值而不能直接输出其自身。
2、指针能指向函数而迭代器不行,迭代器只能指向容器
这就说明了迭代器和指针其实是完全不一样的概念来的。指针是一种特殊的变量,它专门用来存放另一变量的地址,而迭代器只是参考了指针的特性进行设计的一种STL接口。
笔者曾在网上看到这样一种说法:迭代器是广义指针,而指针满足所有迭代器要求。迭代器是STL算法的接口,而指针是迭代器,因此STL算法可以使用指针来对基于指针的非STL容器进行操作。
笔者觉得上面说法也有几分道理,但是到底正不正确就留给看官自己判断了。但是有一点希望大家注意的是:千万不要把指针和迭代器搞混了。也许某些编译器使用指针来实现迭代器以至于有些人会误以为指针和迭代器是一个概念来的。
6、什么是友元?
为不是成员变量提供可以访问类的私有属性的一种方式,但其破坏了封装性
7、delete、new的用法8、typename的用法
提供统一的别名
9、编程判断一个数是否为2的幂
(n>0&&n&(n-1)==0)
10、你怎样重新改进和设计一个ATM银行自动取款机?12、10000Mbps万兆交换机怎么实现?
13、操作符重载的相关知识点,大题,具体记不清了
人民搜索的笔试题
1、打印汉诺塔移动步骤,并且计算复杂度
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755342
3、定义二叉树,节点值为int,计算二叉树中的值在[a,b]区间的节点的个数
4、动态规划题:一条路有k可坑,每次能跳平方数步长(1 4 9 16。。),不能跳到坑里,从a跳到b最少几步?
5、给一个整数数组,求数组中重复出现次数大于数组总个数一半的数。
1、对以孩子兄弟链接的树进行遍历,不能用递归,也不能借助任何辅助空间
2、假设数组B是升序Int数组A循环移若干得到的位,实现对数组B进行查找的高效算法
3、只有整数和+-*/四种运算组成的算术表达式,实现其求值
4、还有一个是考贪心算法的,你让他们看算法导论那本书,关于fractional knapsack problem的那一段,就是0-1背包的一种变形;
5、链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g
6、求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)
1、实现一个atoi函数==>'注意正负号的判定'
http://blog.csdn.net/aoxiangzhiguanjun/article/details/8755358
3、二叉树两个结点中的最小公共子结点==>求长度,长度之差,远的先走,再一起走
4、三角阵中从第一行到最后一行(给出搜索方向的限制)找一个连续的最大和==>广度优先搜索√
5、实现一个STL中的vector中的尽量多的方法。
6、字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小。
- /**
- **author:hackbuteer
- **date:2012-10-03
- **/
- voidArrange(char*str,intn)
- {
- inti,k=n-1;
- for(i=n-1;i>=0;--i)
- {
- if(str[i]!='*')
- {
- if(str[k]=='*')
- {
- str[k]=str[i];
- str[i]='*';
- }
- --k;
- }
- }
- }
内连接:进行连接的两个表对应的相匹配的字段完全相同的连接。
外连接又分为左外连接和右外连接。
左连接即LEFT OUTER JOIN:
两个表进行左连接时会返回左边表中的所有的行和右边表中与之相匹配的列值没有相匹配的用空值代替。
右连接即RIGHT OUTER JOIN:
两个表进行右连接时会返回右边表中的所有的行和左边表中与之相匹配的列值没有相匹配的用空值代替。
我们建立两张表,students、class并插入测试数据
students
---------------------------
id name classId
1 name1 1
2 name2 null
3 name3 2
---------------------------
class
-----------------------
id name
1 class1
2 class2
3 class3
-----------------------
实验结果如下:
mysql> select s.name,c.name from students s join class c where s.classId=c.id ; (注:inner join和join一样)
+-------+-------+
| name | class |
+-------+-------+
| name1 | 1 |
| name3 | 2 |
+-------+-------+
2 rows in set
mysql> select s.name,c.name from students s left join class c on s.classId=c.id ; (left join 和 left outer join 一样)
+-------+-------+
| name | class |
+-------+-------+
| name1 | 1 |
| name2 | NULL |
| name3 | 2 |
+-------+-------+
3 rows in set
mysql> select s.name,c.name from students s right join class c on s.classId=c.id ; (right join 和 right outer join 一样)
+-------+-------+
| name | class |
+-------+-------+
| name1 | 1 |
| name3 | 2 |
| NULL | 3 |
+-------+-------+
3 rows in set
原文出自http://blog.csdn.net/hackbuteer1/article/details/7959921
相关推荐
不管是新入行程序猿还是换工作程序猿都值得拥有,内容包括:最新企业笔试面试题大全.pdf、华为Java笔试题.doc、中数通&海颐.zip、上下五千年笔试题.doc、软通.zip、高亚.doc、南航考试试题库(配答案).docx、东软Java...
【标题】2014趣游校园招聘笔试题解析 【描述】本次解析将深入探讨2014年趣游公司在北京大学进行的校园招聘笔试环节中的相关问题,旨在为求职者提供宝贵的参考经验,帮助他们了解招聘过程中的常见挑战与应对策略。 ...
十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA...
根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试的书籍,由“猿媛之家”编著。由于提供的部分内容似乎并不是有效的中文文本,我们将主要依据标题和描述来构建相关的知识点。 ### Java程序员...
Android程序猿面试秘籍,真正的面试题库,Android程序猿面试秘籍
《程序员面试攻略》是一本全面指导程序员求职过程的书籍,旨在帮助求职者在竞争激烈的IT行业中脱颖而出。书中涵盖了从简历准备到面试技巧的各个环节,旨在为程序员提供一套完整且实用的求职策略。 首先,简历是求职...
在软件测试的面试题中,我们通常会遇到以下知识点: 1. 软件测试的目的与原则: - 目的:测试的主要目的是发现软件中的缺陷,降低产品开发风险,并记录软件运行的数据以提供决策支持。 - 原则:其中的“缺陷集群...
全面的嵌入式岗位笔试面试真题讲解
Java程序员面试是一个全面检验开发者技能、经验和知识深度的过程。这份资料集合了众多常见的Java面试问题,旨在帮助求职者准备充分,提升成功通过面试的概率。以下是一些关键的Java面试知识点,涵盖基础到进阶,从...
程序员面试笔试算法题 面试造火箭,工作拧螺丝!...为了温故而知新,特将题目分类如下,主要包括17和18年招聘时各公司的笔试题、《程序员代码面试指南》、面试过程中的算法题等,语言选择的是JAVA。
【hibernate面试笔试题】知识点详解 Hibernate 是一个广泛使用的Java对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以使用面向对象的编程方式来处理数据库交互。在面试和笔试中,Hibernate 相关的问题是...
2. "面试题" - 涉及到企业招聘过程中的面试环节,可能包括技术、行为、逻辑等各类问题。 3. "校招" - 校园招聘,是企业直接在高校中招募应届毕业生的活动。 4. "笔试" - 面试前通常会有一个书面测试,检验应聘者的...
其中包含了C语言的面试题,这表明这份资料主要针对的是C语言编程的基础与进阶知识。下面我们将深入探讨C语言面试中可能会遇到的关键知识点。 1. **基本语法**:C语言的基础语法是面试的起点,包括变量声明、数据...
大厂面试题:百度历年笔试面试150题分享给需要的同学,逢考必过!
"今日头条校招面试笔试题.rar"这个标题明确指出了资源的内容,它是一个压缩文件(rar格式),包含的是今日头条公司在校园招聘过程中使用的面试和笔试题目。"今日头条"是中国知名的新闻与信息聚合平台,其招聘流程...
### Java面试题详解 #### 1. Java 异常处理机制 Java的异常处理机制是其安全性的重要组成部分。当程序运行时遇到意外情况,如数组越界、空指针访问等,Java会抛出异常来通知程序员有错误发生。异常处理主要通过`...
面试或笔试中,除了上述技术性问题,还会涉及实际案例分析,如处理大数据量的策略,解决特定业务场景下的数据库设计问题等。因此,准备这些方面的知识将对数据库程序员的面试至关重要。通过深入学习和实践,考生可以...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 63、启动一个线程是用run()还是start()? 答:启动一...
综上所述,FPGA和数字IC设计面试题通常会涵盖同步和异步逻辑、时序设计、亚稳态处理、系统速度计算以及流水线技术等核心概念。理解并掌握这些知识点对于成功通过面试至关重要。在准备过程中,除了熟悉理论,还需要...