由于最近比较躁动,动了跳槽的念想,于是便有了这次经历,在这里记录下来,分享给大家。好了废话不多说,开始正文。
技术题:
1.Java中的switch语句的参数?python中有无switch语句?
答案:Java在1.7版本之前支持 byte、int、short、boolean、char、不支持float、double和double,在JDK1.7之后还增加了String做参数。(做参数的前提是可以自动转型成int型或者boolean型的参数)
python中是没有switch滴。
2.Java中线程安全的机制,如何实现?实现方式?yeild的方法的使用?会释放锁吗?线程死锁?
答案:在Java中大致可以有三种方式实现线程安全:
1).将变量声明为final类型,这样所有线程使用的都是同一个变量。
2).在共享变量的操作上加上同步,使用synchronize关键字或者java.util.concurrent中的方法。
3).使用ThreadLocal来解决多线程的并发访问,ThreadLocal会为每一线程提供一个独立的变量副本,同时隔绝了多个线程之间的访问冲突。
4).使用volatile关键字声明数值类型的变量。但是这种方式往往是不安全的不推荐这种使用方法,volatile只能保证可见性不能保证原子性。
yield方法与sleep方法类似,但是不能由编程者指定暂停时间,并且yield只能让同优先级的线程有执行机会。
yield方法是不会释放锁标志的,但是会释放CPU的使用权。这道题答错了。。。
join方法是使调用该方法的线程在此之前执行完毕,也就是等待该方法执行完毕后才可以继续执行,方法需要捕捉异常。
多线程读写相同的共享数据,同步的过程中出现了相互等待,从而导致死锁的出现。
3.Java中内存泄露有几种?如何分析泄露原因?
答案:内存泄露是指需要回收的无用对象没有及时的得到回收,出现了内存不够用的从而导致内存泄露。
出现泄露的集中原因:
1).static的集合类,像HashMap,Vector和ArrayList等,变量的声明周期控制不当,,导致其引用的大object都无法得到释放。
2).内部类和外部类的引用。
3).大量的临时变量的使用,没有及时将其回收。
4).注册了大量的监听器,在释放对象的同事没有及时的删除监听器。
5).ClassLoader中装载的类过多导致泄露,这种情况主要出现在大型企业应用中会出现,之前负责的用友的UAPStudio就会因为出现加载的类过多而泄露。
4.UI线程与非UI线程区别?如何交互?
答案:这个问题主要针对在OSGi环境下的SWT插件开发中的问题,其中绘制界面的主线程就是UI线程,而数据处理和消息传递等是非UI线程来完成的,通过Display来实现交互。
Display.getDefalut().syncExec(new Runnable() { @Override public void run() { // 这段代码实际上会被放在UI线程中执行 System.out.println(text.getText()); } });
5.Spring的一些机制理解?IOc?AOP?IOc如何实现依赖注入的?Spring动态代理的实现方式?
6.数据库索引的使用?索引的数据结构?索引什么时候会失效?
7.不同的数据库分页?Oracle的?MySQL的?SQLServer的?
8.Java的Object类中的方法及其作用?
9.Java中 volatile关键字的含义及其使用方法?
10.简述SpringMVC和Struct2的异同点?拦截器和Intercepter?
11.Hibernate的缓存?各有什么作用?
12.简述一下常用的一些算法和其时间复杂度?冒泡、选择、插入、位排序、堆排序、快速排序、二分法排序等?
13.Web中常用的缓存机制?底层算法?memcached和redis?
14.大数据排序?和取最大前N条?
15.简述Linux中安装软件的几种方式?wget如何断点续传?
16.说几个vim的命令。
17.Django中的http请求的分发处理?模板的使用。
18.Python如何实现爬虫?
19.WeakHashMap是否使用过?其特性?
20.Mybatis如何实现多数据源?主从库数据同步?如何读写分离?
21.TCP/IP连接建立时三次握手?断开时?
22.什么是AJAX,为什么要使用Ajax?谈一下你对Ajax的认识?
23.简述java的内存模型是怎样的?
24.简述一下Java 中GC。
25.都用过那些前端的一些框架?
26.Java中类加载的过程?类加载器?
非技术题:
1.每次遇到问题,如何去解决?
2.对自己以前工作的经历做一个总结?
3.为什么想跳槽?未来几年的规划?
4.你有什么想问我的吗?
5.对加班怎么看?
6.google还能用吗?
由于本人也是个刚入门的菜鸟,面的并不是太好,待我一边学习,一边过来完善答案~~