个人面试分享(小厂)

207 阅读6分钟

个人面试分享(小厂)

今天终于提起键盘了。xdm,假期过得如何,祝大家节日快乐 ~

上个月利用一些请假面试了几家公司,然后想跟大家分享下一些面试题(面试的公司规模大概是50-200人左右)。

—————————————————————————————————————————————————

先说下遇到的一个坑,这家公司是一家做外包的公司,外包的项目的话是某银行项目。是不是听起来还不错,包括它的一个福利薪资都是非常不错的,五险一金双休都安排上了,国企待遇。我之前也没有做过这种银行外包,总感觉有诈。看到这些诱人的条件,便向HR了解了部分工作内容以及使用的一个技术栈,给我的一个回复就是比较含糊,只是说用的就是当下流行的,还说要进行培训,培训完就知道了。

抱着一些好奇心等,我也是来到了甲方公司进行培训,听了大概一个小时,心中只有跑路的想法了。工作内容就是利用已经构建好的开发工具和框架进行一些CV操作,代码也是非常之少,工作内容跟之前上班有非常大的出入,感觉就是一个谁都能做的工作,非常不利于未来发展。听了之后本人表示有点小无语呀,中午就溜了。以后如果大家遇到了这种国企外包还是得留点心眼的,仔细斟酌,看自己能否接受其工作内容以及是否符合自己未来的一个规划再做决定,可别误了前程。

下面就直接上面试题了:

2年+工作经验进行面试,通常情况下小厂很少问一些太基础的东西,一般都是围绕项目进行一些提问,当然不排除还有问源码的小厂,这个得看个人运气啦~

非技术类

  • 上家公司的离职原因是什么(有几家公司问了我之前所有呆的公司离职原因)
  • 你对自己未来的一个职业规划是怎样的(简单说下以后发展的一个方向即可)
  • 老家的地址、父母是做什么工作的,在哪里上班(本人很反感这种查户口的问题)
  • 上家公司主要做哪些业务(主要是考量上家公司业务跟面试公司的业务关联性等)
  • 你有什么想了解我们公司的(可以问公司业务、技术栈、面试岗位的工作内容等)

技术类

  • 介绍一个你最熟悉的项目(可以先简单介绍下业务,有什么优势和好处。再介绍一下重点业务,结合技术点讲解更好)
  • 你在这个项目中负责了哪些模块或者功能(业务+技术点进行讲解,中间大概率会根据某些特定业务或者技术点对你发起提问,所以得提前做好准备,说自己有把握熟悉的)
  • 你之前工作项目开展流程是怎样的(如实回答即可)

Redis:

  • redis遇到宕机的情况如何防止数据丢失

我们可以配置Redis的持久化来防止数据丢失,其中Redis持久化有两种模式,一种是rdb(通过定时进行保存)还有一种是aof(它有三种保存策略 -- 每秒保存一次/ 每次修改保存一次/ 从不)

  • redis的击穿、穿透、雪崩发生原因及解决方法

缓存雪崩:同一时刻大面积缓存过期,导致大量请求访问数据库,给数据库CPU和内存造成巨大压力,严重可能宕机 解决方案:严格解决--使用加锁或者队列的方式保证不会有大量的线程对数据库一次性进行读写/简单解决:分散设置过期时间 ---------------------------------------------------------------------------------------------------------------------------------------------------- 缓存穿透:查询不存在的数据,缓存中未查询到,数据库中未查询到,进行了两次空查询 解决方案:严格解决--使用布隆过滤器(将所有可能存在的数据哈希到一个大的bigmap中,一个一定不存在的数据则会被bigmap拦截掉) 简单解决:不管数据是否存在都进行缓存,但是过期时间尽可能设置短一点,比如5分钟。这样下次查询就不会再次查询数据库了,过期时间短即可及时缓存最新的有效数据 ---------------------------------------------------------------------------------------------------------------------------------------------------- 缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。 解决:设置热点数据永远不过期

Spring

  • spring bean的生命周期

实例化 Instantiation 属性赋值 Populate 初始化 Initialization 销毁 Destruction 实例化 -> 属性赋值 -> 初始化 -> 销毁

  • spring 常用注解及作用

1)用于注册bean对象注解 @Component (调用无参构造创建一个bean对象,并把对象存入spring的IOC容器,交由spring容器进行管理。相当于在xml中配置一个bean) @Controller @Service @Repository ---------------------------------------------------------------------------------------------------------------------------------------------------- 2)用于依赖注入的注解 @Autowired @Resource @Value(可以将外部的值动态注入到Bean中,可以为基本类型数据和String类型数据的变量注入数据)

Linux

  • linux有哪些常用命令

pwd(输出当前目录路径) cd(改变所在目录) ls(目录下所有文件) vim(编辑文件) cat(展示文件内容)

  • docker有哪些常用命令

docker version(显示docker的版本信息) docker images(查看所有本地主机上的镜像) docker ps (列出所有运行的容器)

  • nginx如何配置反向代理及负载均衡

在nginx.conf中进行相应的配置即可,直接百度有很多案例的

上期面试题答案分享

往期推荐: SpringBoot集成Jwt(详细步骤+图解) SpringBoot实现自定义异常+全局异常处理(多个异常处理类catch顺序)【详细步骤+图解】 SpringBoot集成MyBatis-Plus以及MyBatis-Plus代码生成工具类(详细步骤+图解) 通过Spring事件机制(Event),实现用户注册成功后,同时发送邮箱以及短信

有什么疑问可评论区提问!