求职经验分享之Java篇学习总结(牛客网)

学习链接:https://www.nowcoder.com/study/vod/1034

Java学习规划

在制定学习规划之前,最好先明确一下自己的求职目标,不同求职目标的学习路线有很大的不同。

  • 如果求职目标是一二线大厂,就需要重点准备基础知识,因为这些公司更看重你的发展潜力,它们有能力和条件培养你。基础知识包括:数据结构与算法、计算机网络和操作系统
    一二线大厂比较看重的:
    1.有一两个实习经历
    2.对开源社区有重要贡献
    3.有不错的学历
    4.有相当工作量的个人项目
    5.有计算机相关的国家级大 赛获奖经历
    6.有高质量的个人博客

  • 如果求职目标是其它互联网公司,更需要准备语言和框架等实践能力,因为这些公司需要你加入之后就能参与到实际项目开发中。

Java后端岗位主要考察以下几个理论知识:
语言基础,设计模式,框架和中间件,数据库,数据结构与算法,计算机网络,计算机操作系统,系统设计。

语言基础

如果刚开始接触Java,建议先阅读 《JAVA 核心技术》的前几章语法内容,安装Java环境并使用IDEA 开发工具熟悉一下语法知识。不推荐阅读这本书后面几章内容,很多是在简单地堆API, 讲解地并不好。
学习完简单语法之后其实就可以开始学习设计模式相关的知识,因为Java源码涉及到大量的设计模式,如果没有相关知识很难理清Java 众多类之间的关系。学习完设计模式之后就可以开始学习Java的一些高级特性,推荐阅读 《Java 编程思想》以及《Effective Java》。虚拟机和并发编程也是Java面试经常考察的内容,但是建议在学习了计算机操作系统的知识之后再学习这些内容。虚拟机推荐 《深入理解Java虚拟机》 这本书,重点学习一下内存、垃圾回收、类加载机制这几部分内容。而并发编程推荐 《Java 并发编程实战》,学习得越深入越好。Java面试也会涉及到一些源码分析问题,阅读源码除了需要有一定的编程经验,也要有一定的数据结构与算法知
识,数据结构与算法知识会在后面讲解。对源码的考察主要是一些集合框架,例如Hashtable、HashMap、ConcurrentHashMap等等,你可以在牛客网或者Github 上找一些源码分析的文章学习,比自己阅读源码更加高效。

设计模式

面试中设计模式也经常被考察,比较常被问到的设计模式包括单例模式、几个工厂模式、代理模式。在回答的时候最好结合Java类库中的实现,或者Spring 等框架中的实现。
学习设计模式推荐 《Head First 设计模式》 这本书,包含大量的原理图,生动形象,非常适合入门。

框架与中间件

在做个人项目时不可避免要学习这些内容,框架主要是Spring 框架,中间件重点是缓存和消息队列。
Spring框架的入门推荐 《精通Spring 4.x》 ,虽然看看《Spring 揭秘》中对于AOP和I0C的讲解很有帮助,但是最好动手实践一下,可以找两个项目课程来学习。牛客网上的有相关的项目课程https://www. nowcoder. com/ courses。
缓存中间件主要是Redis, 推荐 《Redis 实战》《Redis 设计与实现》 这两本书,消息队列可以看看 《RabbitMQ实战指南》

数据库

学习数据库最开始要先学习SQL语法,推荐 《MySQL 必知必会》,学完之后建议到Leetcode. 上 刷一些题目,因为面试的时候有可能会考察手写SQL语句。
学完SQL语法之后可以再学习一些数据库管理系统相关的知识,推荐 《数据库系统概念》,至少理解关系型数据库管理系统、事务、范式等内容理解清除。
互联网公司主要用MySQL 数据库,所以接下来重点准备MySQL 相关的知识,推荐 《MySQL 技术内幕 》 以及 《高性能MySQL》 ,重点学习InnoDB 存储引擎,索引、锁、事务、性能优化等内容。

数据结构与算法

数据结构与算法在国内互联网公司面试中至关重要,特别是一二线大厂。零基础学习数据结构与算法推荐《算法第四版》。
在学完定的数据结构与算法知识之后,就可以开始刷Leetcode了,Leetcode 包含了大量的面试算法题。刚开始刷的时候可以先刷Top100 的题目,按照通过率来排序,先从通过率最高的开始刷。在碰到不会的题目,可以看看讨论区的答案,找一些高票的答
案来学习。或者在Github 上找一些Leetcode 题解来学习。

