面经分享:工作两年不到裸辞,投了进百份简历,基本石沉大海!

本文主要是介绍面经分享:工作两年不到裸辞,投了进百份简历,基本石沉大海!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

此篇记录一下6月找工作的经历,本人从毕业到现在工作一年半了,目前处于离职找工作中,毕业7k目前想找10K-12K左右的,做过项目管理,项目开发,但是目前面Java貌似项目管理的经验丝毫没有作用,下面的篇幅将记录一下找工作的相关问题:

这里稍微唠嗑一下,建议各位想跳槽的小伙伴尽量在职找工作,我之前是在职找工作的,拿了一个10K*14薪的Offer,但是是外包,考虑了很久最终辞职准备尝试,实习三天后感觉外包的工作氛围实在太差,毅然就离职了。当然现在还是有点后悔,之所以离职就是为了获得更好的生活,然而技术方面的追求还是受不住外包无外网的约束,这里之所以推荐大家在职找工作,一个很重要的原因是你在职找工作时相对来说更有底气一些,并且短时间内没找到也不会那么压力大,离职后考虑生活的压力,找工作的底气发现还是弱了许多,毕竟生活还是要过,我是5.18号离职的 加上外包实习的3天,截止到今天已经近10多天了。由于今年疫情的影响加上六月毕业大军的轰炸,个人可能觉得岗位少了许多。中间陆续面过1-3家,简历已投100多分,大部分石沉大海。了无音讯。

不过生活还是要继续的,我相信的自己的能力,也期待未来的成长

关于我现在的心态,**普希金的《假如生活欺骗了你》**说的就很形象:

  • 假如生活欺骗了你,
  • 不要悲伤,不要心急!
  • 忧郁的日子里须要镇静:
  • 相信吧,快乐的日子将会来临!
  • 心儿永远向往着未来;
  • 现在却常是忧郁。
  • 一切都是瞬息,一切都将会过去;
  • 而那过去了的,就会成为亲切的怀恋。

面试总结:

2020-06-04 深圳云麦科技 10K-20K Java中级工程师

状态:已凉 上午10点的面试,我8点多就到了,在楼下附件转了一下,顺便找了个地方看了会面经,风太大,吹的人都有点懵逼,保安又不让那么早进去。只能在外等候,赤湾总部大厦的电梯有点先进,捯饬了5-6分钟才上去。哈哈,想起来都有点呆,当时没人一个人捯饬了半会,9.50左右我就进去了,开始填写个人资料,又是一家查户口的,很细的那种个人表。然后开始笔试,笔试结果偷瞄了一下84分,emm,总的来说考比较基础和广,之后就是等待和面试了,下面是面试题目,一面就挂了,也可能是面试官着急去吃饭,没有自我介绍,直接就开始了 然后问了问题直接就说我可能不太合适。卑微的程序员生涯呀。哈哈

1.简单介绍一下你之前的项目及职责

回答的很粗,今天的状态可能有点懵逼,主要是粗的讲了一下项目及负责的模块

这里我在重复表述一下方便后续面试的时候多熟悉:

我:嗯,好的,我之前的话是在一家专注数据安全的公司,主要经历的项目有两个,最早一个是关于数据库漏洞扫描及评估的系统,最近一个是基于大数据人工智能分析的数据库安全综合治理平台,那么我这里就简单介绍一下这个综合治理的项目,它的业务场景的话是基于我们公司的现有的多个安全产品数据,像数据库的审计数据,状态数据,漏洞数据,脱敏数据来进行综合的大数据统计及人工智能分析,那么我这边主要负责的模块主要是数据采集整合,数据入库查询,数据统计匹配,以及数据库对象管理及扩展功能的一些实现。它的一个技术架构为多个安全产品的数据通过上传到kafka,由自定义的消费者进行消费入库处理,入库对象包括Mysql和Es,Es一般用于存数据量比较大的,mysql一般存数据量比较轻量的。消费者消费的过程中会结合数据库的扩展功能敏感数据识别的结果来进行敏感数据访问的相关统计,这部分的数据由于操作非常频繁,为了速度和性能的考虑我们将相关的参考和识别结果存入了Redis。

个人的工作职责包括以下几点:

  1. 辅助团队的一些管理工作,像计划安排,每日站立会,进度统计汇报,转测安排,项目部署等。
  2. 其次就是负责自己的开发模块维护了。

2.看你简历写了集合,你说以下你使用的一些集合吧

我这边项目用的比较多的是ArrayList,LinkList等一些集合,其次也会用到Map,像HashMap之类的。其他一些Set偶尔也会用到。

补充一下Java集合接口情况


这里附加问了一个有区的优化问题,ArrayList从头删和从尾删出某些元素有效率上的区别么?之前一直认为是没有的,但实际上从尾部开始遍历删除往往能提高效率

这里假设我们要删除a,b,c。给定数组abcd来进行前删除和尾删除

3.你用过Hashmap的话简单介绍一下hashmap和HashTable的区别吧

hashmap的话它是线程不安全的,hashtable的话他是线程安全的,hashmap访问较快,table访问较慢,hashmap运行key value为空,但是hashtable不运行为空

4.看了一下笔试题,有一道是关于sychronized和volatile的。请将一下你对Syschronized的理解

