程序员笔试面试题汇总
自己面试了三个多月时间,把经常问到的自己不会或叫不准的问题记录了下来,希望对读者有帮助。问题有点多,也可能有重复的问题,越重复表明面试官越爱问,而且自己卡那的次数相对比较多。面试了很多的大公司,也有一些面试经验与大家分享程序员面试经验总结,其中包括面试时要注意的细节等等,都是自己一路面试下来的思考与反思。Java面试越来越难,现在更多的是问:开源框架源代码、开源框架架构图、项目系统整体架构、实际工作过程中遇到的难以解决的问题等。站在更高的角度问问题了。Java基础这块主要问数据结构和算法,不过一般都不难。注意:千万不要给面试官留下“纸上谈兵”的感觉。
这是最常见的Web前端基础题,如有疑问请加群:585843909可以和小编进行沟通!
答案有些自己写在了笔试题/面试题栏目下。 相信大家把下面的问题弄明白会有很大的收获。
-
Spring中事务管理支持哪几种方式以及每种方式的具体使用方法。
-
用SQL语句实现Oracle分页查询。
-
ArrayList和HsahSet的区别,HashMap和Hashtable的区别?
-
说一下struts中的常用对象?
-
怎样整合apache和tomcat?
-
说一下在linux系统中搭建服务器?
-
请写出常用的oracle语句及说明,存储过程的语句及说明?
-
Tomcat有哪些性能调优方法,请举例说明?
-
Spring中bean的作用域有哪些?
-
Struts2和Struts1有哪些区别?
-
如何设计实现外网数据库和内网数据库的数据交换?
-
Spring最有用的功能是什么?举例说明IOC和AOP的作用?
-
Sql语句性能调优的方法有哪些?
-
J2EE的容器和服务器?
-
请阐述一下你对java多线程中“锁”的概念的理解?
-
Struts2中的拦截器,你用过哪些自带的拦截器,自己写过吗?
-
怎样在复杂的各种形式的网页中提取mp3下载的结构化数据?
-
编写一个在二叉排序树中查找大小为第k的元素的算法?
-
用java写一个多线程程序,如写四个线程,二个加1,二个对一个变量减一,输出?
-
Hibernate中的id(主键)生成器有哪些?或者你常用的是哪些?
-
HashMap和Hashtable的区别?
-
什么时候用assert?
-
Abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
-
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
-
两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
-
Switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
-
Redis、Memcache、Mongodb区别?
-
数据库优化问题?
-
多线程问题?
-
jvm问题?
-
Redis的Mget方法问题?
-
分块上传下载?
-
Java内存模型?
-
并发压力测试工具?
-
生产环境CPU过高原因?
-
线程Join,yield方法?
-
Redis主从?
-
ELK是ELK(ElasticSearch, Logstash, Kibana)?
-
TPTP插件安装?
-
线程Synchronized同步对象例子?
-
单点登录?
-
设计模式?
-
软负载均衡?
-
RESTful?
-
TPS和QPS?
-
MANMIFEST.MF
-
Maven命令?
-
加密算法?
-
Web部署发布脚本?
-
Java源码Github?
-
Javac源码Github?
-
Jar签名?
-
FreeMarker?
-
Linux服务器预定?
-
XSD?
-
JS选择器?
-
jQuery事件?
-
方法值传递和引用传递?
-
Curl命令?
-
脑裂?
-
慢查询?
-
Hbase?
-
防盗链?
-
CDN?
-
JNDI?
-
XA分布式?
-
JBoss?
-
Log4j和Slf4j?
-
二叉树?
-
Vim和Cat的区别?
-
网络,IO,多线程?
-
单点故障?
-
tar命令,gedit?
-
网络常用端口?
-
什么情况下重写equal和hashcode方法?
-
数据库索引?
-
PreparedStatement和Statement区别?
-
分库分表?
-
客户端和服务端?
-
Mongodb分页?
-
多线程相互之间通信?
-
Redis和Mongodb持久化?
-
HashMap和HashTable区别?
-
内存溢出和内存泄露?
-
Vector?
-
Servlet?
-
类锁?
-
Timer定时器?
-
.project文件?
-
数据类型的数值范围?
-
单点故障?
-
数据TB等范围?
-
SYN和ACK?
-
Java语言优缺点?
-
Java修饰类的关键词?
-
解决死锁的方法?
-
两个特长字符串型数字怎么求和?
-
多线程核心?
-
Git命令?
-
远程复制命令?
-
JS事件命令?
-
Collections.sort()内部实现?
-
哈希环,一致性哈希,虚节点?
-
Dubbo协议?
-
服务化?
-
Spring分布式事务?
-
数据不一致问题?
-
Mysql分库,分表?
-
Tomcat并发量?
-
事务抛出的是什么异常?
-
Rose?
-
MIUI服务器?
-
Netty?
-
可以自定义JDK中已经存在的类吗?
-
XSD?
-
断言?
-
Vector?
-
新项目交接问题?
-
Redis hash类型?
-
CGLib?
-
浅拷贝和深拷贝?
-
Velocity?
-
冲血对象?
-
API权限设计?
-
JTA,XA?
-
二叉树同级节点数据输出? 925908804157
-
分库分表数据查询?
-
二叉树从根节点和为6的路径?
-
两个降序序int数组返回新的降序数组?
-
Char可以定义数字吗?
-
Get和post区别?
-
Spring和filter执行顺序?
-
Kill -9原理?
-
文件行数命令?
-
硬盘使用情况命令?
-
Http协议?
-
Socket?
-
重构?
-
Hibernate和Mybatis区别?
-
Redis排序取前100条?
-
TCP包劫持?
-
Vi和Vim区别?
-
分区表?
-
Oracle和MySQL自增长?
-
事务补偿?
-
Length和size?
-
时间复杂度和空间复杂度?
-
Elastic-Job框架图?
-
MyBatis框架图?
-
Redis并发订单抢购问题?
-
Dubbo框架图?
-
ZooKeeper框架图?
-
MySql中${}和#{}区别?
-
MySQL读写分离?
-
JavaEE过滤器filter和Spring的Listener区别?
-
Tomcat配置?
-
Spring的AOP?
-
Spring分布式事务?
-
线性时间排序?
-
Gradle?
-
JavaCC?
-
OGNL?
-
CXF?
-
Restful?
-
查找算法?
-
线性查找平均查找长度?
-
析构函数?
-
String和StringBuffer区别?
-
HashTable和HashMap区别?
-
代理模式?
-
Mybatis二级缓存?
-
线程死锁解决方法?
-
Hibernate缓存?
-
Cookie和Session和Application生命周期?
-
事务隔离级别?
-
Session一致性?
-
Tar命令?
-
Workflow?
-
工具链?
-
Spring拦截器?
-
Live和bind区别?
-
SSH?
-
存储过程、触发器和事务?
-
数据共享和同步?
-
快速排序?
-
MySQL数据一致性?
-
TreeMap和HashMap和LinkedMap?
-
NIO?
-
Dubbo协议?
-
非递归实现二叉树?
-
Thrift?
-
有哪些RPC?
-
CGLib?
-
Web.xml文件中内容?
-
Spring拦截器改变URL中参数?
-
Git命令?
-
ZooKeeper选举?
-
MySQL数据同步?
-
Less命令?
-
Tomcat配置?
-
堆、栈、方法区溢出?
-
阶乘尾数多少个0问题?
-
怎么看GC次数?
-
Redis为什么是单线程的?
-
Linux中Cat命令?
-
Whereis和Find命令?
-
Linux文件中查找某个单词命令?
-
建立堆?
-
先序、中序、后序遍历?
-
Copy-on-write?
-
Java1.7新加特性方法?
-
分块查找?
-
Uri和Url区别?
-
写一个二叉树值和的问题?
-
NIO?
-
Eden一定是堆、年轻代吗?
-
Top?
-
jQuery中bind和live区别?
-
轮询?
-
SOCKET?
-
Git和SVN区别?
-
LRU?
-
SHA-1哈希算法?
-
心跳?
-
JSP和FreeMaker区别?
-
JSP自定义标签?
-
T技术等级?
-
Redis-brenchmark?
-
软负载均衡?
-
Host文件?
-
一致性hash?
-
读写分离?
-
SOA?
-
工具链?
-
Workflow?
-
System和Runtime垃圾收集区别?
-
OSGI?
-
Redis集群?
-
Dubbo check?
-
Volatile?
-
HashMap中Hashcode取模?
-
Lock双重问题?
-
不可重复读?
-
两个降序数组排序问题?//归并排序
-
线上CPU占用高原因?
-
Ps命令?
-
Windbg?
-
IIS日志?
-
一致性哈希算法?
-
Free?
-
Sar?
-
Lsof?
-
Jps?
-
SSH?
-
Jmap?
-
Restful?
-
JSP和Servlet区别?
-
Elastic-Job重复执行问题?
-
数据库连接池?
-
Hashcode取模?//16
-
数据库隔离级别、不可读、幻读、脏读问题?
-
Hibernate和Mybatis缓存区别?
-
Redis集群?
-
Mongodb内置文档?
-
文档标签JDom?
-
Kafka分区?
-
Git如何从主干(master)创建一个名为xxx的分支?
-
多台服务器如何调用一个非线程安全的资源?
-
列出两种以上方法,让服务器每十分钟去做一件事情?
-
GC策略?
-
Dubbo协议?
-
CGLib和Java代理区别?
-
CMS、G1收集器?
-
生产环节CPU过高问题?
-
Tomcat配置问题?
-
Jsonp原理?
-
MySQL复制?
-
B树?
-
Kafka原理?
-
MySQL各种工具?
-
Linux文件中找某个词的命令是什么?
-
Concurrent中多个线程执行完再执行另一个线程的类或方法?
-
UML图?
-
ZooKeeper原理?
-
Hession原理、优缺点?
-
ResourceLoader?
-
线程处理机制?
-
负载?
-
Hashcode值算法?
-
防止表单重复提交?
-
Git remote命令?
-
线程池?
-
定时器timer、quartz、elastic-job区别?
-
Topic?
-
存储引擎?
-
Spring原理(多次被问到)?
-
跨域?
-
Elastic-Job原理?
-
Linux的top命令?
-
Hession协议?
-
NIO问题重点?
-
为什么要用Dubbo?
-
线程关闭?
-
可以自定义JDK中的类吗?
-
Java程序实现二阶段提交?
-
Java8?
-
CAS?
-
Spring自定义注解?
-
事务失败抛什么异常?
-
数据库行锁、表锁?
-
日志级别?
-
检查异常和非检查异常?
-
POJO注解?
-
Throw和throws区别?
-
DDL?
-
主键生成策略?
-
Atomic?
-
自旋锁?
-
Final?
-
JNI?
-
偏向锁?
-
互斥锁?
-
ThreadLocal?
-
Windbg?
-
Thread.notify和Thread.notifyAll?
-
Redis的过期时间expire实现原理?
-
NIO中selector和channel?
-
Dubbo客户端找服务器的过程?
-
Java中Timer实现原理?
-
类锁和实例锁的区别?
-
Vector?
-
System.in.read()?
-
Long long两个long代表的意思?
-
C和C++区别?
-
分布式Session一致性问题?
-
CPA?
-
单点故障?
-
Nginx单点故障和负载均衡?
-
HTTP响应码?
-
Native?
-
DLL?
-
ZXing?
-
JMS?
-
内存数据库?
-
Static和getInstance区别?
-
Node.js?
-
Thread类?
-
TCP、IP?
-
Dubbo层次模型?
-
AVL树?
-
数据库索引?
-
线程池?
-
T-SQL?
-
PL/SQL?
-
容器?
-
Intranet?
-
SOAP?
-
Dubbo调用过程?
-
XSD?
-
Redis等Key的容量,长度?
-
Redis和Memcache区别?
-
MySQL查询缓存?
-
缓存实例大小?
-
Redis数据类型?
-
RTT?
-
数据量级?210
-
JNDI?
-
Kafka集群?
-
Scala?
-
Kafka源码下载?
-
分库分表后查数据?
-
Gsf?
-
AOP?
-
Netty?
-
Thrift?
-
说话见好就收?
-
Linux文件等分几个文件命令?
-
Maven包依赖命令?
-
Git创建远程分支命令?
-
Thread和Runnable区别?
-
自定义注解?
-
订单主键避免重复问题?
-
多线程下单怎么避免重复下单?
-
ReadWriteLock?
-
Integer和int区别?//128位限制
-
MySQL utf-8汉字几个字节?
-
MySQL sql时间戳?
-
唯一索引?
-
MySQL操作字符串的函数?
-
Netty?
-
索引列可以为空值吗?
-
RBO?
-
外键可以为空吗?
-
Shell脚本?
-
系统设计与重构?
-
$(whoami)
-
chfs?
-
Ping?
-
Sed?
-
Linux中>>命令?
-
Linux中print是从0还是从1开始的?
-
ActiveMQ?
-
守护线程?
-
ConcurrentArrayList,ConcurrentLinkedList?
-
设计模式?
-
Spring什么情况下是线程不安全的?
-
Http1.0和Http1.1的区别?
-
Java标识符?
-
父子类访问权限?
-
抽象类?
-
数据库in范围限制?
-
红黑树?
-
Spring中Listener?
-
JSP中自定义标签?
-
Java中字符串表达式求值?
-
Java中文件路径遍历?
-
ThreadLocal?
-
Threadpoolexecutor中有哪几种阻塞队列?
-
阻塞队列有哪几种?
-
Netstat?
-
Future?
-
Dubbo超时问题?
-
Elastic-Job重复执行?
-
模板?
-
ThreadLocal要注意什么?
-
IntialingBean?
-
怎么在Spring初始化时插入方法?
-
C中->和<<代表什么意思?
-
Web.xml文件内容?
-
LRU?
-
类修饰符包可见性?
-
Java数据中与运算求一个数是2的多少次幂?
-
Storm?
-
Clojure?
-
成员属性?
-
Float精度问题?
-
Mac控制台使用?
-
Decimal?
-
Java位运算?
-
Slf4j?
-
TTL?
-
Ubuntu?
-
Linux文件大小?
-
Mkdir和Touch区别?
-
Linux中Sed命令?
-
HBase数据类型?
-
Linux统计出现次数命令?
-
Linux中sed?
-
Linux中cut?
-
反射?
-
Spring相互引用会出现什么问题?
-
Jetty?
-
Spring命名空间?
-
SQL语句?
-
路由?