算法知识点
1,分治与递归的区别,线性规划
2,股票收益如何最大化
分治,扫描
5,归并排序内存缓存法实现 paper
6,01 stable sort paper
8,大数乘法
10,表达式求值,逆波兰
11,暴力递归--》动态规划
12,红黑树,,跳表
14,递归时间复杂度公式
15,求第k小数
01 stable sort
1,单例
2,JVM机制
3, hashmap
5,大数乘法
6,排列组合数
1,java编程思想
2,java程序性能优化
3,设计模式
4,计算机网络
5,操作系统
6, 算法导论
7,剑指offer 编程之美 程序员面试宝典
8,linux
9,java面试宝典
一些准备找工作的问题
一、面试(初试,复试,hr面)
(1)形象要整洁;
(2)对应聘单位有一个好的了解(企业背景);
(3)保持良好的心态(当作正常沟通,大大方方);
(4)你的博客、做过的项目、app放在手机上;
(5)有充足的时间,提前一点到达面试地点;
(6)准备一些常见的知识应对问题(常用数据结构、算法(eg:快排、二分等))。
1、初试(招聘部分的直接人员)
主要考察专业能力、学习能力、逻辑思维、抗压能力。一般得70-80分可进入复试。
(1)专业能力:编程语言了解程度+计算机基本知识(网络、操作系统)+数据结构算法编码能力+项目实战经验 (比例至少占50%)。
是否能理解并深入理解面试官的问题,并能互动探索(数据结构、算法)
能回答各种问题,能快速得到正确答案,反应迅速、思维开阔,能抓住问题重点作深入分析、项目经验丰富---->sepcial offer
至少:无特别亮点但是大体能完成问题,细节考虑不周全但是能独立完成算法问题而不是在面试官的引导下。
加分:有亮点,算法好,引导下有变化,算法优化。项目、大公司实习过尤其在应聘公司竞争对手实习过。
需要准备:写代码,看书,做项目。掌握基本知识,依赖平时积累。坚持下来,BAT不在话下!
(2)学习能力:经常去的网站、博客,看什么书、源代码、中间件、组件的源代码等。(20%以上)
学习意愿,领悟快慢,是否有自己独到的学习方法?自己课外学习了更多知识、自己举一反三的学习经历。
在面试问题中体现举一反三。回答不出也要体现自己的好学,问我回答不出,能告诉我怎么解决吗?
至少:我会主动看东西,会自己下目标,会自己做东西。
优秀:举一反三,敏捷学习。
(3)逻辑思维:看应聘者是否会举一反三。面试官对问题追根问底,对应聘者进行潜力、压力测试,考察应聘者反应、聪明度。(10%以上)
考察应聘者的潜质,是否有工程师思维,会问一些逻辑难的问题。
优秀:思路清晰,回答问题时间短,思维正确,
至少:问题能理解、能推理,不唱时间卡壳,有反馈
会加插抗压能力考察,面试官对问题刨根问底。(eg:讲讲你最成功的事情,为什么是成功的,怎么再成功,怎么再成功?问解决抗压的办法,遇到一个大问题,时间 紧、问题难,怎么解决?)
优秀:从容,有压力就有动力,越压对你越有兴趣。不紧张,从容不迫的回答
至少:平和的回答,说我可能答不上来,需要时间想想。
初试过------>专业能力ok。
2、复试(资深领导)
从团队角度、发展角度考察应聘者。解决问题的能力+团队定位问题+对团队是否有价值,创新能力+向上的心,是否想做最好
eg:你遇到的人生最大困难是什么?以前的项目分工,你做什么,别人做什么,怎么协作,怎么解决问题?你觉得什么产品能打败腾讯?你觉得最新iphone6销售情况如何,怎么才能做到更好(追求卓越的心态)?
(1)团队协作
问题eg:几个人做的?说说你遇到的最不合拍最难的事情,怎么解决的?
回答eg:每个人都为了共同目标,每个人都有特长,肯定有冲突。主动分享自己信息,积极征求别人意见和建议,对别人做的事情表示尊重和感谢。
(2)解决问题的能力
你遇到的最大bug,怎么解决的,(工作时,自己调bug)
优秀:解决后再没犯过,自己做了总结,并且应用于其他方面。
怎么打败Tencent?未来什么技术最火爆?
不可回答不知道,相信没有什么是做不到的。
准备:成绩很重要,关心新技术,iphone6有什么新技术,iphone7应该什么样。
无标准答案,要敢说敢想,不要在第一次追问时就放弃。
复试过------>专业能力ok,发展潜质ok。
3、hr(人事)
考察人品、本性。是否符合公司价值观,人品正直诚信,信息真实。
表达你的长处,学习成绩,证书。不要马上问面试结果。
问假设性的话(你的好友犯了错,你怎么办?帮忙解决,一定要正面回答。)
问题可能与企业挂钩(eg:你了解我们公司吗,对我们公司产品的了解,为什么选择我们公司?你的职业规划是什么?(回答,正面向上的心态,追求更好,答城市、职位等符合兴趣爱好))
准备:了解背景,准备答案。体验公司产品,官网浏览。 要准备了解企业背景信息,是什么样的公司,什么行业有收入;要表达你对岗位的强烈愿望
需要注意的问题:
关于抗压能力:不要跟着面试官的节奏走,面试官快你要缓,思考一下再回答,不会的问题再问一遍,让面试官平缓下来再说不知道或说能不能给我一些提示。
hr面不要东摇西摆,深思后回答,不要断断续续。
关于薪资:一般offer,跟公司走;special offer,可谈。一般毕业生薪资统一。
问题举例:要体现自信、更好、正确的求职动机。
为什么没有当班干部?
我想更好的学习、考研,想做专业研究人员,不想做管理人员,所以不当班干部。有所得必有所失。
怎么才能打败腾讯?
考察创新能力和追求卓越能力,在未来产品、技术上打败tencent。
平时关注的网站博客?谁的?
平时参加线上活动,关注。看代码,问问题。CSDN适合初学者,github开源代码好,stackoverflow解决深度问题。
自身职业规划?
技术专家;技术管理。
你觉得你现在能力与一个好的程序员差多少?
反问好的程序员标准,回答我什么时候能达到。
证明学习能力好?
学习成绩好,聪明,学习快,有潜质。
单向链表找中间元素;整型数组快速去重(排序,位图模式,哈希映射)?
对语言要熟悉了解其原理,并会优化。
平时看什么书,上什么网站,网站好在哪里,你能学到什么?等
二、笔试:
90% 计算机系统知识(组成原理)+计算机网络+数据结构(30%--50%)+计算机操作系统
网络:TCP、UDP区别,TCP三次握手;http协议,抓包理解字段意思,200,400,500什么意思;IP,32、64编码格式,IP容量;层。
数据结构:语言,c,java;基本数据模型,数组、队列、堆栈的原理思想,代码实现、对外接口方法。(eg两个栈实现队列,两个队列实现栈,算法,编程题,数组去重)
操作系统:后台开发,线程进程;中断;生产者消费者问题;多线程同步。
10% 逻辑思维
不同职位的特殊要求举例:
Android:常用API,基本控件,实际操作几个项目。
机器学习:贝叶斯,决策树(信息增量),随机森林。(数据挖掘职位)
(1) 技术类的面试过程中,一般来说数据结构算法、项目实践中遇到的题目是主要问答内容。
(2) 没做过是你们拿得出手的项目也没去过什么大公司实习过,如果问关于做过什么项目的问题怎么办?
也许没有大公司经验,但是有一些问题自己尝试去做了并且有一些分析,也可以让面试官眼前一亮。重要的是你一定要自己尝试着去自己做一些项目,这个项目可以是你自己想的或者从网上看到的,自己来分析一下。至少要做过一些项目,并且深入的了解过这个项目的背景,在项目中承担重要角色。
你可以告诉你的面试官,你做过什么项目,你投入了多长时间,你深入分析了哪个模块、组件、功能。你得到了什么体会。你可以说,如果在一个大公司这个项目应该怎么走,怎么样才可以做的更好。
(3) 没有什么项目经验,不能去实习,怎么准备才能进入名企,java开发为例?
阿里比较重视java开发,阿里其实有很多的开源网站,里面有一些开源代码,你可以尝试通过这个渠道了解他们,驾驭他们,让他们对你有印象。
也许不是一个具体项目,就是一个开源代码项目,你可以加入,做自己的贡献,比如提问题,或者基于这个开源组件或代码做一些事情,你至少可以在面试官那里赢得一些好感分。你也从中能了解他们具体在做什么事情,更好的能让你在面试过程中把你擅长的或者经历表现出来,对他们来说也是很大的一个加分。
有自己的目标,围绕目标企业他们所活跃的社区去了解他们,阿里有很多开源网站,去网站搜索一下。(阿里是大公司,知识可通用,知识都是触类旁通,去其他公司也一样,在这里有一些沉淀以后,在其他地方也用的上。)
进bat仅仅书本上知识不够,要有一些项目上的经历。锻炼面试沟通过程中的基础能力,更好的表达自己。
(4)研究方向对找工作有帮助吗?
专业对口时很有帮助,密码学可以应聘安全岗位,很好的加分,云计算,云平台部门。 可在特别的岗位上有明显的优势。利用你的研究方向 在选择岗位时做到更高的匹配度。
(5)去大公司实习与好好学技术哪个对就业更有帮助?
去大公司实习是很有帮助的,但是去之前基础应该够牢固。去公司实习是基础牢固的进阶过程。去大公司实习不仅仅是做小事,让你更快的融入社会,更好的进图工作状态,从这一点讲实习有帮助。综上去大公司实习是毕业生都应该尝试和做的,早日学以致用,更好的适应社会,早日踏上工作岗位的状态。