计算机网络

对计算机网络的考察主要在于TCP/IP、 HTTP、 Socket 编程,这些内容对于大厂面试非常重要,所以准备越充分越好。但是对于其它公司,其实找一些高频面试题看看就足够了。
计算机网络入门书籍推荐 《计算机网络自顶向下方法》,随后再学习 《TCP/IP 详解》以及 《图解HTTP》
Java后端开发对于Socket 编程没有特别高的要求,但是至少要了解10 多路复用知识,可以看看 《Unix网络编程》

计算机操作系统

对计算机操作系统的考察主要在进程线程、死锁以及内存管理。前面提到要学习Java虚拟机和Java 并发编程;
最好先学习计算机操作系统知识,可想而知这部分内容有多重要。入门书籍推荐 《现代操作系统》 ,随后学习一下 《深入理解操作系统》 的部分内容。Linux系统编程也是计算机操作系统中很重要的内容,但是Java 后端岗位只需要了解一下Linux基本原理即可,Linux的学习推荐 《鸟哥的Linux 私房菜》

系统设计

系统设计主要设计网站架构相关的内容,推荐先学习 《大型网站架构》 这本书来入门。之后再学习一些分布式知识,推荐 《从Paxos到Zookeeper》《大规模分布式存储系统》。最后再看看微服务,推荐 《微服务设计》

实践与项目

做项目的误区:
个人项目多实现一些功能就行 X。
考察项目的主要目的:
1 了解你对业务的理解程度。
2 了解对热门技术的掌握程度。
做项目的着力点:
1 从业务角度分析项目的难点。
2 多用热门门技术来解决问题,比如使用缓存、集群、消息队列等。
3 从业务的角度去分析,说清楚你这么做有什么用,为什么不用其它方法。
4 建议做高并发项目。
做项目建议:
1 项目最好能部署到云服务器上,并把访问地址附在简历上。
2 最好能把代码开源在Github 上,并写好项目文档。

学习资源

对于找工作帮助比较大的几个学习资源:
1书籍(前面已做推荐)
2 牛客网的面经(牛客网精华板块)
3.求职相关的博客
我建议以书籍作为基本的复习材料,面经作为复习的方向,博客作为补充。

求职实践

应届生应该关注两个招聘时间节点:
春季实习招聘(主要为3,4月份,有提前批,提前一两个月)
秋季校园招聘(主要为9, 10月份,有提前批,提前一两个月)
求职经验分享之Java篇学习总结(牛客网)_第1张图片

小贴士:准备差不多的同学,建议参加提前批。
1 优势:简历足够优秀,可免笔试。提前批会有更多的HC。
2 劣势:有的公司提前批面试表现不好会影响后面的招聘。

小贴士:
7, 8月就是秋招提前批,会和暑假实习进行冲突,建议提前一个月实习(6, 7月份实习),8月开始准备提前批会比较好。

网申渠道

直接在公司的校园招聘网站。上网申(最 准确可靠)。
关注公司的校园招聘公众号,及时获取最新的招聘信息以及招聘进展。
在第三方招聘网站和公众号收集招聘信息(如果没有明确想去的公司的话),然后到对应公司官网。
综合来说最好的,这里推荐下牛客网的校招日程汇总,直达各个公司官网,不用挨个去搜索了https://www.nowcoder.com/school/schedule

内推

在网申之前,你也可以先找一下内推。
内推的作用:不同的公司内推作用不同,基本.上能免简历筛选,最低的标准了。
1 免笔试直接面试(简历特别优秀的同学)
2 免简历 筛选直接笔试(普遍都可以)
3 提前批(多一次机会)
去哪里找内推:
1 最好找认识的学长学姐内推(因为能帮你查应聘进度)
2 牛客网上找内推帖子(因为现在公司基本都有内推奖励,所以不认识的也会愿意给你内推的)

