专栏名称: 牛客网
程序员必备求职神器,刷真题,练算法,看面经,得内推。点击查看: http://www.nowcoder.com/
目录
相关文章推荐
白鲸出海  ·  退市巨头豪赌国产3A:150人团队一夜解散, ... ·  12 小时前  
百度智能云  ·  多项上榜!百度智能云客悦入选沙利文AI ... ·  昨天  
白鲸出海  ·  约会交友公司Bumble股价暴跌,「Poke ... ·  昨天  
腾讯  ·  腾讯紧急调用元宝,支持微信搜索 ·  2 天前  
阿里开发者  ·  K8S异常诊断之俺的内存呢 ·  2 天前  
51好读  ›  专栏  ›  牛客网

腾讯一面应用开发

牛客网  · 简书  ·  · 2018-04-16 10:33

正文

最遗憾的,叫写冒泡排序都能写数组溢出,非科班面对算法题真的紧张。凉凉。

面试官是做php的,我用java。

问了http和https的区别。

答: 后者是前者的安全实现,客户端发起请求时服务端会返回一个公匙,然后客户端根据公匙规则发送消息,服务端根据自己的配对密匙解密实现加密。

那公钥放哪里呢?

答:请求头。(面试官笑,是这样吗?我说这一块我理解的不够深就跳过去了)

问: session和cookie讲一下?

session的出现是为了解决cooki

e存放本地而且量小的问题产生的,通过浏览器缓存的技术把需要的信息缓存,服务端就可以在同一应用中不同页面传递数据,我觉得服务端采用的是hash表存放的信息。

那怎么知道是哪个客户端呢?

这个刚忘讲了,服务端会发送一个id标识客户端。

问:进程线程讲一下

进程由操作系统调控,线程由进程调控(忘了讲一下内核和用户线程的映射,太紧张了),就好像一个java程序就是一个进程,里面很多线程,比如生产者消费者模式,进程就像框架框住他们,生产者消费者就是两个线程,在这个框架里面生存,做资源交换。

问:那进程的通信呢?

我知道共享内存,还有管道和信号量就不太了解了(紧张,脑子有点空白),信号量我知道java并发包下的信号量,如果您需要我可以跟您讲。

问:线程怎么共享资源

(我其实很想讲java内存模型,但是面试官就这么不喜不怒我也不知道要不要回答这个)我以jvm为例讲一下吧,jvm里的堆就是一个公共区间,线程负责来取资源,这样就可以实现资源共享,如果您需要问原理,我可以跟您讲一下内存模型。(面试官又是java开发,所以我真不知道要不要把底层讲的很细)

问:讲一下反射机制(我提到spring的ioc就是反射机制,但是我说我不会spring写项目)

(面试官也知道反射机制的么)在类加载的加载阶段会产生java.lanag.class对象,而且初始化阶段jvm也规定由reflect包下的方法必须加载进来,这样就可以通过class forname动态加载类获得对象和调用getclass获得class对象,然后再用newinstance方法获得对象,然后就可以了(又忘了讲类加载)

问:讲一下hashmap和hash冲突

1.7的时候用的是数组加单链表,1.8变成了红黑树(忘了讲初始容量和扩容问题,大佬的不怒自威太可怕,不知道该怎么),讲了一下取哈希值的改进,可以算的更快

(这里提一下,大家应该发现面试官都在问hashmap,因为java8的一个核心优化就是hashmap,所以多看看博客)







请到「今天看啥」查看全文