反编译class 游戏技能时间

一:面试中的问题

两个。面试中需要注意的问题

三:关于最后的选择

四:ja两年内应该达到什么水平?

一:面试中的问题

Ja集合框架:

1.介绍ja的集合框架。

2.如果2:HashMap遇到哈希冲突会怎么做?HashMap是线程安全的吗?高并发下HashMap有什么问题?然后介绍一下ConcurrentHashMap的原理?

3.3:Hahtable和concurrentHashMap有什么区别?

4.数组和数组列表有什么区别?数组列表是如何扩展的?

5.线程池中的阻塞队列一般选择什么样的队列?为什么?

6.6原则:RetreenLock?AQS的原则是什么?

7.为什么7:HashMap的容量推荐是2的幂?

框架类别:

1.1:mybatis的二级缓存有什么问题?

2.2:mybaits中mapper的# {}和$ {}有什么区别?哪个可以防止sql注入?

2.我们知道映射器和mybatis的接口之间没有对象,那么它是如何映射的呢?

4.springmvc有哪些注解?他们的原理是什么?

5.5:springmvc的控制器是singleton吗?它是线程安全的吗?

6.Struts 1和struts2有什么区别?它是线程安全的吗?

7.7:spring如何解析它的xml文件?

8:8:春天的核心是什么?Aop的原理是什么?

Redis相关:

1:1:redis数据类型有哪些?

2.2:zset数据类型是如何排序的?

3.3:redis如何做项目的中间缓存层?

4.4:redis的Hash的时间复杂度是多少?

数据库:

1.什么是数据库索引?组合指数需要注意什么?

2.什么是悲观锁,什么是乐观锁?如何实现悲观锁?

3.数据库关键字的执行顺序是怎样的?

4.如何优化sql?

5.做过什么子表操作吗?拆分库后如何保持事务一致?

分布式和微服务:

1.微服务要克服哪些问题?微服务系统如何沟通?

2.分布式环境下如何解决会话不一致的问题?

3.分布式环境下如何保证id一致性?

4.你在使用dubbo的过程中遇到过哪些问题?

5.Zookeeper的负载均衡算法有哪些?

Jdk源代码相关性

1.同步的原理?怎么用?一个方法如何同步,其他非同步线程进入?

2.如何解决2:cvs中的ABA问题?

3.3:易挥发的原理是什么?volatile一定是线程安全的吗?

4:什么是4:ThreadLocal?它的原理是什么?

5:5:CountDowanLatch用过吗?适合什么样的场景?

设计模式相关性:

1.实现两种单例模式。

2.说说观察者模式。

3.《3:春天》使用了哪些设计模式?

4.动态代理模式是如何实现的?

5:你在项目中使用过哪些设计模式?解释相关的业务场景
算法:

1.快速排序的时间复杂度?手写快速排序(注意递归和非递归实现)

2.手写二分搜索法

3.手写堆排序

4.如何分隔一个int数组的奇数和偶数?

5.用算法实现字符串的双精度转换。

Jvm相关:

1.JVM的垃圾收集算法有哪些?单独解释一下?

2.为什么新生代会建立两个生存区?

3.如何通过一个. class文件获取它的jdk版本?

4.4的内存模型:jvm?什么是线程私有?哪些是公开的?

关于自己的项目(问的时间最长)

1.简单描述一下你的项目?你在里面主要做什么?

2.你在项目中遇到过哪些问题?最后是怎么解决的?

3.这个项目有多大?周期有多长(这是经常被问到的)

4.说说一个模块的具体实现?找出其中的漏洞。

5.如何解决某一时刻的高并发请求?

6.订单支付回拨超时问题怎么解决?怎么写轮询?

其他:

1.秒杀场景怎么削峰?

2.2:http和udp有什么区别?

3.Ajax跨域问题

4.4:nio和io有什么区别?nio什么时候合适?

5:说说常见的linux命令。linux检查内存的命令是什么?

