公司介绍
开迅科技主要的产品有2个,开迅视频与触手TV,开迅视频是一款中国领先的移动视频播放平台,而触手TV是一款在线直播的手游直播APP,拥有广阔的发展前景,
在第一次观看手游直播,就被风趣的主播所吸引~ 我知道的就这么多啦==
应聘岗位
- Android开发
面试过程
前一天约定下午3点面试,由于住在滨江,2点就驱车前往,幸好提前去,不然又要堵车迟到,过去的隧道真心堵啊。
到了公司,是文萍姐(HR)带我到会议室,等待着技术大大的考验,心情忐忑啊 ==||
过了会技术大大来了,拿着我的简历进来了, 开始蛮紧张的,但是让我做下自我介绍,
幸好之前有准备,这里有2个注意点,就是简历的工作经历,应该从最近开始写,而自我介绍,最好从毕业开始,
因为面试官希望从中看出你的发展轨迹,在介绍中,主要介绍自己在公司项目中的工作,而不是大篇幅的描述公司的产品,
他面试的是你,不是你的公司。
介绍了从毕业到现在工作的公司,担任的项目,稍微提下用到的一些技术点。
印象中不清楚的问题
1. static 内部类 与 非静态的区别
这个问题其实主要还是要理解static修饰词的作用
首先理解java内存的知识
http://bbs.csdn.net/topics/370001490
http://zhangtk.com/2015/05/19/Java%E4%B8%AD%E7%9A%84%E9%9D%99%E6%80%81%E5%86%85%E9%83%A8%E7%B1%BB/
http://www.cnblogs.com/chenssy/p/3388487.html
堆区:
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区:
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。--> 应该就是进行数据的运算。
方法区:
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
果断买了这书,深入JVM, 了解java内部
区别:
1. 非静态内部类是new出来的,存放在堆区,而静态内部类是jvm启动的时候,就加载到方法区的静态区,他们存放的位置不同
2. 非静态内部类相当与一个成员变量,依赖与外部类的实例,所以必定会存在外部类的引用,就能直接访问外部类,不能包含静态方法和静态变量,
静态内部类与由于在编译完成后加载到方法区的静态区,并不存在对外部类的引用,所以不能访问外部类非静态的变量或方法。
3.因为静态内部类是只加载一次,所以如果使用频繁的话,建议定义成静态内部类,这样可以提高效率,非静态内部类每次都会需要实例化类对象。
2. Android UIThread与WorkThread的交互
这个问题是Android开发中最常见的问题,就是ui线程跟工作线程的交互,其实就是工作线程如何更新UI
在android中,Handler是Android framework中管理线程的部分,所以2个线程的交互,可以通过Handler进行处理,
在工作线程中发送消息给ui线程中的Handler, 这个handler可以在UI线程中创建,也可以传入Looper.getMainLooper()的参数的构造方法来创建
Activity.runOnMainThread , View.post, AsynTask等的内部实现其实都是用的Handler
3. 了解的网络协议
应用层
网络数据用到最多的还是http协议https://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE
SOAP协议,主要用于WebService的数据通信
其他的没肿么用到过,所以不是很清楚
传输层
TCP/IP协议, 用于socket长连接是基于此来实现的稳定通信
室友要睡觉了,就写到这吧==
来源:https://www.cnblogs.com/saul199008/p/4837017.html