php简历怎么写出来,如何进入互联网大公司实习或工作?
说难也难,说简单也很简单,想进入互联网公司,给你以下几点中肯的建议。
1.了解你想进的互联网企业,比如说你想进BAT巨头公司或是华为、小米等知名集团企业,得了解对方招聘的硬性要求,比如说华为的211或985,虽然表面上什么水平人都招,实际上就是有这样那样的门槛;
2.岗位对技术的要求,比如互联网必备的基本技能LAMP开发是否熟悉,熟悉到什么程度,做过那几个项目,带过什么团队;
3.针对中小型企业进行简历海投,针对大型企业,熟悉公司的业务,企业发展的优缺点,这个在面试前就收集好资料大全,熟记于心,方便临场面试发挥沟通,防止面试官问你对本公司还了解,一问三不知就没戏了;
4.放低姿态,进入门槛才是最重要的,一毕业不一定非要第一份工作月薪过万或很高,甚至适当降低要求也是可以的,重要的是选择自己喜欢的企业和得到项目累积的经验,薪资会随着你的工作经验,自然而然水涨船高。
所以说,先增加机会,想办法得到第一份喜欢的工作,然后再不断积累项目经验,不断学习,投资自己,最后成为某个领域里的大咖。PHP现在很难找到工作?
很高兴回答你的问题,怎么来说呢,你说php不好找工作,他说php好找工作,php到底好不好找工作呢?作为一名工作了8年的老兵,我还有比较有资格去给出这个结论的,那就是php还是比较好找到工作的。
当然找工作不能一概而论,薪资和待遇都是我们需要考虑的因素,找一个工作很简单,找一个适合自己并且自己喜欢的工作很难。
我从14年开始做php开发,从月薪2k到现在的1w左右,想比大多数人来说是挺失败的,但是在济南这座城市,月薪1w以上靠单纯的敲代码是有些困难了,尤其是在小公司除非你一个人可以当多个人使用,这个时候才有可能拿到高薪,但这一切都是拿自己拼来的。
在外界看来软件开发是一个优越的工作,拿着不错的高薪,其实真正有多少人能在行业挣到钱呢,更多的都是基层的打工族,靠着不断的加班和消耗自己的身体来挣一些辛苦钱。
php相比其他语言的优势在于入门较低,上手比较快,对于web开发有极好的拓展性,是web开发的不二选择,从基础的企业站、商城,再到微信公众号、微信小程序,以及api接口的书写,php都有着极大的优势,网上开源的代码一大堆,随便下载一套代码就可以进行二次开发,极大的降低了开发成本,所以在很多初创公司都会选择php来进行开发,也正是这种原因的存在,所以php的需求一直在市场上都很火。
一直以来都有唱衰php走下坡路的声音,说php的语法比较low,安全性做得太差等等,但无论外界怎么说,php依旧有着不错的市场份额这个数据不会作假,这些年php也一直在寻求改变与创新,也在试着去做服务端一些应用层的技术支持,像workman、swoole都是近几年php推出很不错的服务。
最近两天公司也在招聘php开发工程师,我面试了有几个,工作经验在4、5年左右,能力不能算很好,毕竟在没有做过大项目的前提下掌握的技术也有限,期望薪资在8-12k之前,针对当前所处的城市以及行业来说还可以,北上广肯定是比不了,毕竟还有上升的空间。
我之前发过一篇前端面试8k未录取的微头条,当时有很多朋友就说8k这么低的薪资你们公司都给不起,干脆还是关门算了,我不知道说这话的人是真的年入百万还是真的很优秀,屈指可数有多少互联网大厂能给到那么多的工资,没有在二线城市生活过体验过的互联网环境我觉着贸然去指责别人不是太好,或许是我太过于井底之蛙,但就我接触到的济南软件市场月薪1w以上的真的寥寥无几。
总结一下找工作太简单了,不去考虑薪资待遇等问题,只要老板肯出钱就去上班不就得了。
当然这不是我们想要的答案,无论什么时候优秀的人从来不愁找不到工作,虽然网上都在说30岁以后的程序员就找不到工作了,但是我身边30岁以上的朋友大都自己创业了又或者成了某某公司的管理层,所以在未雨绸缪之际不断的提升自己才是硬道理,我们总是习惯性的去要求别人怎么样,而忽视了自己才是最信得过的人。
我马上就要离职了,也许这将是我最后一份php开发工作,未来的路还很长,我时常在想除了做软件开发我的生活是不是还有其他的可能性,我也不想一镜到底,期待未来的生活更加美好。
最后送给正在奋斗的同行一句话:相信自己,你是最棒的。
感谢大家的观看。
程序员的学历真的很重要么?
你的学历决定了我要不要了解你的能力,你的能力决定了我要不要否定你的学历。
我没有在网上查询过程序员的学历统计,也不说“我朋友”、“我同学”的那些事儿,就说一说我真实遇到过的经历。
我从大学毕业到现在,在北京工作12年了,一直都是从事软件开发的工作,在外包公司待过,也在甲方公司待过,在这个过程中认识了不少程序员,大部分都是本科学历,最低也是大专;而现在的单位招人,最低也需要一本,身边更多的是985/211学校的毕业生,还有不少都是研究生以上学历(博士相对少)。
而我是最低要求这一档的,普通一本;我现在比较后悔的一件事就是,当时填报志愿的时候(我们那时候是先考试,估分报考志愿,最后出成绩),估分很准,但是错误地估计了武大的分数线;不然随便报个一般点儿的985/211都是没啥问题的;所以导致我现在想进一些更好点儿的单位,基本上都没有面试机会。
能力非常高,要高到忽略你的学历如果你能力非常高,确实可以让招聘单位忽略你的学历,但是一定要认清一个事实,大多数【能力非常高但是学历低】的人,多少是有一些天赋的。
单位找过一个大神来公司做网络安全方面的讲座,自称是高中毕业,上了个网络教育的本科,但是年级轻轻就就职于国内知名的网络安全公司,并且当上了一个重要项目的负责人。
但是还是要再次提醒,这里的【高到忽略你的学历】的【高】,真的是非常高,一般人很难达到这个高度。
咱们这些凡人,学历还是挺重要的对于程序员,学历或多或少是有一些影响的,影响最大的是这几类:
校招的时候,学历很重要:更高的学历和更高的学校,会让你的选择更多一些;甚至有一些企业的校园招聘会,只在985学校召开;而且这些学校的计算机毕业生,只要大学四年不是荒废度过,几乎是供不应求;
现在软件开发比较前沿的领域,比如大数据、人工智能、深度学习,校招都会要求最低研究生学历。
国企央企,学历是第一道坎儿:现在很多国企央企,都大量的招聘程序员,比如银行、基金、保险公司,他们社招的时候会设置最低学历的,比如必须是一本,或者必须是研究生,这也就是说,如果你学历达不到标准的话,基本上连第一轮笔试面试的机会都不会获得的。
当然也别太灰心,很多时候学历确实是敲门砖,但是只要能面试通过,后续的升职加薪、绩效考核,能力还是占主要原因的(我就见过工作能力极低的北清);
等工作几年再跳槽的时候,学历的影响也会越来越小,我身边就有不少大专学历的,都就职于大型的互联网单位,工资待遇跟高学历的相比,也没有什么差距哟。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。如何提高大学生面试成功率?
年轻人们狠下心来决心跳槽,好不容易把简历改的像模像样,可最后还是因为面试没过,导致前功尽弃。
于是,他们问我,面试到底有没有技巧,能够提升面试成功率?
答案当然是有,而且绝对的职场面试秘诀。
面试时间尽量往前移,不可拖很多年轻人都是在职内跳槽,骑驴找马本身就压力比较大,一来要防止领导发觉自己在找工作,二来并不太容易请到假。
于是每天有了面试电话,他们的第一反应就是拖。比如有些人把面试时间拖到半个月之后,想着半个月时间内还有其他面试,到时候统一安排到同一时间,便于请假和避免被发现的风险。
殊不知,面试讲究的就是抢占先机,你可以耗得起时间,但公司还等着尽快招到人,尽快让人把岗位职责担当起来。
等你觉得时间合适了,准备去面试了,也许岗位的offer早就发给其他人了,你不过只是面试的陪练罢了,或者直接被取消了面试资格。
所以,面试不可拖延,在能够保证的时间内,尽快去面试。
面试前了解公司背景截止收到面试电话到正式参加面试,你身上所有的硬件(学历、工作年限、工作经验等)已经无法改变,而专业技能无法在短时间有所提升,唯一能做的就是了解面试公司到底是何方神圣。
假如你面试的是华为、阿里巴巴等知名公司,面试中问到对公司的印象,好歹能说几句任正非和马云的经典名言,聊起狼性文化和最后悔创立了阿里巴巴也能说了一二三四。
假如面试的是不太知名的公司,面试官问起对公司有何了解,你要是卡壳在公司是做什么,那就那就太不应该了。
所以面试前最好网上了解下公司主营业务、行业内的知名度、企业文化、公司董事长等等,一旦问起来,你好歹能够侃侃而谈说上几句,绝对会大大增加面试官对你的印象。
就好像面试官会提前熟悉你的简历,你至少对公司有所熟悉,做到对面试公司基本的认知和基本的尊重。
熟悉你的简历,做到有问有答比方说,面试官看到你的简历上写着有过某项目经验,让你稍微介绍下项目和个人在其中负责的内容。
而有些人甚至用迷茫眼神看着面试官,内心独白是:确定是我的简历上面的内容吗?
如此一来,面试官会对简历上的内容有了造假的怀疑。 其实并不是你没做过这个项目,而是真的忘记了。
很多人只会在跳槽前把现有工作经历往上填,而之前简历上的内容没删没看没注意,直接把简历投了出去,有的甚至是三五年前的工作内容了,不忘记才怪。
面试前一两天,最好每天抽点时间认认真真看看简历上到底写的是什么,忘记的内容想一想,模糊的内容记清楚点,要做到有问有答,而不是吞吞吐吐、模糊不清。
主动透漏,你会很稳定的待下去年轻人都喜欢跳槽,或许薪资问题,或者个人问题,或者领导问题,只要想跳槽,就能够找到千万条离开的理由。
而站在公司角度来看,从确认空缺岗位,到完成招聘,到入职培训,期间需要花费巨大的精力和金钱。
对于公司来说,考察员工的稳定性尤为重要。 换句话说,你的稳定性能够在面试中加分。
所以有意无意的需要给面试官透露出,你来到这家公司是带着稳定发展的目的,不会随随便便跳槽。
比如面试官问你为何想来我们公司?你的回答除了说公司平台好、发展不错、个人发挥空间大之类恭维的话之外,还可以说离家近、离爱人/女朋友公司近之类的话,即便不是真的。
这样从主观上就拉进了你和公司的距离,若是两位候选人评分差不多的情况下,绝对优先录取你。
最终boss,搞定面试官面试的终极目标就是搞定面试官。
曾经见过一位候选人,由于管理理念和面试官相符,从基础员工的管理,到中层主管的管理,侃侃而谈了三个多小时,甚至最后二人在会议室抽着烟、聊着天。 不录取他,能录取谁呢?
假如面试的技术岗位,能说十分留三分不说,不能一张口就是上知天文下知地理,说起其他人或者公司,总是一副高高在上的表情,这是面试大忌。
面试你的人通常是部门领导,你越是表达自己有多能,他们越担心日后被你取代。 所以能说十分留三分不说。
假如面对的是公司中高层领导,别捡些芝麻绿豆的事,要说就谈谈未来的方向和规划,往大的层面去考虑。
站到中高层角度来看,他们不会在意小事,所以你要懂得聊天,懂得找面试官擅长的方面去聊。
从毕业到现在,大大小小面试不下几十场,从没有失手过,面试无非就是这么几点。
自学java?
答案分为 学生版 与 非学生版(光收藏不点赞可耻,拒绝伸手党,从点赞做起!)
学生版
哈工大本硕985,北京公司,收到去哪儿(13K*16),华为,vipkid(18*14),茄子快传(20*16),创新工厂(12*13),秒针(18*16)offer,目前最低的月薪12K*13,最高的华为优招20K*16,最终还是签了百度毕竟bat,职位java开发工程师今年给的还挺多。
可以说我应该达到了题目中所说的北京java开发月薪2W的标准,来答一发。
--------------------------------------------------------------------------------
为了避免知乎大佬觉得我吹逼,把目前收到的offer图贴出来(应评论区建议,已经把名字打码,谢谢提醒)。有人需要联系方式,放一下微信公众号 程序员乔戈里 个人微信在公众号里面可获得。另外我要有3T的编程资料,需要的可以加我微信!!!
-----------------------------------------------------------------------------
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
-----------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
以下开始讲述一些我找工作的经验,希望对大家有帮助(觉得有帮助的,记得点个赞关注走一波,谢谢大家)
----------------------------------------------------------------------------------------------
一.简历篇
我是使用的乔布简历,在里面买了一个模板,本科还是免费的,研究生阶段就收费了,呵呵。
(1)个人联系方式
简历的话要把电话,email这些重要的信息放到显眼的位置,方便联系。
(2)技能掌握
熟悉 精通等词汇慎用(精通应届生就不要用了),我举一下我的java为何用了熟悉的例子,java看了《java核心技术卷1》《java编程思想》前几章《深入了解java虚拟机》前7章,《java并发编程的艺术》《java多线程编程核心技术》还看了一堆网上的博客,看了这么多我才写上了熟悉java。
了解的话适用于只是看过一点书,只是一种浅尝辄止的感觉,比如你只是通过刷了刷面经,了解了一些数据库的面试常见的问题,那么这种就应该用了解。一般都写上了解吧,你应聘啥工程师,对应的语言写上熟悉。
(3)荣誉奖励
奖学金,优秀干部,竞赛获奖,paper啥的都往上怼,多多益善。
(4)项目
项目篇很重要,基本面试的第一个环节都是扣你的项目。
项目一定要准备1到2个亮点(难点)!!!
项目一定要准备1到2个亮点(难点)!!!
项目一定要准备1到2个亮点(难点)!!!
有些人看到这里就会说,我这项目水的一批,一点亮点都没有,咋整,全完了呀,别慌,听我给你吹一波。
一开始我第一次面试的时候(第一次就去面阿里,我也是胆贼大),阿里面试官上来就怼项目,
问我这是啥,那是啥,我说了以后,他就问着玩意底层是咋实现的,我用的是一个开源的爬虫,然后我就说我只会用,底层没有看过,他估计很失望;然后他问我的项目亮点是啥,我当时一下愣住了,扯了一些有的没的,都是失败的惨痛的教训,大家参考参考就好,不一定就一定要照着我学,非要知耻而后勇,咋提前准备好也是不错的。
经过这次惨痛的教训以后,我就开始有意识地去想一些项目的亮点,即使不是我遇到的问题,我强行把这些问题加到我的项目上面,当做我的项目亮点。
亮点举例:我的第一个项目的我说我负责舆情监控项目的地域分析,这个模块其实平平无奇,很水,就是利用一个开源的NER命名实体识别的包去识别出来新闻正文的地点,然后统计地点出现的次数这样的一个简单的模块。我就这样吹:最深刻的一个项目就是最近做的网络舆情监控项目,其中我在里面有负责一个地域分析模块,就是从最新爬进来的新闻数据里面提取出来地域信息,最后在地图上显示出来,当时把后台模块写好了以后,是可以在本地的windows系统上运行的,然后导出jar包的时候,想把jar包在linux系统上运行起来,但是一运行就显示OOM内存溢出错误,当时遇到的这个问题的时候第一时间想起来了以前看的关于虚拟机方面的书,于是我在虚拟机的配置上添加了一个-XX:+HeapDumpOnOutOfMemoryError,尝试将dump文件保留到本地,然后采用了jmap命令去分析这个dump文件,发现代表老年代的参数Old Generation每次一启动都是一直满着的,然后去看了虚拟机的配置参数,发现虚拟机中的-xmx参数只有256M,而程序需要的内存大小为500M(因为需要加载一个MIT的提取名词的包),所以最后通过设置成1024M解决了这个问题,我感觉通过这个学到了很多。在项目中扮演了核心角色,独立完成了地域分析模块。
示例看不懂也没关系,这个得有一定的java虚拟机的知识才可以看懂,推荐看《深入了解java虚拟机》
看到这里,你完全可以把我的这个项目的这个亮点融合到你自己的项目里面,换个背景就是你的项目亮点了,我上面推荐的《深入了解java虚拟机》里面也有很多虚拟机调优的经验,你可以看懂之后,把这些融合到自己的项目里面,完全是可以的。
除此之外,关于项目还有一个问题:就是你看了我的简历,会发现许多项目都是与爬虫相关的,面试管会问你在爬虫上你遇到了啥问题,这种完全可以上网去搜爬虫和反爬虫的技术博客,然后理解记忆,说给面试官听。说到这里,其实也就是在说,你的项目可能涉及到的点你都得有准备,有备无患,你如果不知道自己项目涉及到哪些点,那么可以通过一些公司练练手,他问到的一些问题,就有可能是你的项目需要准备的点。
-------------------------------------------------------------------------------------------
二.简历投递篇
(1)官方网申
学历不好的,不建议这走这条路,容易被刷,985/211也有一定几率被刷。
(2)内推
关注 牛客网互联网求职神器和备考学习平台 的内推信息,都是真实可靠的,虽然不一定免笔试,但是可以保证你简历不被刷啊!!!
微信公众好 互联派 也有很多内推的信息,值得关注。
(3)内推完之后的添加个人信息
强推 牛客网简历助手 助手介绍_牛客简历助手-简历一次填写,N网闪填__牛客网
爽的一批,谁用谁知道,你填写完牛客网的简历助手,进来其它求职网站的时候,可以把插件调出来,如果调不出来,多点几下,自己摸索哈。
三.笔试面试篇
提前批:一般公司的提前批是面笔试的,这个机会一定要抓住,提前批不耽误正常网申流程,相当于多了一次机会。(其实你每次应聘都是会有记录的,现在的面试官可以看到你所有的过往的面试记录,但我觉得影响不大,你这次能过和上次没过还是取决于你自己的实力,能不能打动面试官)
笔试:就算你内推成功了,也会有极大可能笔试,如果你算法功力强,可以独当一面,那么不用看这里,直接跳过,如果你算法一般的话,我说一下我在秋招过程中看到的一些其他人是怎么办的。周围人一般都是三五成群,算法题互相说思路,基本知道思路就知道咋写了,也有的比如他1道题AC了,他是C++版本的,其他人把这个AC代码改成了java版本等等,也可以请周围大神帮忙A几道等等,其实周围同学的算法功底真的说不上多强,反正是通过这种方法也算是把笔试给过了。其实笔试题吧,你把剑指offer刷一刷,leetcode刷个几百道(建议一个tag一个tag的刷),问题不大,我是通过刷leedcode,然后感觉这些公司的笔试题也就那么回事,还OK,当然阿里笔试题另说,还是A不了,真的变态!!!
面试:面试这个就看平时积累了。电话面试视频面试其实还是有一定操作空间的,现场面全凭自己实力。
四.平时积累篇
-------------------------------------------------------------------------------------------
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
--------------------------------------------------------------------------------------------
1.数据结构与算法篇
你是java开发你就用java代码去实现,是C++开发就用C++去实现。
书籍参考:
(0)《图解算法》入门
(1)《剑指offer》 剑指Offer_编程题_牛客网
(2)《程序员代码面试指南 IT名企算法与数据结构题目最优解》参考左神视频
(3)leetcode LeetCode The World's Leading Online Programming Learning Platform
leedcode注意去英文官网,别去中国区,中国区讨论区讨论的少。
leedcode 注意一个tag一个tag的刷,例如动态规划,就把动态规划下的题目都刷了,基本刷个10多道,其它也基本有思路了,而且动态规划的题目笔试面试也常出。其次就是二叉树,链表,数组,回溯的题目。
(4)数据结构(严蔚敏)/大话数据结构 //如果觉得教材无聊就可以看大话系列
需要掌握的知识点:
数组、链表、二叉树、队列、栈的各种操作(性能,场景)二分查找和各种变种的二分查找(循环有序数组找最大值最小值找n,有序数组找最左下标,最右下标)各类排序算法以及复杂度分析(快排、归并、堆、冒泡、直接选择、插入排序)各类算法题(手写)理解并可以分析时间和空间复杂度。动态规划(笔试回回有。。)、贪心。红黑树、AVL树、Hash树、Tire树、B树、B+ 树(除了红黑树,其它要会插入删除查找,红黑树如果会更好,也算一个亮点)。图算法(克鲁斯卡尔算法、普林母算法、迪克拉斯算法)树的前序后序中序遍历的递归非递归实现,层次遍历,深度优先遍历,广度优先遍历递归与非递归实现排序算法常见排序算法小结 CSDN博客
排序算法递归与非递归的java实现版本:
Lintcode 快排递归与非递归实现 464. 整数排序 II java
Lintcode 464. 整数排序 II 冒泡排序三种实现 直接插入排序 直接选择排序 java
Lintcode 464. 整数排序 II 归并排序递归与非递归实现 java
2.海量数据篇
看这一篇就足够用了,什么bitmap,布隆过滤器都得知道。
教你如何迅速秒杀掉:99%的海量数据处理面试题 CSDN博客
3.计算机网络篇
参考书籍:《图解http》《图解TCP/IP》《TCP/IP详解卷1》《计算机网络(谢希仁)》
知识点:
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
4.数据库篇
参考书籍:《高性能MySQL》 《MySQL技术内幕:InnoDB存储引擎(第2版)》
知识点:
5.操作系统篇
参考书籍:
知识点:《操作系统精髓与设计原理(原书第6版)》
LRU会手写一个LRU的set与get的时间复杂度是o(1)的代码
6.Linux命令篇
参考书籍:《linux 鸟哥的私房菜》
7.安全加密
8.重头戏java篇
基础篇:
推荐书籍:《Java程序员面试笔试宝典-何昊》突击java面试的好书啊!!!
《写给大忙人看的JavaSE8》 《深入理解Java虚拟机:JVM高级特性与最佳实践》
《JAVA并发编程实战》《Java多线程编程核心技术》《java核心技术卷1》
1.基础篇:
2.集合篇:
3.锁
4.多线程
多看看《Java多线程编程核心技术》这块就没问题
5.jdk中的concurrent 俗称juc包
都要搞懂底层原理!!!
都要搞懂底层原理!!!
都要搞懂底层原理!!!
6.java虚拟机
主要看《深入理解java虚拟机》
7.设计模式
参考书籍:《大话设计模式》
知道每种设计模式是啥意思,可以手写一个单例模式,手写适配器模式,工厂模式,观察者模式,装饰器模式。
知识点:
----------------------------------------------------------------------------------------------
基本把我上面列的知识点都搞懂,算法题都刷地明明白白的,不说battmd这些公司,至少我觉得互联网前50+
如果没有项目经验,想做项目,可以推荐你去淘宝上去买黑马视频,照着整个java web的项目、
-----------------------------------------------------------------------------------
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
关注我的公众号 现名字:程序员乔戈里
在后台回复:面经 按照要求即可获取到我的面经,也算是对我继续输出干货的一种鼓励。谢谢大家!!!
-------------------------------------------------------------------------------------------
1.实习对于找工作的作用???
答:很重要,也不重要。很重要:实习经历的作用:1.面试都是有固定的时间,比如一些公司规定一次面试最短时间是40分钟,你如果做过实习,可以好好加工一下你的实习经历,使劲吹,可以占个10分钟多点时间,然后后来问你的东西就少了些;2.学历不好的可以通过一些实习经历获得大公司的笔试面试的机会;3.在同等面试表现的前提下,有实习经历的优先考虑
不重要:
春招的暑期实习和提前批的时间冲突,春招的暑期实习和提前批的时间冲突,春招的暑期实习和提前批的时间冲突,(如果你现在距离秋招的8月还有挺长时间,如果获得实习机会直接就去,如果是7月和8月的实习得慎重,实习也不一定能留用)所以你如果春招找到的实习不是自己想最后工作的小公司,那么不建议去实习,不如好好准备秋招。如果是心仪的部门和岗位比如BAT之类的可以去实习。假如去实习了,一定要关注转正的事,好好努力,同时也别忘准备秋招,晚上和周末看书刷题看面经。没转正立马走人准备秋招。(实习的时候也可以投提前批电话面试,楼主当初没投,其实可以投几个单独招聘的提前批,比如百度很多部门都是自己招聘提前批的,不走系统,过了才录入系统)
完全可以用实习这段时间,好好复习,准备提前批也是个不错的选择,当然如果你前期准备充分,那么可以去实习,如果你时间已经非常紧了,比如你6月份才开始准备,人家8月份就提前批了,你去不去实习就得好好衡量了,大厂的实习一定要去,秋招加成不少。
2.啥时候开始准备?
现在!!!现在!!!现在!!!
3.没有java开发的项目咋办???
答:0.关注我的公众号:原名字:HIT程序猿的日常 现名字:程序员乔戈里
在我的公众号有我做过的一些项目的源码分享,以及一些练手项目的视频教程。
1.去淘宝买黑马的视频,照着做一个javaweb的项目,然后使劲扣项目,到时候就是和面试官吹,30元左右,没钱买的话,大家可以在我评论下众筹一波,哈哈哈啊哈哈哈。
2.淘宝买牛客网的项目视频,听说叶神的项目不错;
4.HR面试
一顿跪舔就行,就是你们公司真好,你自己罗列个123哪里好;女朋友,有也说没有(也可以说有,女朋友就在xx公司的地方上班/上学);父母不干涉决定;薪资,互联网的普遍薪资就行(适用于第一份offer,以及非常想去的公司)。总之就是求生欲强一些。
5.答主,我选算法还是开发呀?
你如果是北京时间2018.10.3号看见了我这篇回答,而且自己本身的学历不错本硕985/211专业都是计算机相关的,那么我强烈建议你选算法。原因有:1.算法工资比开发高;2.算法比开发轻松;你会说算法难啊,不好找啊!!!我不知道你怕啥,你就硬着头皮去整(每天高三一般的生活,如果你每天吊儿郎当的,最后没找到,怪我了,那你滚一边去哈,我不背这锅),你本身条件不错,最后肯定会有offer。而且有的公司,就算你算法不行,会问你可以转开发不,所以搞算法何乐而不为呢???
如果你是距离2019年或者8021年的临近秋招前的2-3个月时间看到我这篇回答,而且你学历不是很好,那么我建议你去整开发。
上述说的情况也不完全适用,反正就是follow your heart!!!
6.答主你咋不回复我评论啊???
你都不赞我,我也不想回复你。。。。
7.java开发需要看的书籍推荐???
具体请查看我的专栏文章
Java后端书架
非学生版
一、基础篇JVM
JVM内存结构
堆、栈、方法区、直接内存、堆和栈区别
Java内存模型
内存可见性、重排序、顺序一致性、volatile、锁、final
垃圾回收
内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定
JVM参数及调优Java对象模型
oop-klass、对象头
HotSpot
即时编译器、编译优化
类加载机制
classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)
虚拟机性能监控与故障处理工具
jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler
编译与反编译
javac 、javap 、jad 、CRF
Java基础知识
阅读源代码
String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSet
Java中各种变量类型熟悉Java String的使用,熟悉String的各种函数
JDK 6和JDK 7中substring的原理及区别、
replaceFirst、replaceAll、replace区别、
String对“+”的重载、
String.valueOf和Integer.toString的区别、
字符串的不可变性
自动拆装箱
Integer的缓存机制
熟悉Java中各种关键字
transient、instanceof、volatile、synchronized、final、static、const 原理及用法。
集合类
常用集合类的使用
ArrayList和LinkedList和Vector的区别
SynchronizedList和Vector的区别
HashMap、HashTable、ConcurrentHashMap区别
Java 8中stream相关用法
apache集合处理工具类的使用
不同版本的JDK中HashMap的实现的区别以及原因
枚举
枚举的用法、枚举与单例、Enum类
Java IO&Java NIO,并学会使用
bio、nio和aio的区别、三种IO的用法与原理、netty
Java反射与javassist
反射与工厂模式、
Java序列化
什么是序列化与反序列化、为什么序列化
序列化底层原理
序列化与单例模式
protobuf
为什么说序列化并不安全
注解
元注解、自定义注解、Java中常用注解使用、注解与反射的结合
JMS
什么是Java消息服务、JMS消息传送模型
JMX
、
泛型
泛型与继承
类型擦除
泛型中K T V E
object等的含义、泛型各种用法
单元测试
junit、mock、mockito、内存数据库(h2)
正则表达式
常用的Java工具库
,
什么是API&SPI异常
异常类型、正确处理异常、自定义异常
时间处理
时区、时令、Java中时间API
编码方式
解决乱码问题、常用编码方式
语法糖
Java中语法糖原理、解语法糖
Java并发编程
什么是线程,与进程的区别阅读源代码,并学会使用
Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock、Atomic*、Semaphore、CountDownLatch、、ConcurrentHashMap、Executors
线程池
自己设计线程池、submit() 和 execute()
线程安全
死锁、死锁如何排查、Java线程调度、线程安全和内存模型的关系
锁
CAS、乐观锁与悲观锁、数据库相关锁机制、分布式锁、偏向锁、轻量级锁、重量级锁、monitor、锁优化、锁消除、锁粗化、自旋锁、可重入锁、阻塞锁、死锁
死锁volatile
happens-before、编译器指令重排和CPU指令重
synchronized
synchronized是如何实现的?
synchronized和lock之间关系
不使用synchronized如何实现一个线程安全的单例
sleep 和 waitwait 和 notifynotify 和 notifyAllThreadLocal写一个死锁的程序写代码来解决生产者消费者问题守护线程
守护线程和非守护线程的区别以及用法
二、 进阶篇Java底层知识
字节码、class文件格式CPU缓存,L1,L2,L3和伪共享尾递归位运算
用位运算实现加、减、乘、除、取余
设计模式
了解23种设计模式会使用常用设计模式
单例、策略、工厂、适配器、责任链。
实现AOP实现IOC不用synchronized和lock,实现线程安全的单例模式nio和reactor设计模式
网络编程
tcp、udp、http、https等常用协议
三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包
http/1.0 http/1.1 http/2之前的区别Java RMI,Socket,HttpClientcookie 与 session
cookie被禁用,如何实现session
用Java写一个简单的静态文件的HTTP服务器
实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”了解nginx和apache服务器的特性并搭建一个对应的服务器用Java实现FTP、SMTP协议进程间通讯的方式什么是CDN?如果实现?什么是DNS?反向代理
框架知识
Servlet线程安全问题Servlet中的filter和listenerHibernate的缓存机制Hiberate的懒加载Spring Bean的初始化Spring的AOP原理自己实现Spring的IOCSpring MVCSpring Boot2.0
Spring Boot的starter原理,自己实现一个starter
Spring Security
应用服务器
JBosstomcatjettyWeblogic
工具
git & svnmaven & gradle
三、 高级篇新技术
Java 8
lambda表达式、Stream API、
Java 9
Jigsaw、Jshell、Reactive Streams
Java 10
局部变量类型推断、G1的并行Full GC、ThreadLocal握手机制
Spring 5
响应式编程
Spring Boot 2.0
性能优化
使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存
线上问题分析
dump获取
线程Dump、内存Dump、gc情况
dump分析
分析死锁、分析内存泄露
自己编写各种outofmemory,stackoverflow程序
HeapOutOfMemory、 Young OutOfMemory、MethodArea OutOfMemory、ConstantPool OutOfMemory、DirectMemory OutOfMemory、Stack OutOfMemory Stack OverFlow
常见问题解决思路
内存溢出、线程死锁、类加载冲突
使用工具尝试解决以下问题,并写下总结
当一个Java程序响应很慢时如何查找问题、
当一个Java程序频繁FullGC时如何解决问题、
如何查看垃圾回收日志、
当一个Java应用发生OutOfMemory时该如何解决、
如何判断是否出现死锁、
如何判断是否存在内存泄露
编译原理知识
编译与反编译Java代码的编译与反编译Java的反编译工具词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化
操作系统知识
Linux的常用命令进程同步缓冲区溢出分段和分页虚拟内存与主存
数据库知识
MySql 执行引擎MySQL 执行计划
如何查看执行计划,如何根据执行计划进行SQL优化
SQL优化事务
事务的隔离级别、事务能不能实现锁的功能
数据库锁
行锁、表锁、使用数据库锁实现乐观锁、
数据库主备搭建binlog内存数据库
h2
常用的nosql数据库
redis、memcached
分别使用数据库锁、NoSql实现分布式锁性能调优
数据结构与算法知识
简单的数据结构
栈、队列、链表、数组、哈希表、
树
二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树
排序算法
各种排序算法和时间复杂度 深度优先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据处理
大数据知识
Zookeeper
基本概念、常见用法
Solr,Lucene,ElasticSearch
在linux上部署solr,solrcloud,,新增、删除、查询索引
Storm,流式计算,了解Spark,S4
在linux上部署storm,用zookeeper做协调,运行storm hello world,local和remote模式运行调试storm topology。
Hadoop,离线计算
HDFS、MapReduce
分布式日志收集flume,kafka,logstash数据挖掘,mahout
网络安全知识
什么是XSS
XSS的防御
什么是CSRF什么是注入攻击
SQL注入、XML注入、CRLF注入
什么是文件上传漏洞加密与解密
MD5,SHA1、DES、AES、RSA、DSA
什么是DOS攻击和DDOS攻击
memcached为什么可以导致DDos攻击、什么是反射型DDoS
SSL、TLS,HTTPS如何通过Hash碰撞进行DOS攻击用openssl签一个证书部署到apache或nginx
四、架构篇分布式
数据一致性、服务治理、服务降级
分布式事务
2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC
Dubbo
服务注册、服务发现,服务治理
分布式数据库
怎样打造一个分布式数据库、什么时候需要分布式数据库、mycat、otter、HBase
分布式文件系统
mfs、fastdfs
分布式缓存
缓存一致性、缓存命中率、缓存冗余
微服务
SOA、康威定律
ServiceMeshDocker & KubernetsSpring BootSpring Cloud
高并发
分库分表CDN技术消息队列
ActiveMQ
监控
监控什么
CPU、内存、磁盘I/O、网络I/O等
监控手段
进程监控、语义监控、机器资源监控、数据波动
监控数据采集
日志、埋点
Dapper
负载均衡
tomcat负载均衡、Nginx负载均衡
DNS
DNS原理、DNS的设计
CDN
数据一致性
五、 扩展篇云计算
IaaS、SaaS、PaaS、虚拟化技术、openstack、Serverlsess
搜索引擎
Solr、Lucene、Nutch、Elasticsearch
权限管理
Shiro
区块链
哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭问题与算法、消息认证码与数字签名
比特币
挖矿、共识机制、闪电网络、侧链、热点问题、分叉
以太坊超级账本
人工智能
数学基础、机器学习、人工神经网络、深度学习、应用场景。
常用框架
TensorFlow、DeepLearning4J
其他语言
Groovy、Python、Go、NodeJs、Swift、Rust
六、 推荐书籍
《深入理解Java虚拟机》
《Effective Java》
《深入分析Java Web技术内幕》
《大型网站技术架构》
《代码整洁之道》
《Head First设计模式》
《maven实战》
《区块链原理、设计与应用》
《Java并发编程实战》
《鸟哥的Linux私房菜》
《从Paxos到Zookeeper》
《架构即未来》
以下是我的编程资料,还有其他的将近3T需要的关注我公众号程序员乔戈里:
最后推广一下我的公众号,名字:程序员乔戈里 公众号中有我的联系方式,有上述所以知识点的所有答案的面经整合版,也有我收集的一些java有关的资源,各种视频教程,我的一些校招经历,相关电子书籍,以及未来的干货分享,相信不会让大家失望,谢谢大家,来一波关注,谢谢,也算是对我的这篇回答的一个肯定,您的点赞与关注是我创作分享干货的源泉!!!您的点赞与关注是我创作分享干货的源泉!!!您的点赞与关注是我创作分享干货的源泉!!!