唯品能面试被虐

唯品会面试被虐

笔试

1、选择题

  选择题由单选和不定项选择组成。

  唯品会的笔试相对于BAT的笔试来说,考的内容比较正常,考得都是比较常用的的知识,像数据库、操作系统、计算机网络、数据结构、C++等。

2、大题(五道选两道完成就可以了,个人感觉比较人性化)

  1. 算概率的题目
  2. 写出你知道的三种设计模式(这个简单啦,那么多种随便谢啦,但最好解释一下他们的用途分别是什么?)
  3. 简单描述一下TCP三次握手的过程、用到什么命令?  个人感觉把TCP握手的图画出来基本就解决了该题了,图看起来简单而且该有的都有了
  4. 简单描述一下滑动窗口和拥塞避免?   这个考概念了。
  5. 一道编程题(没时间,没看)。

面试

  唯品会是假如你面试过的话,一直面试下去,技术的是2个技术面+1个hr面,假如过了就叫你留下来等下一轮,收到“你今天的面试到这里,有消息再通知你”就证明已经被刷了,我第一轮就被刷了。我应聘的是一个叫“助理开发工程师(java)平台与架构”的职位,只招一个人【当时脑子给门挤了,那么多java的,不知道为什么选了这个。平台架构了解基本没有。。。】。对于这个血的教训,我有两点建议,投职位时看清楚该职位的招聘人数,选职位要和自己做的东西相关最好【或者你志向就是那个方向】。

      下面是面试官问的一下问题,希望对你们能有一些帮助。

1、首先是自我介绍。

2、假如有实习经验,他会问你实习中做过的项目,然后他会找你一些你项目中可能出现的漏洞进行问,问你有没实现,假如没有考虑或者实现,要求你讲一下实现的思路。

3、你平时会看哪些方面的书,对哪些方面比较感兴趣?

千万千万千万(重要的事情说三遍)不要说自己没什么兴趣,也不要说自己兴趣很广泛,最好能具体到哪个方面,顺便提一下你最近看的一本该方面的书,有什么收获。

 

4、32的jvm可以跑多大的程序? 

理论上来说32位的JVM有4G的堆大小限制。但是因为各种条件限制比如交换区,内核地址空间使用,内存碎片,虚拟管理机的管理开销,实际上可用的堆的大小远远比理论上的4G要少。 
在32位windows的机器上,堆最大可以达到1.4G至1.6G。 
在32位solaris的机器上,堆最大可以达到2G 
而在64位的操作系统上,32位的JVM,堆大小可以达到4G 

 

5、http的post和get方法性能上的区别

1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

 

6、学习过哪些开源的框架

7、mybatis的使用方式

8、问你是一个什么样的人

最好说了之后,用一个实例能体现这一点。

 

9、三年五年计划

个人感觉需要分点说,花多久的时间完成一个什么目标,多久完成另外一个目标,如:
2个月完成灵活运公司内部开发框架框架
X个月完成。。。
X年完成。。。
最终的目标是:。。。

 

   致谢:感谢您的耐心阅读。

13楼Zux
GET和POST在性能上还是有区别的,有的浏览器会缓存GET,当使用GET方法时,浏览器不再访问服务器而是直接使用缓存,所以如果一个方法针对相同的参数(URL)返回的结果基本是不变的,可以考虑设置成GET方法来加速,而如果调用返回的结果会发生变化的话,设置成GET可能导致浏览器运行结果出现和期望不匹配的情况,这种情况下根本不应该使用GET方法
12楼尼玛范爷
多谢分享
11楼韩之一
楼主收到了“你今天的面试到这里,有消息再通知你”!结果就是没过
10楼iOS122
回答感觉 太中规中矩了,很容易让人误解是 背的答案.最好加点个人理解 进去
9楼耶特
你这是应聘Java工程师的职位吗?
8楼Crazy_Yang
楼主说过了 没过
7楼查克拉的觉醒
基本上很正常的面试, 没有什么技术相关的问题
6楼无心流泪
最后你通过面试了吗?
Re: mrdoor
@无心流泪,论不看全文只关注结果
5楼cannel
确实比较简单,没有大厂常有的变态算法
4楼Wackysoft
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。,,Java里面还用IIS?
3楼吴瑞祥
get/post要是会有性能差别.写http协议的人就都该跳楼了,get/post是不可能影响数据传输安全的,是http协议不安全..,数据传输方式是一模一样的.即使用get请求也是可以在正文里包含数据的.,post请求也是可以在Querystirng里包含数据的.,感觉上是没有操作过http请求,应该都是网上看来的,
2楼Kation
第五点不同意,不管你是什么GET/POST/PUT/DELETE,都可以包含Url参数变量,本质都是第一行的Url参数,都可以包含发送的内容,本质都是HTTP头之后的内容,,你可以自己在HTTP头之后添加自己定义的格式,不论是序列化的字节数据还是Json,自己在服务器端通过Request.InputStream(C#)还原就是了
Re: Dic4000
@Kation,引用第五点不同意,不管你是什么GET/POST/PUT/DELETE,都可以包含Url参数变量,本质都是第一行的Url参数,都可以包含发送的内容,本质都是HTTP头之后的内容,,你可以自己在HTTP头之后添加自己定义的格式,不论是序列化的字节数据还是Json,自己在服务器端通过Request.InputStream(C#)还原就是了,,恩,第五点POST和GET在“性能”上是几乎没什么差异
1楼Gin.p
如果楼主能答上上面的问题,那么是什么原因不过呢?