阿里口碑一面

1.自我介绍,主要包括专业经历;同时解释了部门的业务,

2.面试官介绍了他所在部门主要承担的业务室消费者业务,很具体的业务开发,不涉及底层的架构和分布式等中间件的开发;

3.问了研究生期间有没有获奖,有没有竞赛(无),论文、专利的情况;课程成绩在学院排名情况;

4.问 有没有做过导师之外的项目,并介绍项目的基本背景,和自己所负责的工作,项目组的规模,项目用到的架构或框架(SSM  spring  sping MVC mybatis  这些都没问),自己在项目中承担的任务;

5. 项目有没有分层?为什么这么做?(我的是分API层(北向)、服务层(具体的业务逻辑处理)、数据接口层(南向)),这样做的好处就是做到解耦,可以更方便开发,功能的增加和修改不会影响到太多其他的逻辑。

6.遇到过 最沮丧的一件事,是如何解决的?

7. 如果跟导师有了意见分歧,该如何做?如果不能说服导师?又怎么办?(沟通能力)

8.自己的优点 和缺点。。

9.接下来就是基础知识的问题了:(无顺序)

10.设计模式有哪些?(单例模式,工厂模式,订阅者模式,观察者模式,策略模式,适配器模式等等)

11。 单例模式你是怎么实现的?这样实现在多线程会有神马问题? 如何处理?(double check 之外的还有神马办法,当时没想到)
         如何正确地写出单例模式http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/ 感谢作者。

比较好的方法就是静态内部类和枚举。

12.volatie 关键字的作用?(保证内存可见性和禁止指令重排列)

13.课外对哪些技术感兴趣?具体说(其实就是问自己学了哪些知识,我的回答是计算机网络、Linux、数据库、JVM、spring、maven等),但是只问了计算机网络 和Linux的基础知识

14.TCP/IP协议有哪几层?(物理层、链路层、网络层、传输层、应用层)

15.https协议是一个比较安全的协议,说一下具体的连接建立过程。(请参考)

https://blog.csdn.net/sinat_31828101/article/details/50500596

15. 对称加密,非对称加密;MD5

16 session 与cookie的区别()

17数据结构与算法问题: 常见的排序算法有哪些,时间复杂度,哪些是稳定的?

18 数据库问题:事务?事务的四个特性(隔离性是什么意思?持久性、原子性、一致性)

19 B树,B+树有什么不同,红黑树,

20 Linux 问题:查看进程的命令(ps)https://blog.csdn.net/wojiaopanpan/article/details/7286430 常用命令

       进程与线程的区别?进程间通信的方式有哪些?(管道pipe(流管道与有名管道FIFO), 信号signal, 消息队列,共享内存,信号量semophore ,套接字,)

https://blog.csdn.net/gatieme/article/details/50908749进程通信的目的和方式,参考这篇文章

21Java基础:hashmap 与Linkedlist 有什么不同?concurentHashMap 有什么特点,如何实现线程安全(利用Node +CAS+synchronized)Hash算法中如何解决Hash冲突问题;扩容算法;

22.C++中 指针和引用的区别?(1.指针可以为空,引用不可以为空;指针可以多次赋值,

                                  2.但是引用只能在初始化时赋值,之后就不能改变了;https://www.zhihu.com/question/37608201可以参考第一个回答)

23 WEB开发中  forward 和redirected的区别?https://www.cnblogs.com/selene/p/4518246.html这个讲的较为浅显易懂

https://www.jianshu.com/p/5c4f664d39d5

forward :直接转发,客户端浏览器只发送一次请求(在web服务器内部实现了请求资源的重定向)

redirected: (重定向,实际上是客户端发送了两次HTTP请求)

24 jvm  内存回收算法有哪些?()

 

 

 

你可能感兴趣的:(java)