简历

  1. 可直接通过简历看到你的价值。
    各大公司每年都要接收成千.上万份简历,但是考虑到招聘成本,简历要先经过系统和HR筛选,简历筛选决定了你是否有笔试和面试资格。HR需要从这么多的简历中筛选出合适的简历,那么-份简历通常不会花特别多的时间进行筛选,所以就需要让HR在很短的筛选时间中认可你的简历。
    2.足够优秀的话 可以直接面试,免去很多不必要的步骤 。简历通过筛选之后就被放入人才库中,等待发起笔试和面试。如果简历足够优秀,可以在提前批阶段免笔试直接获得面试机会,或者笔试成绩不理想但也有面试机会,这主要看有没有面试官从人才库中把你的简历捞起来。
    3.可以作为面试大纲。
    面试过程通常会按照简历上的内容进行提问,所以简历也可以当成是面试大纲。如果你希望某些内容被面试官问到,那么最好把这些内容放在面试官比较能注意到的位置。

简历相当于向公司推销自己的工具,在简历上你需要尽可能展现自己能给公司带来的价值,这种价值从两方面去评估:
1.技能的匹配程度
除了判断技能栈是否和岗位所要求的技能栈匹配之外,还要看是否具备公司目前业务相关的项目经历。
2.能力证明
即使技能匹配了,但是如果能力不足的话依然不能胜任工作任务。可以通过学历、大赛奖项、工作和实习经历、项目中解决的问题等方面去证明自己的能力。应该分清自己的优势和劣势,突出优势并弱化劣势。

除了在招聘网站上填写自己的信息之外,通常还需要附带一份PDF简历,并且面试的时候也需要自己携带一份纸质简历( 最好多带几份,以免当天有多场面试)。
除了PDF简历之外,通常还有Markdown、 Word、Latex 简历,但是这些形式的简历最后也都需要转换成PDF 简历,因为PDF排版和格式都不容易在传输过程中发生改变,而且也方便打印,所以适合作为正式文档。
推荐使用Markdown 简历,然后转换为PDF简历。因为Markdown 排版简洁,而且更容易修改。你们可以使用讲课老师制作的Markdown简历模版:https://github.com/CyC2018/Markdown-Resume。

如果想要展示图文内容的话,推荐使用HTML简历,它可以更详细和直观地演示项目经历等。做好之后部署到Github Pages 上,并将地址附在PDF简历上。我的在线HTML简历地址:https://cyc2018.github.io

必须写的内容:
1.姓名相当于你的ID,应该把姓名放在最显眼的地方。
2.为了方便HR联系你,也要把联系信息也放在和姓名一样显眼的位置。
3. 个人博客和Github 等技术社区账号可以作为加分项。
4. 教育经历和工作经历按年份逆序来写。
5. 项目经历可以写科研项目、个人项目、实习和工作项目。
6. 技能清单最好可以让人一眼就看出你的熟练度,可以使用精通、熟悉、了解等词语,也可以使用★★★这种图标。
需要谨慎考虑的内容:
1 有些企业会根据性别、年龄等信息筛选人,最好写上,不写也没什么关系。
2 工作经验和期望薪资对于校招生来说不需要写,但是社招生就一 定要写。
3 只写可以给企业带来价值的兴趣爱好,其它的无关兴趣爱好不要写。
4 和技术相关的大赛获奖经历可以写,但是其它- -些比赛获奖就不要写。
5 三好学生、奖学金、四六级成绩、绩点可以写,以证明你的学习能力,但是尽量不要占太多行,如果不是特别好的话也可以不写。
6 个人评价如果要写的话不要太空泛,什么热爱学习吃苦耐劳等就不要写了,要写得话可以写在最后当做是简历其它内容的总结。

排版
虽然内容比排版重要,但是好的排版会让人看着舒服,也就会让面试官和HR更愿意去发现你的价值
下面是我总结的几点注意事项,供参考:
1 中文和数字英文之间加空格,因为中文的字体排版和数字英文的有很大不同,数字英文偏小一些。如果不加空格的话,那么整篇文章看着会非常密集杂乱,中文和数字英文混在一起参差不齐。
2 专有名词- -定要保证大小写完全正确,例如使用Java 而不是java, jQuery 而不是Jquery。
3.内容 也应该注意对齐,否则会很乱。
4.最重要的是不要太花哨, 尽量简洁。

项目经历
项目经历一方面可以用于匹配技能,另一方面也可以通过你在项目中解决的问题来展示你的能力。
可以按照下面的步骤介绍项目:
1 为什么做这个项目;
2 项目有哪些功能;
3 你在项 目中担任的角色;
4 碰到了 哪些问题;
5 使用什么方式去解决问题的;
6 解决效果是怎样,和别人相比有什么优势。
7 不要用太过主观的语言,而是用数据等客观事实。比如介绍碰到的问题时,不要用“非常难解决”等词语,
而是用“并发用户数达到XXX导致响应时间增加到XX"等数据。
8 不要堆叠无意义 的技术名词,比如“基于Spring、SpringMVC、Hibernate 实现了XXX 系统,包含增删查改等功能”。

