-
面试的3种形式
- 电话面试
- 共享桌面远程面试
- 现场面试
-
思考清楚后开始编码
-
良好的代码命名和缩进对齐习惯
-
能够进行单元测试
- 通常面试官出的题目都是要求写出函数解决某一问题,如果应聘者能够在定义函数之后,立即对该函数进行全面的单元测试,那就证明了自己有着相当专业的软件开发经验。如果应聘者先写单元用例,再写解决问题的函数,那么我相信面试官肯定会对你刮目相看。
-
应聘者需要具备的素质
- 基础知识扎实,包括编程语言、数据结构、算法等
- 能写出正确的、完整的、鲁棒的高质量代码
- 能从时间、空间复杂度两方面优化算法效率
- 具备优秀的沟通能力、学习能力、发散思维能力等
-
应聘者尽量避免以下四个“跳槽”原因
- 老板太苛刻
- 同事太难处
- 加班太频繁
- 工资太低
面试官总会格外关注 边界条件、特殊输入等看似细枝末节但实则至关重要的地方,以考查应聘者是否关注代码质量。
如果 在面试时遇到难题,我们有三种办法分析、解决复杂的问题:画图能使抽象问题形象化,举例使抽象问题具体化,分解使复杂问题简单化。
【软技能】IT行业知识更新很快,因此程序员只有具备很好的学习能力才能跟上知识更替的步伐。
- 应聘者提问环节
- 不要问和自己职位没有关系的问题。比如,你面个一线码农,你问面试官“公司未来五年的发展战略是什么?”,这明显不合适,除非你应聘CTO,面你的是CEO。
- 不要问薪水。在技术面试中不能谈薪水,要谈也等HR在场。
- 不要立即打听面试结果。
- 推荐问的问题是与应聘的岗位或项目相关的问题。
- 解法比较
- 第一种不能在多线程环境中正常工作
- 第二种虽然能在多线程环境中工作,但时间效率很低
- 第三种通过两次判断一次加锁确保在多线程环境中高效工作
- 第四种利用C#的静态构造函数特性确保只创建一个实例
- 第五种则利用嵌套类型的特性,做到真正按需创建实例,提高使用效率
数组,最简单的一种数据结构,它占据一块连续的内存并按照顺序存储数据。