7:7:git遇到代码冲突怎么办?

8:说几个常见的men命令,men是如何消除一个jar包的冲突的?

2.面试中需要注意的问题
2.1。你必须有自己的实际项目经验。

凭我所有的面试经验?其实有的公司会重点问自己的项目经验,有的公司会重点问问题。一般互联网公司对技术要求会比较高,既需要项目经验,也需要技术水平。

2.2:可以适当渲染,但不要夸张。

面试过程中最忌讳的就是说大话,但是到了实际细节的时候就不知道说什么了。在技术总监面前,你是吹牛还是真的见他,一目了然。如果你不装懂,有的面试官会给你一个台阶下,否则你会被卡住,很容易在面试中造成不好的印象。

2.3.能够自我介绍。

面试时,通常会要求你介绍自己。这个要分技术官或者Hr,如果技术官侧重于总结自己项目的实际技术栈和技术路线,如果是HR,就不要用太多的技术语言,而是说一些自己的实际工作经历或者上一家公司的运营情况。

2.4:关于简历

切记不要太啰嗦,但也不要太简单。作为技术类简历,一般至少要3页,不然HR会觉得你求职态度不太好。无论求职结果如何,一份好的简历都会给人留下良好的第一印象。

三:关于最后的选择

说实话我也收到过很多HR的offer,但是我一般都会选择说考虑一天再给回复。我一定不能直接说什么,不然以后会很尴尬。实际提供offer的有一家外包公司,三家初创公司,两家互联网公司,最后选择一家互联网公司。虽然实际工作地点有点远(下了地铁还要坐公交,但是还是选择骑自行车),但是互联网公司会给你一个很快的成长速度,互联网技术栈比较新…相比传统企业,会有更多的技术挑战。至于外包公司,环境可能没那么好。记得小时候去做外包。那里的好处是会有持续的工作,新来的人会收获很多。但是以我两年的经验,外包显然不适合我以后的职业发展。缺点:技术更新迭代太慢,没有归属感。我个人对最终选择的看法是先选技术。毕竟软件路还长,技术才是王道。

四:ja两年内应该达到什么水平?

在ja的两年面试中,遇到了很多挑战,也遇到了一些不谈技术的公司。从上面的面试问题可以看出,对ja的要求越来越高。毕竟这个行业的人越来越多,我们保持竞争力的唯一方法就是找准方向,不断学习。注意,我这里说的第一点是方向,然后是学习。给自己做一个职业规划,走这条路线。其实以后还在考虑研究分布式的微服务,但是根据市场要求,现在已经很急了。一些技术架构如springcloud,duboo都要不断学习,这样才有竞争力!作为一名两年的jaSir,你必须具备以下技能。

1.读取源代码的能力,使用IntelIdea作为开发工具,而不是eclipse。直接支持反编译类文件,多读jdk源代码,吸收优秀源代码,复用。

2.需要能够手工编写常用的排序算法,比如快速排序和堆排序、冒泡排序、选择性排序和二分搜索法。

3.对ja的框架有深刻的理解。现在很多人都知道基本的s框架,但是知道一些原理的人不多。我们必须不断研究这些框架本身。都是经过无数次锤炼的优秀框架。

4.多使用redis\mongodb,传统的关系数据库已经不能满足市场需求,这些东西也是面试的一部分。虽然不是重点,但也是加分的选项。

5.对于微服务和分发来说,这个比较难。我面试人人网的时候,一面很顺利,一面是技术总监通过。问题是分布不是特别熟悉!要想进入一个好的互联网公司,分布式和微服务是必须的。

6.jvm的底层,这里要推荐的书是周志明的《深入jvm虚拟机》这本书,我经常在业余时间看,所以JVM的问题还是得心应手的。

边肖还整理了大量的ja采访材料。如果需要小伙伴,可以私信“面试”到边肖获取

反编译class 游戏技能时间

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论