那些年我们经历的BT面试题
初入职场面试的我到处碰壁,以下是我个人对几道面试题的小总结:
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面试题的更多相关文章
- 亲身经历,Java面试题整理
博主在2015年暑期参加过一些Java开发工程师实习的面试和笔试,在此将重点整理出来,以供大家学习. 资料1: 一.单继承 1.1Java类是否支持多重继承? 答:继承的基本原则是: 子类继承父类的所 ...
- 前端资料QQ群交流
转:https://github.com/jsfront/src/blob/master/qq.md 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- Web前端,HTML5开发,前端资源,前端网址,前端博客,前端框架整理 - 转改
Web前端/H5开发,前端资源,前端网址,前端博客,前端框架整理 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v ...
- Java后端面经总结:拿下蚂蚁金服美团头条 offer 秘诀
笔者在面过 猿辅导,去哪儿,旷视, 陌陌,头条, 阿里, 快手, 美团, 腾讯之后,除了收获一大堆面试问题,还思考到如何成为面试官眼中的”爱技术,爱思考,靠谱,有潜力候选人的”一些”套路”. 面试问题 ...
- 腾讯WEB前端开发三轮面试经历及面试题
[一面]~=110分钟 2013/04/24 11:20 星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理 延 ...
- Android2017最新面试题(3-5年经验个人面试经历)
2017最新Android面试题 大家好,在跟大家讲述自己的面试经历,以及遇到的面试题前,先说说几句题外话. 接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stacko ...
- 阅读笔记12-Java 面试题 —— 老田的蚂蚁金服面试经历
电话一面 1.自我介绍.自己做的项目和技术领域 2.项目中的监控:那个监控指标常见的哪些? 3.微服务涉及到的技术以及需要注意的问题有哪些? 4.注册中心你了解了哪些? 5.consul 的可靠性你了 ...
- javascript 腾讯ABS云平台面试题及面试经历
既然说到面试前端肯定是Javascript各种问,只好各种答. 面试题肯定离不了,最近热门的Vue.js,React.js,Angular.js,Gulp,Webpack还有各种Js问题,还有令人头痛 ...
随机推荐
- 集群中Session共享解决方案分析
一.为什么要Session共享 Session存储在服务器的内存中,比如Java中,Session存放在JVM的中,Session也可以持久化到file,MySQL,redis等,SessionID存 ...
- heartbeat如何避免脑裂
heartbeat避免脑裂的方法 1)增加冗余的心跳线,例如双线条线,尽量减少脑裂发生的机会 2)启用磁盘锁:正在服务的一方锁住了共享磁盘,脑裂发生时,让对方完全抢走资源,如果占用资源的一方不解锁 , ...
- KVM虚拟化简介及安装
kvm是基于图形化的linux操作的 安装图形化界面的知识点: 磁盘空间有两个词: 精简置备:我先在我系统里面去声明我要一个50G的空间,但是呢,我不会把50G都分给你,你用多少,我分给你多少,但是做 ...
- Qualcomm_Mobile_OpenCL.pdf 翻译-9-OpenCL优化用例的学习
在这一章中,将会用一些例子来展示如何使用之前章节中讨论的技术来进行优化.除了一些小的简单代码片段的展示外,还有两个熟知的图像滤波处理,Epsilon滤波和Sobel滤波,将会使用之前章节中讨论的方法进 ...
- Spring注解配置、Spring aop、整合Junit——Spring学习 day2
注解配置: 1.为主配置文件引入新的命名空间(约束) preference中引入文件 2.开启使用注解代理配置文件 <?xml version="1.0" encoding= ...
- 问题:关于2.3 jmu-Java-02基本语法-03-身份证排序 (9 分)
输出未能排序 import java.util.Scanner; import java.util.Arrays; public class Main { pu ...
- 集合综合练习<三>
package com.JiHeTotal; import java.util.Comparator; import java.util.Map; import java.util.Map.Entry ...
- 有关pip报错的问题
错误消息:“Fatal error in launcher: Unable to create process using '"' 解决办法: python3解决方案:python3 -m ...
- linux的字符集转换
命令查看编码类型 查看命令参数 查看支持的字符集 将文件转换成utf-8 的文件(经测试比较鸡肋,不好用) [root@ag-1 hh]# iconv oldboy -f us-ascii -t ut ...
- JUnit——Annotation
Annotation是对属性,方法或者类做一个标记 比如@override表示复写了父类中的方法 [1]@Test: 测试方法(说明该方法为测试方法) a)(expected=XXException ...