某东公司的面试题

        由于最近比较躁动,动了跳槽的念想,于是便有了这次经历,在这里记录下来,分享给大家。好了废话不多说,开始正文。


技术题:

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还能用吗?


由于本人也是个刚入门的菜鸟,面的并不是太好,待我一边学习,一边过来完善答案~~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值