初入职场面试的我到处碰壁,以下是我个人对几道面试题的小总结:

  1.一列数字的规则如下:1,1,2,3,5,8,13,21, 34........ 求第30位数字是多少,用递规和非递归两种方法算法实现。

    (1)递归:

  @Test
public void test(){
System.out.println(foo(30));
}
private static int foo(int i) {
if(i<0){
return 0;
}else if(i>0&&i<=2){
return 1;
}else{
return foo(i-1)+foo(i-2);
}
}

递归算法

    (2)非递归:

  private static long Fibonacci(int n)
{
long result = 1; //当n<=2时都返回1
if (n > 2) //当n>2时,利用循环计算
{
long first = 1;
long second = 1;
int i = 0;
n = n - 2; //每次当然要减少两次循环
while (i < n)
{
first = second;
second = result;
result = first + second;
i++;
}
}
return result;
}

非递归(循环)

  2.求1-100之间的和。

 int sum = 0;
for(int i =1; i <=100; i ++)
{
sum += i;
}
System.out.println("1-100之间的和:" + sum);

1-100的和

    使用递归实现:

 private static int add(int param) {
if (param < 100 && param > 0) {
return param + add(param + 1);
} else {
return param;
}
}

递归算法

  3.冒泡排序:1,4,2,3,5,8,6,9

 public void bubbleSort(){
int a[]={1,4,2,3,5,8,6,9};
int temp=0;
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}

冒泡排序示例

  逻辑思维题

  1.有一个7克的砝码和一个2克的砝码,有一个天平.把140克的盐称三次分成50克和90克.你该如何分?

    (1).先用天平将盐分成两份,每份70克    

    (2).再取其中一份用天平分成两份,每份35克然后其中一个里面放7克的砝码,另一个放2克的砝码,然后从7克砝码的盘里面往外拿盐,拿出5克两个就平衡了.    

    (3).最后两个盘里1个30克,1个35克,将5克加入35克里面,然后将这40克再用天平平均分成两份,每次份20克,将20克加入第一步剩下的那一份70克里面组成90克,剩下的为50克

这是我几场面试总结下来的,希望能对各位有所帮助,也希望各位大神多多指点!

后续还有我遇见的或者面试考到的经典题型我会继续更新。

  你的建议就是我的动力

那些年我们经历的BT面试题的更多相关文章

  1. 亲身经历,Java面试题整理

    博主在2015年暑期参加过一些Java开发工程师实习的面试和笔试,在此将重点整理出来,以供大家学习. 资料1: 一.单继承 1.1Java类是否支持多重继承? 答:继承的基本原则是: 子类继承父类的所 ...

  2. 前端资料QQ群交流

    转:https://github.com/jsfront/src/blob/master/qq.md 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使 ...

  3. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  4. Web前端,HTML5开发,前端资源,前端网址,前端博客,前端框架整理 - 转改

    Web前端/H5开发,前端资源,前端网址,前端博客,前端框架整理 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v ...

  5. Java后端面经总结:拿下蚂蚁金服美团头条 offer 秘诀

    笔者在面过 猿辅导,去哪儿,旷视, 陌陌,头条, 阿里, 快手, 美团, 腾讯之后,除了收获一大堆面试问题,还思考到如何成为面试官眼中的”爱技术,爱思考,靠谱,有潜力候选人的”一些”套路”. 面试问题 ...

  6. 腾讯WEB前端开发三轮面试经历及面试题

    [一面]~=110分钟  2013/04/24 11:20  星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理        延 ...

  7. Android2017最新面试题(3-5年经验个人面试经历)

    2017最新Android面试题 大家好,在跟大家讲述自己的面试经历,以及遇到的面试题前,先说说几句题外话. 接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stacko ...

  8. 阅读笔记12-Java 面试题 —— 老田的蚂蚁金服面试经历

    电话一面 1.自我介绍.自己做的项目和技术领域 2.项目中的监控:那个监控指标常见的哪些? 3.微服务涉及到的技术以及需要注意的问题有哪些? 4.注册中心你了解了哪些? 5.consul 的可靠性你了 ...

  9. javascript 腾讯ABS云平台面试题及面试经历

    既然说到面试前端肯定是Javascript各种问,只好各种答. 面试题肯定离不了,最近热门的Vue.js,React.js,Angular.js,Gulp,Webpack还有各种Js问题,还有令人头痛 ...

随机推荐

  1. 集群中Session共享解决方案分析

    一.为什么要Session共享 Session存储在服务器的内存中,比如Java中,Session存放在JVM的中,Session也可以持久化到file,MySQL,redis等,SessionID存 ...

  2. heartbeat如何避免脑裂

    heartbeat避免脑裂的方法 1)增加冗余的心跳线,例如双线条线,尽量减少脑裂发生的机会 2)启用磁盘锁:正在服务的一方锁住了共享磁盘,脑裂发生时,让对方完全抢走资源,如果占用资源的一方不解锁 , ...

  3. KVM虚拟化简介及安装

    kvm是基于图形化的linux操作的 安装图形化界面的知识点: 磁盘空间有两个词: 精简置备:我先在我系统里面去声明我要一个50G的空间,但是呢,我不会把50G都分给你,你用多少,我分给你多少,但是做 ...

  4. Qualcomm_Mobile_OpenCL.pdf 翻译-9-OpenCL优化用例的学习

    在这一章中,将会用一些例子来展示如何使用之前章节中讨论的技术来进行优化.除了一些小的简单代码片段的展示外,还有两个熟知的图像滤波处理,Epsilon滤波和Sobel滤波,将会使用之前章节中讨论的方法进 ...

  5. Spring注解配置、Spring aop、整合Junit——Spring学习 day2

    注解配置: 1.为主配置文件引入新的命名空间(约束) preference中引入文件 2.开启使用注解代理配置文件 <?xml version="1.0" encoding= ...

  6. 问题:关于2.3 jmu-Java-02基本语法-03-身份证排序 (9 分)

    输出未能排序     import java.util.Scanner;     import java.util.Arrays;     public class Main {         pu ...

  7. 集合综合练习<三>

    package com.JiHeTotal; import java.util.Comparator; import java.util.Map; import java.util.Map.Entry ...

  8. 有关pip报错的问题

    错误消息:“Fatal error in launcher: Unable to create process using '"' 解决办法: python3解决方案:python3 -m ...

  9. linux的字符集转换

    命令查看编码类型 查看命令参数 查看支持的字符集 将文件转换成utf-8 的文件(经测试比较鸡肋,不好用) [root@ag-1 hh]# iconv oldboy -f us-ascii -t ut ...

  10. JUnit——Annotation

    Annotation是对属性,方法或者类做一个标记  比如@override表示复写了父类中的方法 [1]@Test: 测试方法(说明该方法为测试方法) a)(expected=XXException ...