杭州面试记录2017.6

每一次面试都是应聘者和面试者的一次交流学习,所以面试前我都会先使用该公司的APP,然后写下几条使用建议和和个人觉得合理的改进方案,算是对该次面试的尊重和回礼吧。

杭州小余小余教育
笔试:
1、写一个Java死锁Demo,举几个会造成死锁的案例;
2、写一个观察者模式的Demo,说一下你在实际开发中对该模式的应用;
3、算法题,输入一个多维数组,当某一个元素为0时,将该元素的同行和同列元素都重置为0,再输出这个多维数组;
(思路,先找到为0的元素,再将为0元素的同行同列重置为0,对吗?)
4、两个Activity,分别是A和B,首先启动A,带A可见B,从A跳转到B,说明一下这个过程中,A和B的生命周期变化情况;
(注意A跳转到B时,A先执行onPause(),然后B执行onCreate(),onStart(),onResume(),接着A执行onStop(),耗时等待的操作不要在onPause()中进行)
面试:
1、Android生命周期的深入理解,试过使用onPause()和onStop()吗?
2、dp,sp,px的深入理解 (sp会随着系统设置的字体大小而发生变化)
3、Android多屏幕适配问题。 多用相对布局,wrap_content,写多个尺寸的layout文件(如layout_1080*1920  layout_720*1280等),写多个dimens文件适应不同屏幕, ConstraintLayout要自己手写属性,直接拖动会出问题
4、Java内存泄漏问题,垃圾回收机制,堆内存和栈内存,常量池和方法区,context泄漏。new Handler()执行耗时操作,然后finish()该Activity,是否会造成内存泄漏
5、四种启动模式,standard , singleTop , singleTask , singleInstance  , 在单个应用内部,singleTask只会在一个Activity栈中创建吗?
6、第三方库使用,ButterKnife的注解实现方式
7、两个组件之间的调用,Activity的隐式跳转
 8、手写一个线程安全的单例模式(饿汉模式、双重锁、内部类方式)
9、说说自己擅长哪方面的技术(要好好想一下)
杭州同花顺
笔试:
1、写出Android常用布局Layout和常用UI控件名称
2、写一下自定义View的一般步骤,onMeasure(), onLayout(), onDraw()各方法进行了哪些操作
3、写一下在父View下的ViewGroup中一个Button,进行TOUCH_DOWN和TOUCH_UP后的事件处理机制,涉及onTouchEvent, dispatchEvent(), onInterceptTouchEvent() ,等
4、写一下Android中的Handler处理机制,涉及Message , MessageQueue , Loop等
5、写一个二分插入排序算法
面试:
1、项目中用到的第三方库,其实现原理,如Fressco, ButterKnife , OkHttp ,EventBus
2、XML解析和JSON解析原理,XML中的DOM解析和SAX解析区别,优势对比
3、项目中遇到的难题及解决办法
4、Java基础,重写和重载区别,多态的概念和用法
5、对H5开发的了解,对MVP模式的了解
6、如何实现检查更新功能,如何实现强制更新
7、对热更新等新技术的了解,如微信的Tinker
8、注册登陆等信息加密,如何防止别人拦截http请求信息

发表评论

电子邮件地址不会被公开。 必填项已用*标注