面试手写代码的经验分享

前言

今天分享一下自己面试的时候遇到的写面试题的经验分享。在面试的时候,分为视频面试和现场面试,接下来讲解着两部分。

视频面试

在我和我周围的同学参加过的公司里面,不在现场的面试会分为电话面试与视频面试;

电话面试的时候,电话面试大多数情况下都是让你去讲一下一个编程题的思路,你用语言描述出来就行,少部分情况也会可能突然让你打开电脑去开始视频面试看你写代码。

视频面试的话是肯定会让你写代码,这个不要抱着侥幸心理,放心,该来的还是会来。

其中视频面试写代码一种是牛客网,一种是远程桌面共享(PS:如果你有两个屏幕,扩展屏幕,那么接入对方的视频面试的时候会让你选择共享哪一个屏幕

牛客网视频面试

这里我收藏了一个牛客网的链接,还可以使用,需要的朋友可以自己去体会一下。

https://interview.nowcoder.com/interview/111930/interviewee?code=HubO&testDone=true#userCode

大体是下图这个样子,是可以在线运行的,所以你得自己去写测试用例,自己写的测试用例如果对了的话,然后给面试官讲一下你的思路就完事了。

面试手写代码的经验分享_第1张图片

这里给一个示例,测试用例就是find方法的输入,可以修改target不同的值,也就是第5行来当做不能的测试用例,下图是一个二分查找,对于3的话应该输出是true才对,你把这个代码写好,然后点击提交运行就可以得到输出结果,上面的房间已经用过了,无法修改代码了。

 1public class Main {
 2    public static void main(String [] args)
 3    {
 4        int [] nums = {1,2,3,5,7,9,11};
 5        System.out.println(find(nums,3));
 6    }
 7    public static boolean find(int [] nums,int target)
 8    {
 9        if(nums.length == 0)
10            return false;
11        int left = 0;
12        int right = nums.length-1;
13        while (left<=right)
14        {
15            int mid = left + (right -left) / 2;
16            if(nums[mid] == target)
17            {
18                return true;
19            }else if(nums[mid] > target)
20            {
21                right = mid - 1;
22            }else {
23                left = mid + 1;
24            }
25        }
26        return  false;
27    }
28}

远程桌面共享

另一种形式是远程桌面共享,面试官会让你在自己的电脑上打开自己熟悉的编程工具去写代码,写好以后,你自己写好向上述的测试用例,然后运行输出了正确的结果继续。

现场面试

现场面试一般都是给你一张白纸,然后让你手写代码,一般如果给出的是《剑指offer》的题目,你只需要写一个方法就行,不用向视频面试那样,不必写输入输出。

你写完以后,面试官会拿你的代码,然后让你讲思路,然后面试官会自己想一个测试用例,来用用脑子跑一下你的代码,你的代码应该首先看上去没有明显的错误然后是思路正确,就可以了。

结束语

面试中我和我周围的同学遇到的手写代码的情况就是这么多,其它还真没有遇见过,如果还有其他形式欢迎各位告知,至于如何把代码手写出来,那么就是需要练习了,我剑指offer的题目就把牛客网上的完完整整地刷了两遍,基本都能写出来,这就是我的经验,希望对你有帮助。

END

推荐阅读

我的2019校招

极有可能是你朋友圈最全的3T编程资料分享!!!

三位斩获百度C++后台开发offer大佬的口述分享!!!

扫一扫

面试手写代码的经验分享_第2张图片

有福利

你可能感兴趣的:(面试手写代码的经验分享)