求职程序员难不难,其实是很难的,因为大家都知道作为技术人员你的水平怎么样,测试一下也就出来了。而且团队也是需要技术好的人一起并肩作战,并不会找一个什么都不会的小编,那提升自己的技术是很重要的。所以今天 陕西优就业小编给大家分享一篇代码面试题,希望对正在求职的你有所帮助。
找到仅出现一次的数字
数组中只有一个数字出现过一次,其余均出现过两次;找出出现过一次的数字解题思路:需要借助“两个相同的数进行`异或`运算结果为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方式并没有将数据加密。