Sychronized一般是用于控制多线程同步互斥的,常用的地方包括方法,代码块,以及类,根据锁的对象分为对象锁和类锁。

volatile一般是修饰变量的,主要的特点就是内存可见性。


5.你熟悉单例模式么?如果给你这两个关键词让你设计单例模式你会怎么设计?

单例模式的话我的理解是该对象只能实例化一个对象,一般分为饱汉式和饿汉式,主要的设计原则包括

  1. 在内部声明自己的public static对象,
  2. private封闭自己的构造方法
  3. 提供对外方法获取该对象,

这两个关键词一般是用于多线程安全问题的,对于饱汉式一般是默认初始化生成,不存在线程安全问题,而饿汉式是在调用的时候初始化的,那么初始化的过程中就有可能会发生线程安全问题。比如第一个线程初始化对象执行到了new实例的前一秒,第二个线程也是一样,那么就会生成2个对象,这与单例的设计相违背,所以我可能会包syschronizd放到实例化那基于类锁起来来保证只实例化一个对象-----------个人事后所想的,实际可以,但是短时间没表述出来。

6.你知道单例模式多线程下的安全问题么?了解双重检查单例模式不?

这里的话我 由于前一个问题回答的不是很好,这里就直接说技术盲区了。






7.看你简历熟悉多线程,简单说下Java的线程池的几种类型和应用在哪些地方吧?

线程池类型:

  • newFixedThreadPool 固定大小的线程池

  • newCachedThreadPool 可动态扩展的线程池

  • newScheduledThreadPool 可定时的线程池

  • newSingleThreadExecutor 单例线程池

https://blog.csdn.net/weixin_40809627/article/details/103793030 应用不太明白要说哪方面 我大致介绍了四种类型的特点

8.谈谈Springboot的aop吧

Springbootaop其实就是SpringAop,传统的面向对象编程是类似于过程似的从controller->service->dao->db类似这个过程,aop的话其实就在传统过程编程中增加了一个前面,在原有逻辑之前或者之后做一些其他的扩展操作,并且这些操作不会影响原有的流程

常用的Aop应用类似日志记录,事务处理。

9.看你简历说了解Spring,Spring容器你了解么?

这里回答不上,脑袋中一直回现Spring bean的生命周期,大致讲了对象扫描-》beanfactory->beandefined->注入初始化代理对象 Spring管理的是代理对象。应用了Cglib,JDk动态代理之类的,感觉是没回答到点上。

这里附上资料,不确定是否是问的这块

10.除了Spring的bean管理,你还用过Spring的哪些功能

这里每太明白,一直以为是问Spring除了Bean管理还有哪些功能,回来才发现是问的Spring的相关组件,实际知道,表述不理解就没回答上

11.你们项目Redis主要是干嘛的?有了解过Redis的缓存穿透,缓存淘汰策略不,对于Redis和mysql数据的同步问题一般是怎么处理的?

大致表述了Redis的用途,

缓存穿透的话是大量的无效key查询导致内存耗尽缓存穿透。 答的时候完全理解错误

缓存淘汰策略不太熟,没回答上。

看了一下我项目中的Redis架构原来和传统的缓存架构用处不一样,项目中Redis仅用来存和取一些经常需要用的数据,数据来源是我们程序分析生成的,而传统的缓存一般是用于加快查询速度,免去数据库访问的过程。直接访问缓存加快访问速度。所以导致这块的知识点比较薄弱

这里整体了解一下

首先对比下我的项目架构和网上的项目架构

通过对比架构,我们能发现实际上redis单独使用作为一个快速访问数据库时是没有缓存穿透(击穿),雪崩问题的

实际上缓存穿透,缓存雪崩是基于Redis作为缓存的情况下,那么

1、缓存穿透指的是应用程序大量查询Redis中没有的key,导致请求全部过滤到数据库,但是数据库也没有对应的key,返回null,从而导致大量数据库null查询增大数据库压力,有可能造成数据库宕机

穿透的解决办法一般是合理规划key,其次也可以使用布隆过滤(https://www.cnblogs.com/cpselvis/p/6265825.html)掉非法的key

2、缓存雪崩指的是Redis短时间内大量key过期,导致查询直接给到了数据库,而导致数据库增大压力,类似于穿透但又不同于穿透

设置key的过期时间尽量错开,分布式部署。

3、Redis缓存淘汰策略:

在介绍Redis淘汰算法时先介绍下常见的淘汰算法


12.看了一下简历,去年毕业。emmm可能你的工作年龄不太符合公司的要求,技术方面还有待加强。感谢您过来参与面试

虽然是19年毕业的,但是我觉得自己能吃苦,乐于学习,在上家技术的宗旨是能完美解决业务的技术就是好技术,我觉得任何一个新的技术只要花一定的时间去应用学习,上手使用一般来说都比较快的。站在公司的立场,能解决业务的开发就是好开发,我目前是这么理解的,后续也会加油扩展自己的知识面,来提升自己技术能力和广度。

继续加油吧!!!

作者:胡小华
来源:https://urlify.cn/BBbEBz

这篇关于面经分享:工作两年不到裸辞,投了进百份简历,基本石沉大海!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761764

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