阿里巴巴,内推一面
1.请你说一下你对应聘该岗位的优势。
答案:略。
2.请说一下进程与线程的区别:
进程是资源管理的基本单位,而线程是进程的基本单位。进程与线程都是抽象概念,其中进程包括地址空间,打开的文件,账户信息,预告的报警,子进程。而线程包括堆栈,程序计数器(主要在程序编译成汇编之后用来计数程序运行),状态信息(就绪,运行,阻塞)……
3.哪些对象存储在堆栈中:
new对象存储在堆中,变量赋值存储在栈中。我和同事商量,你的答案不对,再给你一分钟的时间考虑。嗯……在我的印象中就是这么存储的,我有看地址空间的习惯,所以我觉得是这样的(最后告诉我你回答是对的,只是考验你是否自信)
4.你在说一下什么是线程调度,上下文切换。
答:我进行举例说明,最常见的就是生产者消费者模型,开辟一段空间如list,在生产者线程中,对该对象进行“填充”,当有数值时,会通知消费者,也就是signal,当为满或者空的时候,就等待也就是wait,这也就是用户级别的线程调度,还有一种就是当一个线程进行io操作的时候,会空闲cpu,因为io读取是cpu的几十倍,因此其他线程会对该cpu进行利用,也就是内核级别的线程调度
5.请你说一下,udp与tcp 的区别?
最大的区别就是udp无需链接,而tcp在建立连接之后才可以传输数据,还有头部信息的不同。在什么情况下使用udp,什么情况下使用tcp?传输大文件的情况下,例如视频的传输。为什么?因为传输之前都要对文件进行分组,而大文件的传输分组过多,tcp建立连接花费时间过多,因此使用udp,还有其他原因吗?因为约定俗成,所以更具体没有了解,而且对于视频广播也是默认用的udp协议。请你说一下,网络传输的确认机制,即头部的ack与sqe。ack是确认网络的连接,而sqe是对数据发送前的分组序号,因为他的作用就是对接收的数据进行确认,并对数据进行排序整合。
6.编译原理中ll1你说一下。
这个是真不会,哭瞎了。。
7.你说一下hashmap的原理。
hashmap继承了map类,拥有map的特性,因此是一种散列表的数据结构,键值对的存储,而同时键值是hash值的容器,其排列顺序是根据hash值进行排列。
7.你了解hbase ,你说一下为什么hbase会“快”?
(1).hbase 是分块存储,把一个文件分成固定的块进行存储,当进行读取的时候,会先通过zookeeper找到master,master 中存储了元数据,也就是找到root表,接下来就可以找到meta表,最后定位到服务器的块,因为这里的块对于mysql肯定小,所以读取速度快。(2).因为hbase采用乐观锁,这样相对于来说会直接检查版本获取数据,减少等待时间。(3).支持高并发,多台服务器多个副本同时工作,也会提高效率。(4).……。
8.最后,面试官说你还有问题问我:我问一个技术问题,为什么Hadoop冲刷磁盘的时候会使用后台线程?面试官回答,我不接触Hadoop的细节,我不清楚。
OK,结束。第二天挂掉了,问了原因,回复在深入点你就答得不好了。。。因为前期一个阿里leader加了我微信。手敲麻烦,大致讲了一下面试经历。
#阿里巴巴#