阿里面试总结

1.Java基础javascript

     ArrayList,HashMap等集合框架类,重要基础类String等的处理。HashMap的底层存储结构等。java

    (也能够顺带考察下对接口,继承,重载重写的基本理解;以及异常处理的注意事项)。node

2. 数据结构与算法mysql

   常见的查找算法及时间复杂度。jquery

   常见的排序算法及时间复杂度。web

   比较重要的数据结构,如链表,队列,栈的基本理解及大体实现。面试

3. 多线程问题redis

   1)线程安全问题。 HashMap 是否线程安全,为什么不安全。 ConcurrentHashMap,线程安全,为什么安全。底层实现是怎么样的。算法

   2)J.U.C下的常见类的使用。 ThreadPool的深刻考察; BlockingQueue的使用。(take,poll的区别,put,offer的区别);原子类的实现。spring

   4)各类常见锁使用

若是上面这些掌握很好,还能够看看更深一点的 False Sharing,Cache Line,可见性与原子性等;

 

4. JVM

    Java内存分代模型,GC算法,JVM常见的启动参数; CMS算法的过程。

    这块回答较好,也能够只是看毕玄的Java分布式开发或网上文章的学习, 能够结合JVM启动参数常见配置,jstat等命令,看下动手能力,意愿;以及实际线上问题排查。

 

5.Linux使用与问题分析排查

    1). grep,awk,sed; 是否本身写过shell脚本;

    2). 常见的cpu load太高,us太高,通常是什么问题。引伸出是否用过top,jstat,jstack等。

        常见的内存问题通常有哪些。 引伸出是否用过free,top, jmap等。

 

6. 框架使用

    spring aop的底层实验原理。 aop与cglib,与asm的关系。

    spriong ioc的生命周期,(init-method,intilizingbean接口方法afterPropertiesSet的前后顺序)等。

   Hibernate对一二级缓存的使用,Lazy-Load的理解;

7. 数据库相关:

   1. mysql存储引擎中索引的实现机制;

   2.数据库事务的几种粒度;

   3.行锁,表锁;乐观锁,悲观锁

 

8.网络协议:

   HTTP协议;

   HTTPS协议,SSL协议及完整交互过程;

 

9. redis

   redis,memcache底层客户端使用一致性Hash,看是否了解;

   redis的事件驱动多路复用底层实现;引伸到NIO编程, 看对Netty,或mina是否了解。

  若是候选者同时用过memcache,redis,看下是否了解二者在使用场景上的区别。以考察使用深度,以及是否有好奇精神。

 

10. 设计模式与重构

    常见设计模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。

    重构:重构书籍

 

11. 学习与进取心

    最近上过上哪些技术站点; 最近在看哪些书。

 

12. 抗压能力及抗压意愿

    了解加班状况,了解是否愿意在一段时间996等;

13 稳定性考察

      了解家庭婚姻情况, 了解购房及居住地,籍贯状况,了解目前薪资,评估稳定性;

=======

1.进程和线程的区别

2.什么叫线程安全?举例说明

3.OSI七层模型,包括TCP,IP的一些基本知识

4.数据库的锁

5.DFS,BFS算法

6.还有一些诸如collection framework的Java基础

七、http中,get post的区别

其余的面试,感受问的颇有表明性:

 第一面(只记得这么多了)

  一、笔试题第四题实现又口述了下

  二、有个每秒钟5k个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法?请求再多,好比5w,如何设计整个系统?

  三、比较熟悉什么技术?我说jvm和oracle,就让我画jvm的体系结构,画了以后说各个部分的职责,并扯到运行期优化。

  第二面(没有技术细节,都是泛泛的,可是我回答的比较保守,只以为能口若悬河的说上半小时才敢说看过或了解)

  一、是否愿意去杭州

  二、熟悉各类技术框架么?源码读过么?

  三、数据库了解什么?mysql了解么

  四、前台技术,看我用的ExtJS,就问是否了解JQuery

  五、进如今的公司,以为对技术是否有提高?

  第三面,此面没有技术问题

  第四面HR(感受这面问题回答的有点扯,毕竟是这么几年来首次面HR,以前面过二、3个公司,要么很早就挂了,要么感受流程太长,本身不肯意面下去)

  一、愿意去杭州发展么?我说要考虑,hr就问主要考虑什么问题

  二、从技术角度来讲,你以为你跟你同窗比怎么样

  三、你的父母怎么看待你的

      一、jvm性能调优都作了什么

  二、高并发状况下,咱们系统是如何支撑大量的请求的

  三、集群如何同步会话状态

  四、负载均衡的原理

  五、数据库事务属性

  六、二叉树的遍历算法

  七、hashtable和hashmap的区别

  八、并发、同步的接口或方法

  九、string、stringbuilder、stringbuffer区别

  十、https处理的一个过程,对称加密和非对称加密

  十一、线程的几种状态

  十二、了解手机开发么

  1三、我的优点

  1四、与同事沟通的时候,若是遇到冲突了如何解决

  1五、工做中以为哪方面欠缺?

  1六、有问题要问么?

  1七、指望薪水

  1八、为何要离开如今的公司

  * struts1.2和webwork的区别

  * hibernate和ibatis的区别

  * spring工做机制,IOC容器

  * servlet的一些相关问题

  * webservice相关

  * java基础:jvm,HashSet等等

  * 考察学习新技术的能力

 

其余:

   1.  店铺相关的业务特色决定,有先后端知识是加分项。 若是候选者熟悉javascript。

能够考察:

    1) 先后端优化的基本常识,好比js放在后面不阻塞等;原生js的理解,正则,时间冒泡等。

    2)firebug,fiddle等调试工具; 

    3)若是是基本使用,看下ext框架,jquery等熟悉程度。jquery插件机制,sizzle选择器。

     若是以上都不错,能够再深刻考察  

   1)做用域链, 闭包的理解。

   2)看下是否了解最新的技术。 augularJS, nodejs,cmd规范,amd规范等。

相关文章
相关标签/搜索