值得收藏的手写代码面试题及思路解析

  求职程序员难不难,其实是很难的,因为大家都知道作为技术人员你的水平怎么样,测试一下也就出来了。而且团队也是需要技术好的人一起并肩作战,并不会找一个什么都不会的小编,那提升自己的技术是很重要的。所以今天 陕西优就业小编给大家分享一篇代码面试题,希望对正在求职的你有所帮助。

《值得收藏的手写代码面试题及思路解析》

       找到仅出现一次的数字

  数组中只有一个数字出现过一次,其余均出现过两次;找出出现过一次的数字解题思路:需要借助“两个相同的数进行`异或`运算结果为0”、“任何数和0进行`异或`运算都等于其自身”、“异或 运算满足交换律”;所有的数字进行异或运算的结果就是仅出现过一次的数字

  找到仅出现过两次的数字

  数组中只有两个数字出现过一次,其余均出现过两次;找出这两个出现过一次的数字解题思路:首先所有的数进行异或运算,运算结果转为二进制,找到为1的某一位(通过移位然后跟1进行与运算得到),这位必然是那两个单独出现数字进行异或的结果。将这一位为1的分为一组,为0的分为另一组;那么这两组必然每组包含一个只出现一次的数字,然后借助上题思路即可。

  判断单链表是否有环

  解题思路:双指针解决,设定两个指针,一个快指针,一个慢指针;每一时刻快指针移动脸部,慢指针移动一步,然后进行判断 如果快指针移动到链表最后一个元素,则说明没有环;如果快指针和慢指针指向相同元素,则说明有环。

  注意空指针问题

  返回一个有环单链表的入环节点

  解题思路:接上题,第一次相遇之后;其中一个指针回到起点;然后两个指针再同时开始移动并且不再区分快慢指针,每次都移动一步,再次相遇的位置即入环位置。

  �简述如何处理表单提交的中文

  处理表单提交的中文,分为两种情况,—是post方式提交表单、—是get方式提交表单。

  1.处理post方式提交表单时的中文,步骤如下:

  确保表单所在的页面按照指定的字符集打开,在HTML中设置如下:

  另外,在HTML中,将表单form的提交方式设置为POST。

  在服务器端按照上述设置的编码格式进行解码,代码如下:

  request.setCharacterEncoding(“UTF-8”);

  该行代码要在第一次使用raquest的时候进行设置。

  2.处理GET方式提交表单时的中文,步骤如下:

  使用meta确保表单所在页面按指定字符集打开,在HTML中设置如下:

  另外,在HTML中,将表单form的提交方式设置为GET。

  将从表单中获取的信息使用上述设置的字符集utf-8进行重新编码。

  例如:将从表单获取的username进行重新编码,代码如下:

  String username – request.getParameter(“username”);

  username = new String(username.getBytes(“iso-8859-1″),”utf-8”);

  3.简述GET和POST的区别

  GET和POST的区别如下:

  1.从提交的数据量上来说,get方式会将请求参数及参数值放在请求资源路径里面,携带的数据大小有限制,不适合提交大量的数据;post方式会将请求参数及参数值放在实体内容里面,理论上没有限制,适合大量数据的提交。

  2.从安全上来讲,post方式相对安全(困为请求参数及值存放在实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏)。但是要注意,post方式并没有将数据加密。

    原文作者:时间:2019-10-30 11:23:20
    原文地址: http://blog.itpub.net/69902581/viewspace-2661913/
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