面试总结

JAVA面试总结

这是我写的第一个博客,算是对这两天面试的一个总结吧

第一天上午:一个做民航系统的公司

面试流程:笔试+一轮面试

笔试:笔试的内容相对简单,一些很基础的JavaCore的题目+5道逻辑题,笔试很顺利,因为题目基本上没什么难度。

面试:面试只有一轮面试(不知道是不是一面对我不满意所以没有二面,还是本身流程就只有一面),问了一些项目相关的技术和JAVA知识,还有对于mysql的性能优化问题。mysql的性能优化:可以建立索引,优化查询,使索引生效;可以对大数据量的数据库做主从数据库,主数据库做写操作,从数据库做读操作;对应一些数据量大的表做分表

具体参考:mysql性能优化(https://blog.csdn.net/u013087513/article/details/77899412

     mysql分表分库(https://www.cnblogs.com/sunny3096/p/8595058.html

面试体会:

整体感觉不错,公司性质和我前一家公司相差不大,不过可以感觉到规模很大,技术相对全面。

第一天下午:一个做大数据金融安全方案的公司

面试流程:笔试+两轮面试

笔试:笔试的内容相对有难度,有涉及设计模式(比如单例模式)、JavaCore、Linux基本操作、mysql基本查询、排序算法等。笔试原定30分钟,可面试官10+分钟就进来了,所以很多题还没做完,笔试不算顺利。

面试:第一轮是技术面试,问的问题比较全面,多样。

1.问了怎么大量单条数据插入数据库,这个主要考察线程相关问题和线程解决思路(创建多个线程同时插入,要考虑对于存放数据的对象进行读写操作怎么保证线程安全。)

  1. 对这个对象创建锁,不过这样会大量影响性能;
  2. 用消息队列,线程取队列的数据插入;
  3. 把这对象分成若干个区间,每个线程作用于指定区间的插入)

2.了解多少种设计模式(我只答了单例模式,工厂模式,适配器模式),单例模式的使用场景,有什么好处。

单例模式的使用场景有:

  1. 需要生成唯一序列的环境(计数器)

  2. 需要频繁实例化然后销毁的对象(数据库连接)

  3. 创建对象时耗时过多或者耗资源过多,但又经常用到的对象(数据库连接)        

  4. 方便资源相互通信的环境(Web应用的配置对象的读取)

单例模式的好处:

  1. 在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化,确保所有的对象都访问一个实例 
  2. 单例模式具有一定的伸缩性,类自己来控制实例化进程,类就在改变实例化进程上有相应的伸缩性。 
  3. 提供了对唯一实例的受控访问。 
  4. 由于在系统内存中只存在一个对象,因此可以 节约系统资源,当 需要频繁创建和销毁的对象时单例模式无疑可以提高系统的性能。 
  5. 允许可变数目的实例。 
  6. 避免对共享资源的多重占用。 

3.还问了一些中间件的使用如:redis、MQ、kafka,分布式的:Dubbo(这些除了redis,其他都没有用过......)

4.问了一些爬虫的问题,主要问有什么反爬虫的技术(因为他们是大数据公司)

反爬虫技术:

  1. 把静态的HTML变成加密或动态js获取的数据(提供爬虫门槛)
  2. 锁定IP限定访问次数
  3. 使用验证码(提供爬虫成本)

具体参考:单例模式(https://blog.csdn.net/xgocn/article/details/79187027

     反爬虫技术(https://www.cnblogs.com/micro-chen/p/8676312.html

面试体会:

整体面试很流畅,一面技术面学到了很多东西,二面主要问的是为什么离职之类的东西,没什么好说的。总体感觉是不错的,这个公司的技术可以

 第二天上午:软通动力(华为外包)

面试流程直接一轮面试

面试:一开始就说,这是东莞那边的项目,有没有考虑过去东莞(为了不白来一趟,暂且说可以接受的),然后就叫我先介绍项目,问了一些项目相关问题之后,就问了些JavaCore的基础问题;随后问了一些比较专业的问题。

1.java有什么类型的注释:

  1. 单行注释:// 注释内容
  2. 多行注释:/*... 注释内容....*/
  3. 文本注释:/**.. 注释内容....*/

2.问了我公司对于运行日志的输出有没有要求:输出正常日志,错误日志,访问日志,异常日志等。

3.现场写一个去重的排序(没有限定是否能使用JDK工具类的话,建议用hashSet去重,然后用sort方法排序)

具体参考:java注释(https://www.cnblogs.com/miys/p/4bf714ce33068dcf9ac6526309c9b5e6.html

     java日志(https://www.jianshu.com/p/51301657e8ef

面试体会:

这个公司应该是可以给offer的,不过工作地点在东莞松山湖,再加上入职时间要马上入职(我还没提离职申请,目前还在职)。

第二天下午:广州赛意(华为外包)

面试流程笔试+面试(本来说只有面试的,居然还是有笔试)

笔试:刚开始给了份全是js的题目,我做了一半,觉得不对劲,问人事是不是拿错了,结果还真是.......然后,又拿了份很简单的题目,里面有4道JS,2道JAVA相关题目和一道简单sql,顺利做完,结果人事说到了午餐时间,面试又推到下午1点半。

面试:本来约好下午1点半面试,我等了半个小时,面试官才来。然后先简单介绍项目,问了一些很基础的JavaCore,随后就各种问原理实现.....

1.java的类加载机制(其实他只是想问java类初始化的顺序):

https://www.cnblogs.com/dongguacai/p/5860241.html

2.StringBuilder和StringBuffer的区别,有没有了解它们的原理,底层实现

StringBuilder和StringBuffer的区别主要在于StringBuffer是经过Synchronized修饰过的,是线程安全的;而StringBuilder用于单线程的使用,它的效率会比StringBuffer高。

3.简单sql语句,内外连接的区别。

内连接(inner join):只返回左右表条件符合的结果集

左连接(left join):以左表为主,如果左右表条件不符合,右边的字段为null

右连接(right join):以右边为主,如果左右表条件不符合,左表的字段为null

具体参考:类加载(https://www.cnblogs.com/dongguacai/p/5860241.html

     StringBuffer(https://www.jianshu.com/p/64519f1b1137

     mysql的表连接(https://www.cnblogs.com/xiaofeng028/p/4098965.html

面试体会:

这次面试是状态最差,感觉最不好的,面试官问的问题没有到位,一直问原理性的东西,不考虑面试者的初级水平.......另外,也不守时,在面试区的封闭式等待会增添面试者的紧张情绪。

转载于:https://www.cnblogs.com/WeitJack/p/10421587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值