天天看点

18秋招面经

美团后台开发(Java)

    面了一个小时,先是业务面试,针对自己的项目问了半天。然后就是Java基础。多线程实现方式,线程同步方式。synchornized和volatile的区别。网络问了tcp三次握手和四次挥手。http包含什么,数据传输中丢包怎么处理最后问了一个算法题。题目是一个问题社区。有n个人。一人提问,其他人来回答。一下情况算作弊,例如一楼提问,2楼回答。而2楼提问时1楼做了回答,此时1、2两人算作弊。若3楼提问时1、2楼给予回答(即两个确定作弊者回答了问题)则三楼也算作弊。找出所有作弊的人来。(手写代码实现)

金山云后台开发

   同样一次面一小时。问的特别详细。照着笔试题问中间穿插别的问题。网络、操作系统、数据结构、算法、Java基础、数据库均有涉及。网络问了TCP三次握手(特别详细,syn ack,序列号确认号的具体细节),滑动窗口,拥塞控制的方式有哪些,具体是什么。糊涂窗口,nagle算法。操作系统问的进程调度FIFS等重点是时间片和多级反馈队列。,至于java呢还是多线程,hashtable和hashmap的区别。

String、stringbuffer、stringbuilder区别。哦对了。还让自己举例一个复杂的数据库语句查询的情况并写出sql语句。然后是数据结构单链表的问题。给出两个单链表,找出第一个相交的节点,写代码实现。这个so easy,然后变体,两个链表遍历相同的步数找出相交节点。继续变体,给出的两个链表,指针在链表尾部时怎么做,还有变体(楼主要疯了,没办法你老大你说了算,变就变吧),还是这两个链表,以o(1)的时间复杂度找出来相交的节点。(提示:用map)

京东商城

  spring的aop、ioc、di等、spring的bean范围是什么。Struts2的bean是单例还是多例。一个表单内容太多,以至于需要用滚动条。那么不用滚动条而使用下一页处理。页面跳转怎么处理。再就是Java基础override和overload 的区别。arraylist和linkedlist的区别。抽象类和接口的区别以及什么时候使用抽象类什么时候使用接口,hashtable和hashmap的区别,hashmap的底层实现。Java有没有内存泄漏。Java的垃圾回收算法有什么。若新生代为1M老年代为2M,若要回收的对象有3M怎么处理。对于比较大的对象放在新生代还是老年代等