来自(乐唯科技)的面试问题..

面试之道---面试感慨

又到了一年一度的毕业季,博主也如此,面临着找工作的困境,由于学艺不算太精通,面试的过程中屡败屡战,当面试官说出那句:“你回去等通知吧,我们大概会在两、三天之内会给你回复,刚开始听到这句话时,会觉得自己还有希望,于是抱着一点希望静静的等待,到后来才发现,原来我只是一个备胎。

面试之道---公司介绍

首先,面试之前你得了解这个公司的背景,以及公司的业务等相关的问题。

“对面”是一款领先新型的游戏化社交产品,隶属于深圳市乐唯科技开发有限公司。

深圳市乐唯科技开发有限公司,设立于2011年,是一家年轻而充满朝气和活力的高科技技术创新型企业,管理层以及员工主要以80后、90初为主,发展迅猛,致力于手机应用、游戏等产品的开发,涉足iphone,android主流手机操作平台!我们有着深厚的手机软件开发的技术积累,以及强大的产品创新能力!立志为广大用户提供最优秀和便捷的移动互联网软件产品和服务。

面试之道---公司印象

面试的这家公司是位于深圳繁华软件的集中区域---南山软件基地,开始进入此大厦的时候,还需要身份证登记,如果有要去这家公司面试的小伙伴,请携带好自己的身份证,之后上了电梯,向右一看,”嘿,对面的你“(Ps:因为乐唯科技主要是弄游戏社交平台的),我当时的第一反应是,约吗? 额。。。 之后进入了公司里,这公司总体来说还是不错的,公司的前台是一个圆形的鹅蛋布局,前台妹子也不错︿( ̄︶ ̄)︿  

面试之道--面试问题

面试问题1:

如何实现一个单例模式? 

 1 //懒汉式单例类.在第一次调用的时候实例化自己   
 2 public class Singleton {  
 3     private Singleton() {}  
 4     private static Singleton single=null;  
 5     //静态工厂方法   
 6     public static Singleton getInstance() {  
 7          if (single == null) {    
 8              single = new Singleton();  
 9          }    
10         return single;  
11     }  
12 }

以上是一个简单的单例模式的demo.

面试问题2:

如何实现一个线程池?(这里我以单线程池作为案例)

 1 public class TestSingleThreadExecutor {
 2     publicstaticvoid main(String[] args) {
 3         //创建一个可重用固定线程数的线程池
 4         ExecutorService pool = Executors. newSingleThreadExecutor();
 5         //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
 6         Thread t1 = new MyThread();
 7         Thread t2 = new MyThread();
 8         Thread t3 = new MyThread();
 9         Thread t4 = new MyThread();
10         Thread t5 = new MyThread();
11         //将线程放入池中进行执行
12         pool.execute(t1);
13         pool.execute(t2);
14         pool.execute(t3);
15         pool.execute(t4);
16         pool.execute(t5);
17         //关闭线程池
18         pool.shutdown();
19     }
20 }

代码调用部分,这里我创建了一个MyThread的类

1 publicclass MyThread extends Thread {
2     @Override
3     publicvoid run() {
4         System.out.println(Thread.currentThread().getName() + "正在执行。。。");
5     }
6 }

 

代码执行结果:

pool-1-thread-1正在执行。。。
pool-1-thread-2正在执行。。。
pool-1-thread-1正在执行。。。
pool-1-thread-2正在执行。。。
pool-1-thread-1正在执行。。。

面试问题3:

10进制的100位进行累加如何实现?

首先,博主数学是渣,对于什么数据结构,算法什么的无感,还有进制这些也不是很了解,所以当时面试的时候就陷入了一种懵逼状态  ..(ˇˍˇ) 想~ ,但是博主还是热爱学习的好孩子,迫于下次面试遇到类似的问题,我还是得去研究,研究,在研究。。

这是10进制的100位的算法

100÷2=50。。。。余0
50÷2=25。。。。余0
25÷2=12。。。。余1
12÷2=6。。。。余0
6÷2=3。。。。余0
3÷2=1。。。。余1
1÷2=0。。。。余1
把余数倒过来排列即是十进制100转二进制。
即十进制100转二进制是1100100

下面的代码是博主想出的解决方案,如有什么地方有问题的话,可以在评论的下方提出解决方案:

 

 1 package com.pb.entity;
 2 
 3 public class Test {
 4     public static void main(String[] args) {
 5         //定义字符进行进制的累加
 6         String str = "";
 7         //初始化变量是从100开始的
 8         int num=100;
 9         while(true){
10             //对余数进行累加
11             str+=num%2;
12             //保证num的值是变化的
13             num = num/2;
14             //加入判断,遍历完变量之后退出循环
15             if(num==0){
16                 break;
17             }
18         }
19         //逆序读取字符串中的数据
20         System.out.println("最后的结果是:"+new StringBuilder(str).reverse().toString());
21     }
22 }

 最后的输出结果:

最后的结果是:1100100

 

面试之道---面试总结

通过这两次的面试我明白了,常问的知识点有:设计模式(单例、代理、工厂、观察者...等模式)、框架(spring、mybatis、ibatis、struts、hibernate ...)、数据库(mysql、sql server、oracle)会问一些sql和存储过程、其次是前端的一些技术:如js、jquery、ajax、json以及h5+css的使用..  也希望能够给正在面试的小伙伴们带来一些帮助。

 

作者:薛之段王爷

博客:http://home.cnblogs.com/u/xzdwy-b/(转载请注明)

 
posted @ 2016-07-27 11:57  薛之段王爷  阅读(733)  评论(0)    收藏  举报