面试的时候问了两个:
1.把单向链表给反过来;
方法三:
利用递归实现:
reverse(SqList &L,int i,int j){
//逆置顺序表L,递归实现
if(i<j){
L.elem[i] <-> L.elem[j];
reverse(L,i+1,L.length-i) //递归调用,实现参数传递
}
}//reverse 递归算法
i,j的初值是:1和l.length
=========start
typedef data int;
typedef struct ListNode {
ListNode *next;
data elem;
}ListNode, *pListNode;
pListNode reverse_list(pListNode list)
{
assert(list);
pListNode p, q, s;
/*
循环中,p指向旧链表的第一个结点,q指向新链表的第一个结点,
p不断的向后走直到遍历完旧链表,而q不断的前移。
*/
for (p = list, q = NULL; NULL != p ;p = s) {
s = p->;next; /* 保存旧链表的下一个结点 */
p->;next = q; /* 把一个结点从旧链表断开并变成新链表的第一个结点 */
q = p; /* q指针前移 */
p = s; /* p指针后移 */
}
return q;
}[/
===============end
struct link_elm{
void* pdata;
struct link_elm* next;
};
typedef link_elm* link;
link reverse(link p)
{
link ret=NULL;
link tmp;
while(P)
{
tmp=p;
p=p-> next;
tmp-> next=ret;
ret=tmp;
}
return ret;
}
2.还是单向链表,存储1到10,只给中间一个节点的指针,要求实现在链表里
删掉这个数。
笔试题:(13题,忘了俩。时限1小时。开头有“不必担心1小时做不完”的说
明。)
1.描述final和finally的不同。
2.有哪两种构造线程的方法?Which do you prefer?
3.说明以下四个线程相关方法的作用:wait()、sleep()、notify()、
notifyAll()。
4.简述以下四者的特征:java.util.Collection、java.util.List、
java.util.Set、java.util.Map。
5.improve以下code:
public class MyClass {
private void print() {
System.out.println("...");
}
public static void printAll(MyClass[] myclasses) {
MyClass first = myclasses[0];
first.print();
for(int i = 1; i < myclasses.length; i++) {
first = myclasses[i];
first.print();
}
}
}
6.Throw和Throws的区别。
7.输出啥?
class A {
static {
System.out.print(1);
}
public A() {
System.out.print(2);
}
}
class B extends A {
static {
System.out.print(3);
}
public B() {
System.out.print(4);
}
public static void main(String[] args) {
new B();
System.out.print(",");
new B();
}
}
8.编译通过否?
public class A {
private int i;
public A(int i) {
this.i = i;
}
}
public class B extends A {
private int j;
public B(int j) {
this.j = j;
}
}
9.Thread 1调用setI(),Thread 2调用getI(),会不会相互block?
public class testSync {
private int i;
public synchronized void setI(int i) {
this.i = i;
}
public int getI() {
return i;
}
}
若getI的实现改为如下,会不会相互block?
private static final Object o = new Object();
public int getI() {
synchronized(o) {
return i;
}
}
10.写一个singleton类,实现getInstance方法。
11.一个int数组,数值有正有负,求和最大的连续子数组。
============================
4. 请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
===============================
1:
What is the result when you compile and run the following code?
public class Test
{
public void method()
{
for(int i = 0; i < 3; i++)
{
System.out.print(i);
}
System.out.print(i);
}
}
Choices:
A.0122
B.0123
C.Compilation error
D.None of these
==================================
Re: 请问:泰为笔试都是什么方面内容?
发信人: marktwin(有时候也会孤单), 信区: job http://bbs.hiall.com.cn 大学生求职招聘论坛 这是前几年的,今年的有点变化,但基本上差不多 最后一道是: 12, -8, 5, 66, -21, 0 ,35, -44,7..... http://bbs.hiall.com.cn HiAll应届生毕业生求职 数字是我随便写的,求 任意长度 连续 数字的最大的和。上述数据答案为 89 好像还有两道线程的题目大学生求职招聘论坛 http://bbs.hiall.com.cn JAVA 1. 写出一个类Cat的定义 http://bbs.hiall.com.cn 大学生求职第一社区 2. 写出两种构造线程的方法 500强名企官方答疑专区 http://bbs.hiall.com.cn 3. 写出Java.Util.Collection, List, Set, Map的区别 4. 写出下面两种写法的优缺点 String str="hello world"; String str=new String("hello world"); http://bbs.hiall.com.cn 大学生求职招聘论坛 5. 判断下列哪些语句在编译时不会出现错误或警告: 2011校园招聘官方交流区 http://bbs.hiall.com.cn char c="a"; byte b=257; HiAll应届生毕业生求职http://bbs.hiall.com.cn boolean b=null; float f=1.3; int i=10; 6. Which of the following honors the component's preferred size? flowlayout gridlayout borderlayout HiAll求职社区,大学生求职第一社区,是广大应届生毕业生或在校生求职、交流、互动的论坛。 http://bbs.hiall.com.cn 7. 解释Transient关键字 8. 下列程序编译会出现什么问题? Class A { HiAll求职社区,大学生求职第一社区,是广大应届生毕业生或在校生求职、交流、互动的论坛。 http://bbs.hiall.com.cn public static void main(String args[]) { amethod(args); } http://bbs.hiall.com.cn 大学生求职第一社区 public static void amethod(String args[]) HiAll求职招聘论坛 http://bbs.hiall.com.cn { System.out.println(args); System.out.println(args[0]); 2011校园招聘官方交流区 http://bbs.hiall.com.cn } http://bbs.hiall.com.cn HiAll应届生毕业生求职 } 9. 写出程序运行结果 final stringbuffer s=new stringbuffer("can't change"); HiAll求职招聘论坛 http://bbs.hiall.com.cn s.append(",but I can do"); System.out.println(s); 大学生求职招聘论坛 http://bbs.hiall.com.cn 10. 写出程序运行结果 class B http://bbs.hiall.com.cn HiAll求职社区 { HiAll求职社区 http://bbs.hiall.com.cn private static Integer i = new Integer(30); http://bbs.hiall.com.cn HiAll求职社区 public static void main(String args[]) { Integer i = new Integer(10); Integer i1 = new Integer(10); int ii = 5; System.out.println(i + " " + i1 + " " + ii); 500强名企官方答疑专区 http://bbs.hiall.com.cn test(i, i1, ii); http://bbs.hiall.com.cn 500强名企官方答疑专区 System.out.println(i + " " + i1 + " " + ii); } 500强名企官方答疑专区 http://bbs.hiall.com.cn private static void test(Integer i, Integer i1, int ii) HiAll求职社区,大学生求职第一社区,是广大应届生毕业生或在校生求职、交流、互动的论坛。 http://bbs.hiall.com.cn { i = new Integer(20); i1 = B.i; ii += 10; } } 2011校园招聘官方交流区 http://bbs.hiall.com.cn 11. 编程计算N!,并计算输出5!和10!。 HiAll求职招聘论坛 http://bbs.hiall.com.cn 12. 写出Singleton类的方法getInstance()的定义。 |
=============================
面试的时候问了两个:
1.把单向链表给反过来;
2.还是单向链表,存储1到10,只给中间一个节点的指针,要求实现在链表里
删掉这个数。
==================
英语面试
==================
select * from 表1 a
inner join ( select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=192.168.0.2;User ID=sa;Password=XXXXXXX' ).数据库名.dbo.表名 ) b on a.标识列=b.标识列 select a.* from OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=seattle1;UID=manager;PWD=MyPass', pubs.dbo.authors ) AS a join b on a.关联字段=b.关联字段 |
============
实现线程的两种方式; Collection、list、set、map相同与不同; 关于变量的一个代码; 改写if 反转list; 构造函数与继承的问题; 算一个子串的和最大;基本上就这吧,做的还不错,做完就通知我今天面试了。=