草庐IT

Java开发实习生面试—附简历以及面试题

普通网友 2024-01-03 原文

记录下第一次面试。面的是 Java开发实习生。

前些天注册了BOSS直聘,简单填了下资料。(其实还没准备找实习,就是上去看看行情~)

结果过了几天,(12月29号,星期五下午) ,突然有个招Java开发实习生的公司问我要简历。

(其实当时我都还没有准备简历,然后临时赶紧准备了个简历,连照片都是寝室里拍的,然后P成了证件照。)

(我这里的简历不够完善,比如项目经历什么的没写,记得把项目经历写上!获奖经历也加上!)

(最近好像秋招找简历的人比较多,这张简历太简陋了,这里提供了一张新的简历,虽然也还是一般,不过添加了项目经历,可以参考下 ?? 点击查看简历****)

给了简历之后,那天晚上,就和我约了面试。约的是星期天(因为我想去准备两天)。

然后就加了微信,然后把我和另一个人(后来是他面的我,姑且叫他面试官,目测是个技术人员)拉了个群。

结果,面试官突然和我约第二天中午(12.30)面试。

然后我居然还答应了,没办法了,硬着头皮刚。

综上所述,这不仅是我第一次面试,还是个毫无准备的面试。不过还是收获了一些东西。

下面来看看面试过程:

(一些无关紧要的对话我就不记录了)

  1. 你先做个自我介绍,我看下你的简历。
  2. 你有没有写过什么项目?
  3. 什么是分布式系统,分布式系统有什么好处?
  4. SpringMVC 原理,执行过程。
  5. 后台怎么接收Json?
  6. Java 集合的类型。
  7. Nginx是什么 以及 Nginx集群负载均衡。
  8. Linux的常用命令,基本操作。
  9. Solr 介绍、基础使用。
  10. Redis支持的数据类型。
  11. Maven 是干什么的?
  12. Git的基本操作。
  13. 你有没有想问我的?

面试问的就这些。

因为一点都没准备,所以我答的很不好。( 没有意外,面试应该挂了。)

下面整理一下其中一些面试题目,下次再遇到的时候,就可以答上来了。

什么是分布式系统,分布式系统有什么好处?

分布式系统概念:分布式系统是由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点组成的系统。具有高度的内聚性和透明性。

分布式系统的好处/优点:

  1. 可靠性高、容错性高
    一台服务器的系统崩溃不会影响到其他服务器的运行。
  2. 扩展性好
    分布式系统中可以根据需要增加服务器。
  3. 灵活性
    容易添加新的服务。
  4. 高性能
    性能比传统架构好,且性价比高
  5. 技术多样且开放。

顺便说一下缺点:

  1. 架构设计复杂。
  2. 管理和运维复杂。
  3. 部署复杂。

SpringMVC 原理,执行过程。

SpringMVC原理:SpringMVC以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。

执行过程:

  1. 客户端(浏览器)发送请求,请求提交到DispatcherServlet。
  2. DispatcherServlet调用HandlerMapping查询请求信息,找到对应的Controller。
  3. DispatcherServlet调用对应Controller
  4. Controller会根据请求信息来调用Service,Service会处理相应的业务逻辑。
  5. Service处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是个逻辑上的View。
  6. DispatcherServlet调用ViewResolver,ViewResolver 会根据逻辑View查找实际的View。
  7. DispaterServlet把返回的Model传给View。
  8. 通过View返回处理结果给请求者客户端(浏览器)并显示

后台怎么接收Json?

  1. 通过HttpServletRequest接收
  2. 使用@RequestParam
  3. 使用@RequestVariable
  4. 使用@RequestBody
  5. 使用@ModelAttribute

Java 集合的类型。

这个看图比较清楚。

Nginx是什么 以及 Nginx集群负载均衡。

Nginx:Nginx是一个高性能的HTTP和反向代理web服务器,也提供了电子邮件代理服务器功能。

Nginx集群负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群,然后使用nginx做反向代理,多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

Linux的常用命令,基本操作。

这个可以去找常用命令的文档,然后多敲敲,记得深刻些。

总结的一些常用Linux常用基础命令:Linux常用基础命令

Solr介绍以及基础使用。

solr是基于Lucene的,主要用作全文检索。全文检索技术还有ElasticSearch。
基础使用的话,后续会专门写一篇。

Redis支持的数据类型。

  1. String(字符串)

  2. hash(哈希)

  3. list(列表)

  4. set(集合)

  5. zset (sorted set:有序集合)

Maven 是干什么的?

Maven 是项目构建、版本和依赖管理工具。

Git的基本操作。

这个可以去看教程文档,然后也要多实操。

不过常用的操作也不是很多,后续也会专门写篇文章来总结下。

你有没有想问我的?

  1. 可以问问面试的部门是做什么的,技术栈是什么样的;既可以了解面试的部门,又表现出了求知欲。
  2. 别问薪资,私事,以及一些和面试职位无关的事。
  3. 当然,如果确实没有什么想问的,也可以客气礼貌地说“没有什么问题了”。

最后再给出一些我第一次面试的个人收获

  1. 面试官会按照简历上的问,保证写在简历上的你都比较熟悉。
    看下我写的简历,再看下面试官问的,应该能看出来,大部分问题是按照我的简历上写的来问的。
    而且面试官当时也告诉我,他会按照我简历上写的来问我。
    所以,这告诉了我们 : 你要保证你写在简历上的你都熟悉,能说个一二!不然就是给自己挖坑啊。
  2. 不打无准备之战,不面无准备之试;时刻准备好,机会随时会来。
    我这一点都没准备就去面试了,后果就是问的虽然都学过,但都记不清楚了。
    就有点像期末不复习就去考试,挂的可能性非常大,除非学的特别好的科目。
  3. 不用太紧张
    我碰到这个面试官就挺好的,我想不起来的时候,还会给我提个醒。
    后面还给了我一些学习的建议。
  4. 把基础打好
    基础扎实了,学习东西来更快,理解的也会更深。

有关Java开发实习生面试—附简历以及面试题的更多相关文章

  1. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  5. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  8. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  9. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  10. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

随机推荐