阿里秋招面试

1、请介绍项目
说了项目的分布式设计、服务器负载均衡和集群、redis(缓存、同步、主从架构)、session共享、ActiveMQ实现消息传递。。。。
2、项目中遇到的难点
3、问实习经历
4、问Java内存模型
5、讲一下反射
6、问一些算法的时间复杂度(及优化)

总结:
1、如何介绍自己项目,需要自己理清项目的架构设计、使用技术、前后端、反正越详细越好
2、项目遇到的问题(这个需要好好说,从问题原因、如何解决、还有什么更好的解决方法)
3、对一些知识点还没深入理解、比如Java底层知识、数据结构与算法
4、不要着急,把心态放平、整理好思路慢慢说、不过就不过,尽力就好
5、要引导面试官问自己擅长的知识,不要等让面试问才说,学会主动!主动!主动啊!


1、操作系统(这是自己自由发挥、进程通信方式、操作系统应用Java哪里)
2、计算机网络(这是自己自由发挥、三次握手、四次挥手,协议栈、应用层使用了什么协议、传输层tcp和udp的区别,tcp保证可靠的原理算法、header头在哪层包装的)
3、算法(非平衡树转为平衡树、八大排序(堆排序)、A的n次方、时间复杂度和空间复杂度、栈的时间和空间、边界值处理)

int numN(int a,int n)  
{  
   if(n == 1)  
    return a;  
   if(n%2 == 0)  
   {  
    return numN(a,n/2) * numN(a,n/2);          
   }  
   else  
   {  
     return numN(a,(n-1)/2) * numN(a,(n-1)/2) * a;  
   }  
}  

4、设计模式(JDK使用的各种模式、外观模式)
5、MySQL(这是自己自由发挥、Innodb详细讲一下、事务、悲观锁和乐观锁在数据库哪里使用了)
6、java哪个设计吸引到你
7、HashMap如何扩容,怎么保证hash均匀分布


1、自我介绍
自我介绍一直是我的软肋,不超过30秒
2、项目介绍
感觉自己说的还好,该说的都说了
3、讲一下Spring、SpringMVC、MyBatis(项目用到的)
这个不难,但感觉讲的很乱,SpringMVC把整个请求数据传输过程都说了(结合tomcat运行原理),Mybatis说了逆向工程、还有与数据库的关系,这次说的很乱,吸取教训。
4、讲一下并行和并发的区别?
5、怎么实现并发
说了几个方案,也说了Java里面的并发包,但面试官不满意,自己在这方面的不足。
6、讲线程池的里面线程如何处理很多请求?
7、讲一下异步非阻塞实现原理?
其中我说了netty框架但面试官说没听过这个,然后说了好久面试官才满意
8、讲一下c语言的指针要注意哪些?
分配空间 、初始化 、释放
9、讲一下c的野指针和悬垂指针和智能指针以及哑指针?
10、熟悉Python吗?
讲了自己写的爬虫和用Python做自动化测试
11、nginx如何实现反向代理和负载均衡?
12、项目的图片如何处理,如何储存?
分布式文件服务器FastDFS、mongodb。
13、讲一下redis在项目干嘛的
数据库缓存
14、单点登录用了什么加密算法
15、有什么要问我的?

你可能感兴趣的:(面试相关)