java基础题(一)

一、给一个数 N,判定这个数是否是素数。 1、先让面试者说素数的定义,如果不知道可以提示素数的定义 2、最差的面试者,会没有思路,这是很可怕的,大学第一学期学完,应该学会这个题 3、一...
一、给一个数 N,判定这个数是否是素数。
1、先让面试者说素数的定义,如果不知道可以提示素数的定义
2、最差的面试者,会没有思路,这是很可怕的,大学第一学期学完,应该学会这个题
3、一般的面试者,能比较费劲地写出正确的程序,但是可能存在边界、标记等问题。
4、写出程序出来,可以进一步问,优化的空间,在哪里,所谓优化,无非就是时间和空间复杂度。
5、只有少数的面试者,能进行几轮优化
6、有训练的面试者可能知道一些特定的高效方法
二、给一个数 N,把 2 到 N 之间的素数输出出来
1、这个题比上面这个难度加大了一层
2、可以限定,不让其使用子函数,增加逻辑上的复杂度
3、其他的,同样一层层考优化的方法
三、写出三角状的 9*9 乘法表
1、这个题目面向基础比较差的面试者
2、最差的面试者,也会说没有思路,在学校会写,现在忘记了
3、比较一般的能写出来,更进行一步的,可以让其用几种循环来写,写倒三角
4、如果都没有问题,循环思维逻辑值得肯定
四、用递归编写求和或者求阶乘的函数
1、可以先让其不用递归写一遍
2、再让其递归实现
3、最差的面试者同样无法下手
4、接下来可以探讨递归的一些优劣之处,在哪些常见算法中用到了递归
5、也可以问问1024的阶乘有多少个零这种的问题。
五、将字符串反转,比如 “abcdefg” 转化为 “gfedcba”
1、如果面试者使用 C 语言效果最佳
2、可以进一步考察这种形式的反转算法, www.ucai.cn => cn.ucai.www
六、求出 IPV4 IP地址所对应的整数,比如 192.168.199.1 对应整数
3232286465
1、可以先让其求字符串所对应的整数这个简单算法
2、如果面试者使用 C 语言效果最佳
七、使用最高效的算法,将一堆100以内的数排序,不能使用排序的库函数
1、不允许使用现成的各种排序算法
2、要求一遍遍历完成即实现排序
3、也可以问:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
八、有上千万个1000万以内的数据,请排除掉重复的数
1、可以转化为找出重复的数
2、要求空间最省
3、要求一次遍历完成整个查找
4、延伸:如果用 Shell 命令实现怎么办?
九、如果从1000万行左右的文件中,随机地取出 10万行左右的样本数据
1、要求一遍文件扫描完成数据获取
2、空间最省,将结果输出在另外一个文件中
3、可以要求写出完整程序,包括 fopen 的使用等
十、字符串库函数的相关实现思路
1、检测一个字符串是否包含在另一个字符串中
2、实现 trim 函数、strlen 函数
3、复杂一些的:求出给定字符串中最长的回文字符的长度以及把它们给输出来。

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
在下选择隐性埋名

IT

4 篇文章

作家榜 »

  1. majia 8 文章
  2. 刘娜娜 6 文章
  3. 在下选择隐性埋名 4 文章
  4. 上神白浅 3 文章
  5. 李家兴 2 文章
  6. 小马甲 2 文章
  7. 刘东鑫 1 文章
  8. 崔楷文 1 文章