面试攻略:46大公司C++与Java笔试题集锦
需积分: 9 82 浏览量
更新于2024-09-18
收藏 345KB PDF 举报
"46家公司的面试题集,涵盖了C++和Java等技术领域的题目,适合准备面试者学习。"
1. Sony笔试题
- 题目1:这是一道填充空缺代码的问题,目标是生成一个星号(*)组成的图案。根据规律,这个程序应该是一个简单的循环结构,用于打印出不同行数的星号,每一行的星号数量递增。可以使用两个嵌套循环来实现,外层循环控制行数,内层循环控制每行的星号个数。
```c
for(i = 1; i <= N; i++) {
for(j = 1; j <= 2*i - 1; j++)
printf("*");
printf("\n");
}
```
- 题目2:这是一个要求实现降序排序的程序。可以使用冒泡排序、选择排序或者快速排序等算法。这里展示一个简单的冒泡排序实现:
```c
void sort() {
int temp;
for (i = 0; i < sizeof(array) / sizeof(array[0]) - 1; i++) {
for (j = 0; j < sizeof(array) / sizeof(array[0]) - 1 - i; j++) {
if (array[j] < array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
```
2. 费波那契数列
- 要求计算第10项,可以使用递归或迭代方法。递归方法简单直观,但效率低,因为它会重复计算许多相同的子问题。而迭代方法效率更高,避免了重复计算。以下是迭代法实现:
```c
int Pheponatch(int N) {
if (N <= 0) return 0;
int fib1 = 0, fib2 = 1, fib = 0;
for (int i = 2; i <= N; i++) {
fib = fib1 + fib2;
fib1 = fib2;
fib2 = fib;
}
return fib;
}
```
3. 程序崩溃问题
- 这段代码在`append`函数调用后缺少分号,导致语法错误。另外,`TNode`结构体定义中没有包含结构体名称,应修正为`typedef struct TNode { ... } TNode;`。正确的代码片段应该是:
```c
#include<stdio.h>
#include<malloc.h>
typedef struct TNode {
TNode* left;
TNode* right;
int value;
} TNode;
TNode* root = NULL;
void append(int N);
int main() {
append(63);
append(45);
append(32);
}
```
4. 其他知识点:
- 面试中常出现的编程语言基础,如C++和Java的语法、数据结构(数组、链表、树等)、排序算法、递归与迭代、内存管理(如动态内存分配)等。
- 面试题通常会测试应聘者的逻辑思维能力、问题解决能力以及对基础知识的掌握程度。
- 在准备面试时,除了理解具体知识点,还需要了解其背后的原理和应用场景,以便灵活运用。
通过这些题目,你可以了解面试中可能遇到的问题类型,并进行有针对性的复习和练习。对于每种类型的题目,都需要深入理解其解题思路和优化方法,这样才能在实际面试中应对自如。
2020-09-24 上传
2009-08-28 上传
2024-01-27 上传
2023-08-31 上传
2023-06-13 上传
2023-08-19 上传
2023-05-13 上传
2023-04-29 上传
nana5218
- 粉丝: 0
- 资源: 1
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统