java程序员如何通过阿里、百度的招聘面试
2017-08-04 23:37
288 查看
1.Java语言基础
java语法基础java类与对象java继承与多态面向对象高级特性异常处理多线程输入与输出IO泛型,reflection,annotation;
此类书籍中,最经典无过于这本"Thinking in java",至少多看几遍,经典就是经典!
2.Java基本类库
java.lang 包:主要含有与语言相关的类。java.lang 包由解释程序自动加载,不需要显示说明。java.io 包:主要含有与输入/输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持。java.util 包:包括许多具有特定功能的类,有日期、向量、哈希表、堆栈等,其中 Date类支持与时间有关的操作。java.net 包:含有与网络操作相关的类,如 TCP Scokets、URL 等工具。java.beans 包:定义了应用程序编程接口(API),Java
Beans 是 Java 应用程序环境的中性平台组件结构等等
3.Java高级特性和类库
java类加载器class loaderjava 程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediate language)。理解Java nio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。java juc(java.util.concurrent)等等
4.Java多线程编程
Java线程:概念与原理Java线程:创建与启动Java线程:线程栈模型与线程的变量Java线程:线程状态的转换Java线程:线程的同步与锁Java线程:线程的交互等等
5.Java网络与服务器编程
网络结构
6.TCP/IP协议
7.JVM原理和调优
JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助。
内存划分简单说分为三个部分,Young Generation(年轻代)、Old Generation(年老代)以及Perm Generation(永久代)。其中的Young Generation(年轻代),又分为Eden、From和To,其中From和To又统称为Survivor Spaces(幸存区)。关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分。至于GC,需要清楚GC
Roots都有哪些,以及如何判断一个对象可以被回收。此外,GC的算法和策略也要有大概的了解
8.程序设计和要求
1.数据结构和算法
常用数据结构ArrayList、HashMap等等算法原理、熟知内部源代码实现,比如,怎么扩容等。
2.面向对象编程、设计模式
掌握建模语言和建模工具:UML、MVC编程思想
3.高质量编码能力
重用性,低耦合,可扩展性,高性能,可维护性,安全性高
4.集成开发,版本控制,构建等工具
eclipse, svn, maven ,git等
Web开发要求
1.常见协议
DNS,HTTP, Cookie, Mail, Proxy等协议
2.模板引擎
Java Servlet API, Velocity/JSP等模板引擎
3.主流开发框架
web端:spring mvc jsf,Mabatis等以及框架原理,需要掌握熟练。
4.Web服务器部署和配置
Apache,Tomcat,JBoss,Jetty等
5.客户端代码编写
HTML/CSS/JSWeb开发调试工具:Firebug等等
转自:http://www.jianshu.com/p/1a915f81c5e7
java语法基础java类与对象java继承与多态面向对象高级特性异常处理多线程输入与输出IO泛型,reflection,annotation;
此类书籍中,最经典无过于这本"Thinking in java",至少多看几遍,经典就是经典!
2.Java基本类库
java.lang 包:主要含有与语言相关的类。java.lang 包由解释程序自动加载,不需要显示说明。java.io 包:主要含有与输入/输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持。java.util 包:包括许多具有特定功能的类,有日期、向量、哈希表、堆栈等,其中 Date类支持与时间有关的操作。java.net 包:含有与网络操作相关的类,如 TCP Scokets、URL 等工具。java.beans 包:定义了应用程序编程接口(API),Java
Beans 是 Java 应用程序环境的中性平台组件结构等等
3.Java高级特性和类库
java类加载器class loaderjava 程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediate language)。理解Java nio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。java juc(java.util.concurrent)等等
4.Java多线程编程
Java线程:概念与原理Java线程:创建与启动Java线程:线程栈模型与线程的变量Java线程:线程状态的转换Java线程:线程的同步与锁Java线程:线程的交互等等
5.Java网络与服务器编程
网络结构
6.TCP/IP协议
7.JVM原理和调优
JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助。
内存划分简单说分为三个部分,Young Generation(年轻代)、Old Generation(年老代)以及Perm Generation(永久代)。其中的Young Generation(年轻代),又分为Eden、From和To,其中From和To又统称为Survivor Spaces(幸存区)。关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分。至于GC,需要清楚GC
Roots都有哪些,以及如何判断一个对象可以被回收。此外,GC的算法和策略也要有大概的了解
8.程序设计和要求
1.数据结构和算法
常用数据结构ArrayList、HashMap等等算法原理、熟知内部源代码实现,比如,怎么扩容等。
2.面向对象编程、设计模式
掌握建模语言和建模工具:UML、MVC编程思想
3.高质量编码能力
重用性,低耦合,可扩展性,高性能,可维护性,安全性高
4.集成开发,版本控制,构建等工具
eclipse, svn, maven ,git等
Web开发要求
1.常见协议
DNS,HTTP, Cookie, Mail, Proxy等协议
2.模板引擎
Java Servlet API, Velocity/JSP等模板引擎
3.主流开发框架
web端:spring mvc jsf,Mabatis等以及框架原理,需要掌握熟练。
4.Web服务器部署和配置
Apache,Tomcat,JBoss,Jetty等
5.客户端代码编写
HTML/CSS/JSWeb开发调试工具:Firebug等等
转自:http://www.jianshu.com/p/1a915f81c5e7
相关文章推荐
- 新型招聘启事--看看百度、阿里是如何发布招聘启事的
- 作为一名求职者如何应对即将到来的招聘季之面试心得交流?
- 2015我的校招季,阿里、搜狗、百度、蘑菇街面试总结
- 腾讯、百度、阿里面试经验
- 阿里、百度、搜狐等公司社招面试记录与总结(转)
- 林正英网盟竞价:如何通过百度网盟赚取第一桶金!
- 阿里感悟(十一)如何准备面试
- 2014腾讯、百度、阿里面试经验
- 2014腾讯、百度、阿里面试经验
- 【百度、腾讯、阿里等】+【JAVA开发实习生】+春招面试经验
- 【转】腾讯、百度、阿里面试经验—(1)腾讯面经
- 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析
- 程序员面试技巧:如何通过索引说数据库优化能力
- 学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》
- 腾讯、百度、阿里面试经验—(2)
- 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析
- 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程
- 国内著名IT公司(百度、搜狗、网易、新浪)2012校园招聘笔试、面试小结