笔试

笔试和面试都需要准备很多理论知识,但是它们考察的内容还是有略微不同。
1.笔试题目应试性偏强:基本是从题库收集来的,或者是教材的习题,- - .些题目没有一点实际用途,只是为了考察某个理论知识而强行编的题目,计算和证明过于繁琐复杂。
2.面试题目实际问题居多:更多的是面试官自己在实际工作过程中遇到的问题,所以不会出现–些离谱的计算和证明。
不建议在笔试上花太多准备时间,有两个原因。
1.面试相比于笔试来说更为重要,很多公司的笔试只是作为面试的入场券,只要笔试过线就能参加面试,最后决定是否能通过面试,以及面试的评级都和笔试关系不是特别大。当然笔试对于面试评级还是会占一定的比重,但是这个比重比较小。而且即使笔试成绩不理想,要是简历非常出色被面试官看重,那么也会发起面试流程。
2.笔试题目和面试题目略微不同,准备过多笔试对于面试来说帮助不会特别大,反而会走向错误的面试准备方向。当然要适当准备笔试,刷一刷往 年的笔试题也有必要,毕竟要保证能通过笔试。在刷笔试题的时候,对于一些应试性太强而在实际工作中没有多大用途的知识可以少花点时间。

笔试题型一-般为选择题+编程题,或者只有编程题。
选择题的准备:
1.基础打牢(前面已经说的很详细了,具体怎么准备以及学习)
2.刷公司真题(牛客网这里有最全的各个公司的真题https://www.nowcoder.com/contestRoom)
编程题的准备:
刷题(除了刷Leetcode和剑指Offer, 还建议刷往年的真题,在牛客网上可以找到题库:
https://www.nowcoder.com/activity/oj)
刷题小贴士:
切换考试模式,提很多公司笔试都是在牛客网上进行,在线0J和本地不太一样,所以建议平时可以试试考试模式。

可能很多人会觉得在线笔试很容易作弊,但是最好不要随意作弊
●现在各个公司都共享了考试作弊信息,HR和面试官可以轻易看到这些信息。
●检查作弊的手段越来越高明,特别是编程题可以用语法树查重,简单地改变量名和修改语句顺序是行不通的。.如果被查出有作弊行为,那么基本是进入了国内大部分互联网公司的黑名单。所以,作弊需要慎重。

技术面

关于面试:
1.不仅考察你的理论知识掌握情况,还考察学习能力、分析解决问题能力
等等。
2. 面试也不是一场考试,所以不是面试官出题然后你负责填标准答案,面
试是一场交流,在交流过程你应该主动把面试官引导到你熟悉的领域,
并且也要主动体现你的各方面能力。

虽然简历上已经包含了所有个人信息,而且面试官也已经看过了你的简历,但是还
是需要自我介绍环节,主要有以下作用:
1.简历上的内容还是有点多,在自我介绍环节需要用几句话来总结自己的价值,
让面试官对你产生兴趣。
2.给面试官一点时间重新浏览一-下你的简历,然后想好要问的问题。
3.自我介绍可以看 成是简历的精简版,不需要把简历原原本本读一遍,可以挑一两个最能体现你价值的内容来介绍。比如你对Java最熟悉的话,那么可以说:“我的主编程语言是Java,阅读过部分JDK源码,对Java虚拟机、并发编程、网络编程比较熟悉”。在你这么回答之后,面试官接下来很可能就会开始问你Java相关的内容。如果你对项目比较有把握的话,就可以挑一个项目重点说一下。

面试官向你提问主要是为了考察你的以下内容:
理论知识掌握情况,编码能力,分析解决问题能力,学习能力,团队协作能力,交流表达能力,加入意愿。

理论知识掌握情况的考核占了很大比重,主要从深度和广度两方面去考核。

  1. 深度:比如在问到TCP 和UDP 的区别时,面试官希望你能就这个知识点深入回答。除了回答标准答案之外(是否有连接、是否有拥塞控制等等),还需结合这某些场景去分析要用TCP 还是UDP。所以在平时复习时,最好针对某些重点知识多找些资料学习,越深入越好。
    2.广度: 比如你不一定要对各种中间件非常熟悉,但是你应该知道他们的基本原理。你可以找些入门资料简单学习一下,然后做好笔记,记下在被问到相关内容时你打算回答哪些内容。在回答问题时,可以按照以下步骤来体现你对知识掌握的深度和广度:
    1 为什么存在(解决了什么问题)
    2 基本原理
    3 使用场景
    4 和其它相比有什么不同例如在问到数据库索引内容时,可以先说索引可以让数据检索的速度更快,然后说到B+树原理,再说一下各种索引的使用场景,最后再提到B+树和红黑树的不同。
    小贴士:
    1.在回答问题时候,注意引导面试官往你想回答的问题上去问。比如刚才提到的数据库索引问题,如果你对红黑树熟悉的话,可以直接说自己对红黑树熟悉,阅读过Java中的TreeMap 和HashMap 源码,然后问一下 面试官是否需要讲一下红黑树 的内容。
    2.在回答时一定要注意结构化表达,先按.上面的那些步骤回答完之后,再提自己对其中的某些内容熟悉以而引导面试官往这些内容上去问,否则中途打乱的话会导致回答很零散。

编码能力
在面试中考察编码能力通常是要求在纸上或者文本编辑器上写数据结构和算法题,也会要求写某个具体的功能实现。
这方面能力不是短时间能够积累的,这里只给出一些面试中的注意事项。
在编码之前,除了要明确正常情况下的输出之外,还需要明确错误时应该怎么处理。
在写完代码之后,通常也需要自己设计测试用例,需要包含以下用例:
1 正常用例
2 空值用例(0、 nulI)
3 用户输入错误用例
4 边界用例
根据时间复杂度和空间复杂度要求,选择合适的数据结构与算法。
最好使用模块化的方式编码,例如下面是将交换数组元素的功能抽取成函数:
可以先写伪代码,某些不重要的功能先不去实现,例如上面的交换数组元素的功能不是特别重要就可以先不实现。如果能给函数名和变量名起一个很容易看懂的名字,也是可以加分的。

分析解决问题的能力
在提问技术问题时,面试官会一步步把问题问的越来越深入。
1 一方面是看你对理论知识是否有深入的理解
2 另一方面是看你在面对之前没遇到过的问题时会怎么去分析和解决。比如问到一个数组相关的编码题,最开始数组元素不重复,在你给出了一个解法之后,就会进一步要求数组元素能重复。在碰到一个问题时,公司最怕的是没有搞清楚问题就动手的人,因为会给公司带来不必要的损失。所以有些面试官最开始会故意问一个很模棱两可的问题,设下陷阱,看你是否会在没搞清楚问题的时候就开始回答。例如刚才说的数组相关的编码题,如果面试官没有明确说明数组元素是否重复,你就应该问清楚。特别是在某些问题下,可能涉及到海量数据,这时候你就应该问清楚,然后针对海量数据提出可行的解决方法。
在你解决一个问题时,如果没有思路的话,也不要一直埋头苦想,应该多和面试官交流,也可以让面试官给一些例子来说明这个问题。
1 在碰到问题时,最忌讳的是逃避这个问题,想要让面试官问下一个问题。因为工作中会碰到各种问题,是以逃避的态度来面试的话,那么肯定无法解决这些问题。当然不懂的内容不要瞎说,可以说一些你知道的相关内容。碰到问题一定 要和面试官交流!
2 面试官最喜欢问你在项目中碰到的问题,以及是怎么解决的,所以最好针对你的项目提前准备好这些内容。

学习能力
学习能力可以通过你的学历、成绩、奖项等说明,如果面试官觉得你简历上的内容还不足以说明你的学习能力的话,可能会再问一些开放性的问题让你回答,比如对于一个没有接触过的新领域,你是如何去学习的?

团队协作能力
在你进入企业工作之后,基本不可能是一个人独立完成工作内容,而是需要和团队一起完成。
团队协作能力至关重要,如果能和团队其他成员和谐地相处,那么工作氛围和效率都会很好。

交流表达能力
面试过程中的任何问题都可以考察交流表达能力,可以提前准备的是自我介绍这里
和项目经历。
1.自我介绍可以突出自己的亮点,以及引导到自己的优势。
2.项目经历的话可以自己练习表达以下几个问题:

  • 介绍自己的项目(用了什么技术解决了什么问题)
  • 在做项目中遇到了什么难题,怎么解决的
  • 项目有没有什么亮点

加入意愿
企业也很希望优秀的人加入,如果决定录用了某个候选人但是他最后没接受0ffer, 那么
会增加招聘成本。
并且加入意愿不高的话,以后也很有可能会跳槽。

向面试官提问
每场面试快结束时,面试官都会问你有没有什么问题想问他的。这个环节的主要目的是让你对企业和部门有更深入的了解,从而让你有更高的加入意愿。你可以问以下内容:
1.部门的业务和技术栈
2.技术难点怎么解决
3.每天有多少时间花在写代码上
4.公司吸引您的地方有哪些
小贴士:问这些问题之前,你最好先去官网等渠道去收集一些信息,不然面试官会觉得你没有多少加入意愿,可能会重新考虑是否录用你。比如这么提问的话比较好:“我了解到你们使用了XXX技术,这个技术XXX,请问你们是如何处理XXX问题的?”。
注意:你不能问一些保密的内容,即使问了面试官也不会回答你:
1 公司的发展战略
2 薪水
3 面试表现
了解自己面试表现:
向面试官征求学习建议(那么面试官通常会先对你刚才的表现做–些点评,然后和你说你有哪些不足要改进的,有哪些是得到他肯定的。)

心态调整
在面试过程中,如果碰到你不会的问题,难免会紧张。这时候可以放慢语速,语速越快
越紧张。还可以喝一口水,缓解一下压力。 有些面试官会故意给你压力,质疑你的回答或者项目,是为了看你在应对压力时候的表现,你应该意识到这是在进行压力面试。
面对质疑的时候,如果你也表现出对自己的回答和项目不自信的话,面试官会觉得你没
有多少价值,也就没必要录用你了。当然也有可能是你回答的真的有问题所以面试官提出质疑,你应该先考虑清楚再回答,而不是一味地反驳,当然也要保持礼貌。

模拟面试
在没有多少面试经验的情况下,参加面试很自然会紧张地不知道说什么,本来已经非常熟悉的内容,面试官- -问起来就说的吞吞吐吐,不知道该往哪里切入和引导。

  1. 参加一些不太重要的面试(最直接的方法)
    但是参加面试需要时间成本,不仅要在招聘网站上填写各种信息,有时候还要跑很远参加现场面试。
  2. 尝试模拟面试(节约时间成本)
    你可以找几个与你一起准备招聘的同学,然后你们互当面试官和应聘者。当面试官可以让你从面试官的角度去思考面试过程,所以也有必要。最好能与多个不同人进行- -对一模拟面试,因为不同人的面试方式不同,可以增加更多的面试经验。也可以找那些已经找完工作的学长学姐,他们参加了很多面试,面试经验会比较充足,更知道应该怎么面你。面试完之后,你们还可以交流一下面试表现, 有哪些不足的地方需要改进,这是真实面试很难知道的信息。
  3. AI模拟面试
    尝试AI模拟面试https://www.nowcoder.com/interview/ai/index,完全模拟真实环境。
    4.Java面试题库:
    链接: https://www.nowcoder.com/tutorial/94
    好处:汇总了最全的面试真题,按照知识点划分,是查缺补漏的好帮手。

面试总结
面试是很好的查缺补漏机会,可以暴露很多问题。参加完面试之后最好进行复盘,不仅要记录面试考点,也要反思自己在面试中存在哪,些不足。
面试高频考点其实不多,参加几次面试之后你会发现每次面试都会重复问相同的问题,所以记录面试考点很有必要。反思总结自己的不足也能帮助你不断地改进,从而增加面试经验。

HR面
HR面考察的内容和技术面很类似,只是不会考察技术相关的内容。HR面主要考察以下内容:
1 分析解决问题能力
2 学习能力
3 团队协作能力
4 交流表达能力
5.加入意愿
大部分公司的HR面基本不刷人,只要不是表现很差,比如各方面能力有明显问题、不合群、表达了自己有创业或者读研读博的想法。因为公司更看愿意招比较稳定的员工,所以如果有创业或者读研读博想法的话可能不会录用。

问:你的优缺点?
答:只要你的缺点不会影响到以后你在团队中工作就行,针对缺点要给出你今后的改进打算。不要太刻意把缺点说成优点,比如工作做事太认真导致自己经常忘记一些事之类的,这种小聪明其实不是面试官想要听到的,他们更想知道你真的有哪些缺点,以及自己是否认识到了这些缺点。
问:最难忘(有成就感)的一件事?
答:最好提前准备好,除了注意要清晰表达之外,也要借此从侧面来突出自己的各方面能力。
问:有没有女朋友?
答:一方面是面试官对你比较感兴趣,想多了解一下你。另一方面看你是看你在感情方面是否已经稳定了,如果稳定的话那么就可以把时间精力多花一些在工作上。
问:平时有什么兴趣爱好?
答:只要兴趣爱好积极向上都没问题,比如打羽毛球,爬山之类的。
问:家庭情况
答:有些公司希望你以后能接受调换工作城市。或者看你是否能接受工作城市离家很远。
问:给你一个任务,你会怎么做?
答:首先要认真分析任务所要达成的目标,然后和任务负责人表述自己对任务的理解,看是否正确,以及自己打算怎么做,会有哪些风险,以及如何规避。
问:对加班的看法?
答:不需要说什么热爱加班,只要说明如果工作需要的话也不会排斥加班。

岗位介绍

和Java 相关的岗位主要有C++、 大数据、测试开发。接下来我大概介绍一下这几个岗位:
1 Java:主要从事一 些业务开发,更多的是实现网站的业务逻辑,工作中主要使用Spring 生态的框架和工具。
2 C++: 主要从事一些基础平台的开发,非常注重提高性能,需要具备网络编程和系统编程的知识。
3 大数据:主要从事一些底层的二次开发,或者开发- -些简单的大数据应用。除了需要Java 知识外,也需要分布式基本原理以及大数据基本组件原理相关的知识。
4 测试开发:需要参与测试相关的工作,还需要参与自动化测试工具的研发。所以投递测试开发岗位需要测试相关的知识,也需要一定的工 具开发知识,最好会使用Python 或者Java 等语言。

岗位选择

1.如果基础比较薄弱,我建议可以考虑Java 岗位或者测试开发岗位,一方面是因为比较容易准备,另一方面也是因为招的人比较多,特别是Java岗位。
2.如果之前学过计算机网络和计算机操作系统等课程的知识,并且对这些知识也有- -定的兴趣,那么很建议投C++岗位。
3. 如果已经有了一-些项目经历,开发能力不错,那么可以考虑一下大数据岗位,这是因为大数据岗位确实要求高一-些, 所以比较建议有项目经历的人投递,这样准备起来也比较容易。

实习目的

1.转正:大部分公司的实习转正率都很高,实习转正之.后就可以拿到- -个Offer。 如果你对这个0ffer很满意的话,就可以结束漫长的找工作之路了。即使不是很满意,也有了一个保底Offer,就可以比较从容地准备后面的校招。
2.为校招做准备:在简历写上实习经历可以增加很多面试机会,并且校招面试过程也非常喜欢提问实习经历。
3.了解公司和部门:实习可以让你零距离接触公司和部门,从而对公司和部门]有更深入的了解。
4.了解岗位:在真正工作之前是很难了解岗位适不适合自己,参加实习是很好的了解岗位的机会。
5.锻炼工作能力:在实习的时候能够接触到真正的工作流程,你需要和实习导师以及团队其它成员进行交流以及互相协作,这些能力的培养有助于以后正式地进入职场工作。

实习招聘

无论是实习招聘还是校园招聘,招聘要求都是根据与你一起参加招聘的人的水平来决定的,整体水平高的话那么招聘要求自然也会水涨船高。
因为参加实习招聘的整体人数不会特别多,而且基本都没准备地很好,所以实习招聘要求会比校园招聘低一些。如果你能尽早准备实习招聘,那就比大多数人更有优势。

如果你的导师不让参加实习,或者是你没准备好所以没能找到满意的实习,那么就缺少了实习经历。没有实习经历对校招有一定影响,但是还是有机会能在校招拿到满意Offer。 用一个不太准确的数据来说明,实习转正占去50% HC,有大厂实习经历的人再占去30% HC,剩下20% HC就是留给没有实习经历的人去争夺。如果没有实习经历的话,最好利用别人实习的时间尽量把个人项目完善,然后好好补基础。

你可能感兴趣的:(Java)