1 面试流程
来源:互联网 发布:海南大学网络登录入口 编辑:程序博客网 时间:2024/06/05 14:56
2017年8月10日 10:34:32
1. 重要的编程习惯
* 思考清楚再编码
* 良好的代码命名和缩进对齐习惯
* 能够进行单元测试
需要掌握的部分:熟练地设置断点、单步跟踪、查看内存、分析调用栈
2. 面试前的准备
* 规划好路线并估算出行时间
* 准备好得体的姨夫
* 注意面试邀请函里的面试流程
* 准备几个问题(每一轮面试的最后可以提问)
3. 面试的三个环节
(1)行为面试环节
简短的自我介绍:用30s到1min的时间介绍自己的主要学习,工作经历即可。
简历的注意事项:
a.项目经验
建议使用STAR模型描述自己经历过的每一个项目:
* Situation:简短的项目背景
* Task:自己完成的任务:注意“参与”和“负责”的区别
* Action:为完成任务自己做了哪些工作,是怎么做的。
做软件开发的,可以写基于什么工具在哪个平台下应用了哪些技术
* Result: 自己的贡献。写得具体些,最好能用数字加以说明。比如完成了多少功能,修改了多少BUG。
面试官可能对此提出的问题:
* 在项目中碰到的最大问题是什么,你是怎么解决的?
* 从这个项目中,你学到了什么?
* 什么时候会和其他团队成员合作,有什么样的冲突,如何解决?
针对每一点,应该提前做好准备。
在介绍项目经验时,不必要详述项目的背景,而是要突出介绍自己完成的工作以及取得的成绩。
b.掌握的技能。
注意: “了解”,“熟悉” 和 “精通”的区别。
* 了解: 对某项技术只是上过课或者看过书,但没有做过实际的项目。不建议在简历中列出只是肤浅地了解
一点的技能,除非这项技术应聘的置位的却需要。
* 熟悉:简历中描述的技能大部分应该是“熟悉”。如果我们在实际项目中已经有较长的时间,通过查阅相关的
文档可以独立解决大部分问题,那么我们就熟悉它了。
* 精通:慎用。
(2)技术面试环节
面试官关注的5中素质:
a. 扎实的基础知识
基础知识扎实全面,主要包括3个方面:编程语言,数据结构,算法。
* 编程语言:至少掌握一两门编程语言,掌握基础语法
* 数据结构:考察重点。需要熟练掌握:链表、树、栈、队列和哈希表等数据结构,以及它们的操作。
二叉树和链表的问题比较多。
* 注重查找和排序的算法:在了解各种查找和排序算法的基础上,重点掌握:二分查找、归并排序和快速排序。
b. 能写高质量的代码
关注边界条件,特殊输入等细节。
通常越是简单的问题,面试官的期望值就会越高。
写出的代码,鲁棒性要高:
例如:求链表中倒数第K个结点。
使用两个指针,第一个指针先走到k-1个结点,然后第二个指针和第一个指针一起走。
当第一个指针走到结束,第二个指针指向倒数第K个结点。
编程时,注意链表输入是否为空链表,链表的长度是否少于k,k是否为0,溢出等问题。
这种问题最好的解决办法:在动手写代码之前先想好测试用例,把问题考虑地尽量全面之后,再写代码。
写完代码之后,不要急着提交,心里默默运行,检查。
c. 分析问题时思路清晰
当遇到复杂问题时,要理清楚思路,尽量完成。
有以下几种方法,帮助理清思路:
* 举例使抽象问题具体化
例举简单的例子,帮助自己理解问题,同时可以向面试官提问,帮助理解。
* 画图使抽象的问题具体化
比如抽象的数据结构,画图帮助理解
* 分解使复杂的问题简单化
分解成若干简单的子问题,再一一解决。
d. 能优化时间效率和空间效率
当面试官出的问题有多种解法时,通常会期待应聘者能够给出最优解。
这是,就要熟悉各种数据结构的优缺点,并且选择合适的数据结构来解决问题。
熟练掌握常用算法,来优化代码。面试中最常见的是查找和排序。
e. 优秀的综合能力
展现自己的软技能,比如自己的沟通能力和学习能力。
在介绍项目经验或者算法思路时,观点要明确,思路清晰。
要有团队意识,不可高傲或者轻视合作者。
(3)提问环节
注意事项:
* 不要问和自己的置位没关系的问题
* 不要问薪水
* 不要立即打听面试结果
* 推荐问的问题与应聘的置位或者项目相关的问题。
如何问号这种问题?
一是面试前做好功课,到网上搜集资料,对公司的成立时间。主要业务、置位要求等都了然于胸
二是面试过程中留心面试官说过的话。
阅读全文
0 0
- 1 面试流程
- 英语面试流程
- 面试一般流程
- 电话面试流程
- thoughtworks面试流程
- Tumblr面试流程
- Ch1_面试流程
- 教师面试详细流程
- Android 面试流程
- 程序员面试流程
- 面试整体流程
- Chapter1 面试流程
- 华为社会招聘面试流程
- 招聘之面试流程总结
- 【面试】struts2的工作流程
- [面试系列]HTTPS交互流程
- java面试①整体流程
- HR完美的面试流程
- linux简介
- 3.4AP_HAL::RCInput and AP_HAL::RCOutput
- PyCharm注册码(破解方法)
- 最长上升子序列
- 自动装箱与对象一致性判断
- 1 面试流程
- kafka初步认识
- HashMap中如果key是自定义的类,为什么重写hashcode()和equals()
- Dijkstra (邻接矩阵的另一种实现)
- 半深入理解CSS3 object-position/object-fit属性
- 《Python基础教程》学习笔记——函数
- Android学习(五)Service学习(下)
- swiper如何实现动画效果-小练习初级入门
- # 仿QQ底部导航栏的自定义view