厦门美团公司面试题目

在北京呆厌倦了,北漂生活不易,打算返乡,所有的面试都是造航母,而工作都是拧螺丝。只能适应生活,所以不管工作多久都得复习一遍面试内容。在这里把我上次返乡先做一番调查试水的笔试题发表出来。希望能帮到各位求职或跳槽的程序猿同类。

1.执行如下程序代码后,c的值是();

    int a=0;
    int c=0;

        do {
            --c;
            a=a-1;
        }while(a>=0);
        System.out.println("数值:"+c);

答案为 c=-1;

2.概述java垃圾回收机制。如何更有效的管理内存,减少OOM的概率?

什么是垃圾回收机制:在系统运行过程中,会产生一些无用的对象,这些对象占据着一定的内存,如果不对这些对象清理回收无用对象的内存,可能会导致内存的耗尽,所以垃圾回收机制回收的是内存。同时GC回收的是堆区和方法区的内存。

3.写一个函数,只能用一个循环并且是for循环来打印九九乘法表--请不要使用递归呦。

4利用char数组作为数据存储,设计实现一个名为CString的类,实现java自带String的常用的功能API。(必须实现三种构造函数,拷贝函数clone(),比较函数equals())。

烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(逻辑推理)

            Android部分

1.请描述下Activity的生命周期,绘制详细流程图加说明。

2.Android提供了几种数据持久方式,分别是什么?

3.Android中有哪几种方法可以使得任务并发执行,Handler有什么作用?

4.Android如何实现多线程之间同步访问共享数据。

5.Android中常用的显示单位有px、dip、sp,有什么区别,以及它们之间如何换算?

6.以下代码是否可以很好的工作,为什么?如果不行如何优化?

public void onClick(View v){
    Bitmap b=loadImageFromNetwork("http://example.com/image.png");
    mImageView.setImageBitmap(b);
}

当然不行了.

1.运行前提:是loadImageFromNetwork()方法在下载到图片的同时,还要FileInputStream fis = new FileInputStream("/sdcard/test.png");
Bitmap bitmap  = BitmapFactory.decodeStream(fis);

2.方法问题:ImageView的setImageBitmap()是设置imageView组件的图片显示。它的定义和源码如下:
public void setImageBitmap(Bitmap bm) {
// if this is used frequently, may handle bitmaps explicitly
// to reduce the intermediate drawable object
setImageDrawable(new BitmapDrawable(mContext.getResources(), bm));
}

也就是说它实际上是对setImageDrawable接口的封装,支持直接听过Bitmap对象进行组件图片的设置。
3.内存问题:
另外注意一下这个方法设置图片时,如果是大图片时,注意对图片的缩放,否则会内存溢出。通常需要三级缓存处理。

7.你对Android提供的兼容包了解多少,你已经用过里面哪些Api?试验说说你利用它们解决什么问题?

8.利用自己所了解的Android特性或是Java特性,如实现一个Bitmap缓存方案。

猜你喜欢

转载自blog.csdn.net/insist_hui/article/details/83107572
今日推荐